diff --git a/README.md b/README.md index 0502fbc..9aa482a 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,22 @@ Ya existe una red europea, la **European Action Coalition for the Right to Housi ## Ideario -Borrador para la asamblea en [`docs/ideario.md`](docs/ideario.md). Propuesta: **«Una calle, todas las luchas»**, con cuatro ejes: *Techo* (vivienda), *Tierra* (ecologismo), *Sin fronteras* (antirracismo) y *Paz* (antimilitarismo). Lemas en ES, EN, PT, IT y FR. +Borrador para la asamblea en [`docs/ideario.md`](docs/ideario.md). Propuesta: **«Una calle, todas las luchas»**, con cuatro ejes: *Techo* (vivienda), *Tierra* (ecologismo), *Sin fronteras* (antirracismo) y *Paz* (antimilitarismo, con Palestina). Los feminismos atraviesan los cuatro. Lemas en ES, EN, PT, IT y FR. + +### La web: takethestreet.net + +![Portada de takethestreet.net](docs/web.png) + +`site/` es la web de takethestreet.net: HTML y CSS, sin JavaScript, igual que acampada26s.net. El deck va aparte, en `deck.takethestreet.net`. La portada cuenta el ideario de arriba abajo: + +1. **Portada**: el lema, los cuatro ejes con su color, el dibujo y tres botones (Únete, Encuentra tu acampada, Difunde). +2. **Quiénes somos**: dos párrafos, de Sol a una calle con todas las luchas. +3. **Cuatro ejes**: una tarjeta por eje, con una piña de monigotes en su color (los mismos colores que los regueros del dibujo: *Techo* naranja, *Tierra* verde, *Sin fronteras* amarillo, *Paz* azul). Debajo, la franja violeta de los feminismos. +4. **Acampadas** por país, más «¿Y tu ciudad?». +5. **Cómo nos organizamos**. +6. **Difunde**: etiquetas, el día 26 de cada mes y los logos para descargar. + +De momento solo en castellano. Los botones EN, PT, IT y FR apuntan a `en/`, `pt/`, `it/` y `fr/`, que faltan por traducir. También falta el correo o la cuenta de contacto para «¿Y tu ciudad?». Los iconos de los ejes se generan con `python3 tools/ejes.py site/img`. ## 3. El deck diff --git a/docs/ideario.md b/docs/ideario.md index d798c54..34a74ae 100644 --- a/docs/ideario.md +++ b/docs/ideario.md @@ -13,7 +13,11 @@ Nacimos en la Puerta del Sol el 26 de septiembre por la vivienda. La vivienda es 1. **Techo.** La vivienda es un derecho, no un negocio. Contra los desahucios, la especulación, los fondos buitre y la turistificación. Por la vivienda pública y unos barrios donde se pueda vivir. 2. **Tierra.** El planeta también es nuestra casa. Justicia climática: que paguen quienes contaminan, no los barrios. Ciudades verdes, transporte público y frenar la destrucción del territorio. 3. **Sin fronteras.** Ningún ser humano es ilegal. Regularización, fin de las redadas racistas y de los CIE, y los mismos derechos para quien vive aquí. -4. **Paz.** Dinero para la vida, no para la guerra. Menos gasto militar y más vivienda, sanidad y clima. Contra el comercio de armas y en solidaridad con los pueblos que sufren la guerra y la ocupación. +4. **Paz.** Dinero para la vida, no para la guerra. Menos gasto militar y más vivienda, sanidad y clima. Contra el comercio de armas y en solidaridad con los pueblos que sufren la guerra y la ocupación: con Palestina, alto y claro. + +**Feminismos en todo.** No es un quinto eje, sino una mirada que atraviesa los cuatro: las que más sufren los desahucios, las que sostienen los cuidados, las que cruzan fronteras. + +Cuatro ejes y no más, a propósito: así el paraguas es grande y cabe mucha gente. Palestina va dentro de *Paz* y los feminismos atraviesan todo. ## Cómo nos organizamos @@ -42,6 +46,6 @@ Propuesta: **«Una calle, todas las luchas»** como lema principal de takethestr ## Por decidir en asamblea -- ¿Entran otros ejes? Feminismos, Palestina como eje propio, trabajo y precariedad, sanidad y educación públicas… +- ¿Cómo encajan otras luchas, como el trabajo y la precariedad o la sanidad y la educación públicas? Propuesta: dentro de los cuatro ejes, sin abrir ejes nuevos. - ¿«Paz» o «Antimilitarismo» como nombre del cuarto eje? - ¿Qué colectivos firman? Lo propuesto: los de la acampada, sobre todo ecologistas, antirracistas, antimilitaristas y movimientos de vivienda. diff --git a/docs/web.png b/docs/web.png new file mode 100644 index 0000000..21b8ded Binary files /dev/null and b/docs/web.png differ diff --git a/site/css/web.css b/site/css/web.css new file mode 100644 index 0000000..29af4d5 --- /dev/null +++ b/site/css/web.css @@ -0,0 +1,88 @@ +@font-face { font-family: "League Gothic"; src: url("../fonts/league-gothic.ttf") format("truetype"); font-display: swap; } + +:root { + --bg: #fff; + --fg: #111; + --neon: #f04e23; + --techo: #f04e23; + --tierra: #14965a; + --fronteras: #f2b705; + --paz: #3b5bdb; + --feminismos: #8e44c9; + --bd: 3px solid var(--fg); + --bt: "League Gothic", "Arial Narrow", Impact, sans-serif; + --txt: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; +} + +*, *::before, *::after { box-sizing: border-box; } +body { margin: 0; background: var(--bg); color: var(--fg); font: 17px/1.55 var(--txt); } +a { color: inherit; } +img { max-width: 100%; } + +.cab { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 10px 20px; border-bottom: var(--bd); } +.firma { display: flex; align-items: center; gap: 12px; } +.firma .simbolo { height: 52px; } +.firma .logotipo { height: 34px; } +.idiomas { display: flex; gap: 6px; font: 20px/1 var(--bt); letter-spacing: .04em; } +.idiomas a { border: var(--bd); border-radius: 6px; padding: 4px 9px 2px; text-decoration: none; box-shadow: 3px 3px 0 var(--fg); } +.idiomas a[aria-current] { background: var(--fg); color: var(--bg); box-shadow: 3px 3px 0 var(--neon); } + +.portada { padding: 36px 20px 24px; border-bottom: var(--bd); text-align: center; overflow: hidden; } +h1 { margin: 0; font: 400 clamp(52px, 8vw, 112px)/.92 var(--bt); text-transform: uppercase; } +.ejes-lista { margin: 14px 0 0; font: 400 clamp(22px, 2.6vw, 32px)/1 var(--bt); letter-spacing: .08em; text-transform: uppercase; } +.c-techo { color: var(--techo); } .c-tierra { color: var(--tierra); } .c-fronteras { color: #c99500; } .c-paz { color: var(--paz); } +.calle { display: block; width: 100%; max-width: 1200px; height: auto; margin: 10px auto 0; } +.acciones { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 18px; } +.bt { font: 400 26px/1 var(--bt); letter-spacing: .05em; text-transform: uppercase; text-decoration: none; border: var(--bd); border-radius: 8px; padding: 12px 22px 9px; box-shadow: 4px 4px 0 var(--fg); } +.bt:first-child { background: var(--fg); color: var(--bg); box-shadow: 4px 4px 0 var(--neon); } +.bt:hover { transform: translate(-1px, -1px); box-shadow: 6px 6px 0 var(--neon); } + +.bloque { max-width: 1200px; margin: 0 auto; padding: 44px 20px; border-bottom: 1px dashed var(--fg); } +.bloque:last-child { border-bottom: 0; } +h2 { margin: 0 0 20px; font: 400 clamp(40px, 5vw, 64px)/1 var(--bt); text-transform: uppercase; } +h3 { margin: 0; font: 400 34px/1 var(--bt); text-transform: uppercase; letter-spacing: .02em; } +.intro p { max-width: 820px; margin: 0 auto 14px; font-size: 20px; } +.intro .fuerte { font-weight: 700; } + +.ejes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; } +.eje { border: var(--bd); border-radius: 10px; padding: 16px 16px 10px; box-shadow: 6px 6px 0 var(--c); } +.eje img { display: block; height: 120px; margin: 0 auto 6px; } +.eje h3 { color: var(--c); } +.eje .lema { font-weight: 700; margin: 6px 0; } +.eje p { margin: 0 0 8px; font-size: 16px; } +.e-techo { --c: var(--techo); } .e-tierra { --c: var(--tierra); } .e-fronteras { --c: var(--fronteras); } .e-paz { --c: var(--paz); } .e-feminismos { --c: var(--feminismos); } +.e-fronteras h3 { color: #c99500; } +.transversal { display: flex; align-items: center; gap: 18px; margin-top: 22px; border: var(--bd); border-left: 14px solid var(--c); border-radius: 10px; padding: 10px 18px; } +.transversal img { height: 90px; } +.transversal p { margin: 0; } +.transversal b { color: var(--c); } + +.paises { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; } +.pais { border-top: var(--bd); padding-top: 10px; } +.pais p { margin: 8px 0 0; } +.pais.nuevo { border-top-color: var(--neon); } + +.principios { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; } +.principios li { border-left: 4px solid var(--fg); padding-left: 12px; } + +.etiquetas { display: flex; flex-wrap: wrap; gap: 10px; font: 24px var(--bt); letter-spacing: .03em; } +.etiquetas span { border: 2px dashed var(--fg); padding: 2px 10px; } +.etiquetas span:first-child { background: var(--neon); color: #fff; border-style: solid; } + +.pie { border-top: var(--bd); padding: 18px 20px; text-align: center; font-size: 14px; } +.pie p { margin: 4px 0; } + +@media (max-width: 900px) { + .ejes, .paises { grid-template-columns: repeat(2, minmax(0, 1fr)); } +} +@media (max-width: 640px) { + .cab { flex-direction: column; padding: 10px 12px; } + .firma .simbolo { height: 40px; } + .firma .logotipo { height: 26px; } + .portada { padding-top: 22px; } + .calle { width: 150%; max-width: none; margin-left: -25%; } + .ejes, .paises, .principios { grid-template-columns: minmax(0, 1fr); } + .bt { font-size: 22px; } + .bloque { padding: 32px 14px; } + .intro p { font-size: 18px; } +} diff --git a/site/favicon.svg b/site/favicon.svg new file mode 100644 index 0000000..b864f45 --- /dev/null +++ b/site/favicon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/site/fonts/OFL-league-gothic.txt b/site/fonts/OFL-league-gothic.txt new file mode 100644 index 0000000..06b467d --- /dev/null +++ b/site/fonts/OFL-league-gothic.txt @@ -0,0 +1,93 @@ +Copyright 2010 The League Gothic Project Authors (https://github.com/theleagueof/league-gothic) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/site/fonts/league-gothic.ttf b/site/fonts/league-gothic.ttf new file mode 100644 index 0000000..2543bb2 Binary files /dev/null and b/site/fonts/league-gothic.ttf differ diff --git a/site/img/calle.svg b/site/img/calle.svg new file mode 100644 index 0000000..e14b7cf --- /dev/null +++ b/site/img/calle.svg @@ -0,0 +1,405 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/site/img/eje-feminismos.svg b/site/img/eje-feminismos.svg new file mode 100644 index 0000000..1150278 --- /dev/null +++ b/site/img/eje-feminismos.svg @@ -0,0 +1 @@ + diff --git a/site/img/eje-fronteras.svg b/site/img/eje-fronteras.svg new file mode 100644 index 0000000..476cf96 --- /dev/null +++ b/site/img/eje-fronteras.svg @@ -0,0 +1 @@ + diff --git a/site/img/eje-paz.svg b/site/img/eje-paz.svg new file mode 100644 index 0000000..5df06dc --- /dev/null +++ b/site/img/eje-paz.svg @@ -0,0 +1 @@ + diff --git a/site/img/eje-techo.svg b/site/img/eje-techo.svg new file mode 100644 index 0000000..ada65f7 --- /dev/null +++ b/site/img/eje-techo.svg @@ -0,0 +1 @@ + diff --git a/site/img/eje-tierra.svg b/site/img/eje-tierra.svg new file mode 100644 index 0000000..2903f10 --- /dev/null +++ b/site/img/eje-tierra.svg @@ -0,0 +1 @@ + diff --git a/site/img/logotipo-negativo.svg b/site/img/logotipo-negativo.svg new file mode 100644 index 0000000..2681fa7 --- /dev/null +++ b/site/img/logotipo-negativo.svg @@ -0,0 +1 @@ + diff --git a/site/img/logotipo.svg b/site/img/logotipo.svg new file mode 100644 index 0000000..4e29ad1 --- /dev/null +++ b/site/img/logotipo.svg @@ -0,0 +1 @@ + diff --git a/site/img/simbolo-negativo.svg b/site/img/simbolo-negativo.svg new file mode 100644 index 0000000..810abac --- /dev/null +++ b/site/img/simbolo-negativo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/site/img/simbolo.svg b/site/img/simbolo.svg new file mode 100644 index 0000000..b864f45 --- /dev/null +++ b/site/img/simbolo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/site/index.html b/site/index.html new file mode 100644 index 0000000..91ab9c4 --- /dev/null +++ b/site/index.html @@ -0,0 +1,115 @@ + + + + + +Take the Street · Una calle, todas las luchas + + + + + +
+ Take the Street + +
+ +
+
+

Una calle,
todas las luchas

+

Techo · Tierra · Sin fronteras · Paz

+ Una piña de gente de colores llena la calle + +
+ +
+

Nacimos en la Puerta del Sol el 26 de septiembre, por la vivienda. Hoy en las plazas estamos colectivos de vivienda, ecologistas, antirracistas, antimilitaristas y feministas, y las acampadas se extienden a Portugal e Italia.

+

No nos quitan la casa, el planeta, los papeles y la paz por separado. Es el mismo modelo, que pone el beneficio de unos pocos por encima de la vida de todas. Por eso salimos juntas a la misma calle.

+
+ +
+

Cuatro ejes

+
+
+ +

Techo

+

La vivienda es un derecho, no un negocio.

+

Contra los desahucios, la especulación, los fondos buitre y la turistificación. Por la vivienda pública y unos barrios donde se pueda vivir.

+
+
+ +

Tierra

+

El planeta también es nuestra casa.

+

Justicia climática: que paguen quienes contaminan, no los barrios. Ciudades verdes, transporte público y frenar la destrucción del territorio.

+
+
+ +

Sin fronteras

+

Ningún ser humano es ilegal.

+

Regularización, fin de las redadas racistas y de los CIE, y los mismos derechos para quien vive aquí.

+
+
+ +

Paz

+

Más casas, menos tanques.

+

Dinero para la vida, no para la guerra. Fin del comercio de armas y solidaridad con los pueblos que sufren la guerra y la ocupación: con Palestina, alto y claro.

+
+
+
+ +

Feminismos en todo. Las que más sufren los desahucios, las que sostienen los cuidados, las que cruzan fronteras: los cuatro ejes se miran con gafas violetas.

+
+
+ +
+

Acampadas

+
+
+

España

+

Desde el 26S, acampadas en 18 ciudades. Todas en acampada26s.net.

+

Madrid · Sol

+
+ +
+

Italia

+

Milano · Statale
Roma · piazza Bologna
Tiendas en una decena de universidades

+
+
+

¿Y tu ciudad?

+

Si hay una acampada donde vives, o queréis montarla, escribidnos y la sumamos al mapa.

+
+
+
+ +
+

Cómo nos organizamos

+ +
+ +
+

Difunde

+

#takethestreet#unacalletodaslasluchas#26s

+

El 26 de cada mes, todas las plazas a la vez. Publica en tu idioma con la etiqueta común y la de tu ciudad.

+

Logos y dibujo para carteles y redes: logotipo · símbolo · dibujo

+
+
+ + + + diff --git a/tools/ejes.py b/tools/ejes.py new file mode 100644 index 0000000..ef8c5cf --- /dev/null +++ b/tools/ejes.py @@ -0,0 +1,44 @@ +# Genera site/img/eje-*.svg: una piña pequeña de tres monigotes de un trazo en zigzag, +# en el color de cada eje del ideario (los mismos colores que los regueros del dibujo). +import sys, random, math, os +OUT = sys.argv[1] +EJES = {"techo": "#f04e23", "tierra": "#14965a", "fronteras": "#f2b705", "paz": "#3b5bdb", "feminismos": "#8e44c9"} +DEFS = ('' + '' + '' + '') + +def monigote(o, x, y, h, col, brazo=False, paso=False): + sw = max(1.4, h * .016) + pts, yy, i, top = [], y - h, 0, y - h + while yy <= y: + t = (yy - top) / h + cx = x + if t < .13: + w = h * .055 * math.sin(math.pi * t / .13) ** .6 + sw * .3 + elif t < .16: + w = h * .01 + else: + u = (t - .16) / .84 + w = h * (.07 * (1 - u) ** .8 + .016) + if paso and u > .5: + cx += (-1 if (i // 2) % 2 else 1) * h * .04 * (u - .5) / .5 + w *= .6 + pts.append((cx + (-1 if i % 2 else 1) * w * random.uniform(.75, 1.25), yy)) + yy += sw * 2.1 * random.uniform(.85, 1.15) * (.55 if t < .13 else 1) + i += 1 + d = "M" + " L".join(f"{px:.1f},{py:.1f}" for px, py in pts) + o.append(f'') + if brazo: + bx, by = x + h * .06, top + h * .2 + p = [(bx + j / 9 * h * .06 + (-1 if j % 2 else 1) * h * .014, by - j / 9 * h * .3) for j in range(10)] + o.append(f'') + +os.makedirs(OUT, exist_ok=True) +for n, (nombre, col) in enumerate(EJES.items()): + random.seed(40 + n) + o = [] + monigote(o, 38, 150, 112, col, paso=True) + monigote(o, 102, 156, 120, col, paso=True) + monigote(o, 70, 160, 140, col, brazo=True) + open(f"{OUT}/eje-{nombre}.svg", "w").write(f'{DEFS}' + "".join(o) + "\n")