From 2dc0ff5e585ed5c84ad10947b7f102bc98e0f99e Mon Sep 17 00:00:00 2001 From: hacklab Date: Wed, 14 Oct 2026 21:43:01 +0200 Subject: [PATCH] Faro: la torre en espiral negra y roja Co-Authored-By: Claude Opus 5.5 --- README.md | 2 +- docs/marca/simbolo-naranja.svg | 2 +- docs/marca/simbolo-negativo.svg | 2 +- docs/marca/simbolo-pegatina.svg | 2 +- docs/marca/simbolo.svg | 2 +- sites/takethestreet/es/index.html | 10 +++---- sites/takethestreet/favicon.svg | 2 +- sites/takethestreet/fr/index.html | 10 +++---- sites/takethestreet/img/simbolo-negativo.svg | 2 +- sites/takethestreet/img/simbolo.svg | 2 +- sites/takethestreet/index.html | 10 +++---- sites/takethestreet/it/index.html | 10 +++---- sites/takethestreet/pt/index.html | 10 +++---- sites/tomalacalle/en/index.html | 10 +++---- sites/tomalacalle/favicon.svg | 2 +- sites/tomalacalle/fr/index.html | 10 +++---- sites/tomalacalle/img/simbolo-negativo.svg | 2 +- sites/tomalacalle/img/simbolo.svg | 2 +- sites/tomalacalle/index.html | 10 +++---- sites/tomalacalle/it/index.html | 10 +++---- sites/tomalacalle/pt/index.html | 10 +++---- tools/__pycache__/faro.cpython-312.pyc | Bin 5194 -> 5020 bytes tools/faro.py | 26 +++++++++---------- 23 files changed, 74 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index d580d5d..c5320e5 100644 --- a/README.md +++ b/README.md @@ -257,7 +257,7 @@ Tres piezas, cada una con su uso: ![Hoja de marca](docs/marca/hoja.png) -- **Símbolo** (`docs/marca/simbolo*.svg`): un faro dentro de un aro grueso, como un emblema de tienda de graffiti (en la línea del sello de Writers Madrid). La luz es amarilla: un haz horizontal que se abre hacia los dos lados y ondas en círculo alrededor de la linterna. La torre, en negro, con dos franjas. Plano y rotundo, para que se lea en un favicon, una pegatina o un avatar. Versiones: positivo, negativo, sobre naranja y pegatina (círculo amarillo). Se genera con `python3 tools/faro.py docs/marca` y se copia a `sites//img/simbolo.svg` y a `favicon.svg`. +- **Símbolo** (`docs/marca/simbolo*.svg`): un faro dentro de un aro grueso, como un emblema de tienda de graffiti (en la línea del sello de Writers Madrid). La luz es amarilla: un haz horizontal que se abre hacia los dos lados y ondas en círculo alrededor de la linterna. La torre va en espiral negra y roja, con franjas en diagonal, y el tejado en rojo. Plano y rotundo, para que se lea en un favicon, una pegatina o un avatar. Versiones: positivo, negativo, sobre naranja y pegatina (círculo amarillo). Se genera con `python3 tools/faro.py docs/marca` y se copia a `sites//img/simbolo.svg` y a `favicon.svg`. - **Logotipo** (`docs/marca/logotipo*.svg`): «TAKE THE STREET» en **Grindy Brush**, todo en negro (o en blanco sobre negro). Va convertido a trazados, así que no hace falta la fuente. Hay versión en una línea y en dos. - **Firma**: símbolo + logotipo. Es lo que va arriba a la izquierda de la web. - **Ilustración** (`docs/calle.svg`): la imagen principal de la portada, nunca en la cabecera. Ver el apartado 6. diff --git a/docs/marca/simbolo-naranja.svg b/docs/marca/simbolo-naranja.svg index dc2475e..02dee93 100644 --- a/docs/marca/simbolo-naranja.svg +++ b/docs/marca/simbolo-naranja.svg @@ -1 +1 @@ - + diff --git a/docs/marca/simbolo-negativo.svg b/docs/marca/simbolo-negativo.svg index cdeb716..dbbe2de 100644 --- a/docs/marca/simbolo-negativo.svg +++ b/docs/marca/simbolo-negativo.svg @@ -1 +1 @@ - + diff --git a/docs/marca/simbolo-pegatina.svg b/docs/marca/simbolo-pegatina.svg index 8778d3d..a904196 100644 --- a/docs/marca/simbolo-pegatina.svg +++ b/docs/marca/simbolo-pegatina.svg @@ -1 +1 @@ - + diff --git a/docs/marca/simbolo.svg b/docs/marca/simbolo.svg index f57468d..f90314b 100644 --- a/docs/marca/simbolo.svg +++ b/docs/marca/simbolo.svg @@ -1 +1 @@ - + diff --git a/sites/takethestreet/es/index.html b/sites/takethestreet/es/index.html index 3839842..a4cac57 100644 --- a/sites/takethestreet/es/index.html +++ b/sites/takethestreet/es/index.html @@ -10,12 +10,12 @@ - +
- +

Take the Street

@@ -77,13 +77,13 @@
  • 5países en la calle
  • 22ciudades con acampada en España
  • 11ciudades con tiendas en Italia
  • 26/09primera acampada, en Sol
-
  • primera acampada
  • acampada
  • convocada
  • gran protesta
  • levantada

Arrastra para moverte, pellizca o usa + y − para ampliar y toca un punto para ver más.

+
  • primera acampada
  • acampada
  • convocada
  • gran protesta
  • levantada

Arrastra para moverte, pellizca o usa + y − para ampliar y toca un punto para ver más.

- + diff --git a/sites/takethestreet/favicon.svg b/sites/takethestreet/favicon.svg index f57468d..f90314b 100644 --- a/sites/takethestreet/favicon.svg +++ b/sites/takethestreet/favicon.svg @@ -1 +1 @@ - + diff --git a/sites/takethestreet/fr/index.html b/sites/takethestreet/fr/index.html index f95ba13..4468b2f 100644 --- a/sites/takethestreet/fr/index.html +++ b/sites/takethestreet/fr/index.html @@ -10,12 +10,12 @@ - +
- +

Take the Street

@@ -77,13 +77,13 @@
  • 5pays dans la rue
  • 22villes avec campement en Espagne
  • 11villes avec des tentes en Italie
  • 26/09premier campement, à Sol
-
  • premier campement
  • campement
  • appel
  • grande mobilisation
  • levé

Fais glisser pour te déplacer, pince ou utilise + et − pour zoomer, et touche un point pour en savoir plus.

+
  • premier campement
  • campement
  • appel
  • grande mobilisation
  • levé

Fais glisser pour te déplacer, pince ou utilise + et − pour zoomer, et touche un point pour en savoir plus.

- + diff --git a/sites/takethestreet/img/simbolo-negativo.svg b/sites/takethestreet/img/simbolo-negativo.svg index cdeb716..dbbe2de 100644 --- a/sites/takethestreet/img/simbolo-negativo.svg +++ b/sites/takethestreet/img/simbolo-negativo.svg @@ -1 +1 @@ - + diff --git a/sites/takethestreet/img/simbolo.svg b/sites/takethestreet/img/simbolo.svg index f57468d..f90314b 100644 --- a/sites/takethestreet/img/simbolo.svg +++ b/sites/takethestreet/img/simbolo.svg @@ -1 +1 @@ - + diff --git a/sites/takethestreet/index.html b/sites/takethestreet/index.html index 4aef711..ec50a7a 100644 --- a/sites/takethestreet/index.html +++ b/sites/takethestreet/index.html @@ -10,12 +10,12 @@ - +
- +

Take the Street

@@ -77,13 +77,13 @@
  • 5countries on the streets
  • 22cities with camps in Spain
  • 11Italian cities with tents
  • 26/09first camp, in Sol
-
  • first camp
  • camp
  • called
  • mass protest
  • lifted

Drag to move, pinch or use + and − to zoom, and tap a point for details.

+
  • first camp
  • camp
  • called
  • mass protest
  • lifted

Drag to move, pinch or use + and − to zoom, and tap a point for details.

- + diff --git a/sites/takethestreet/it/index.html b/sites/takethestreet/it/index.html index 069308c..7c18e50 100644 --- a/sites/takethestreet/it/index.html +++ b/sites/takethestreet/it/index.html @@ -10,12 +10,12 @@ - +
- +

Take the Street

@@ -77,13 +77,13 @@
  • 5paesi in piazza
  • 22città con acampada in Spagna
  • 11città con tende in Italia
  • 26/09prima acampada, a Sol
-
  • prima acampada
  • acampada
  • convocata
  • grande protesta
  • smontata

Trascina per spostarti, pizzica o usa + e − per ingrandire e tocca un punto per saperne di più.

+
  • prima acampada
  • acampada
  • convocata
  • grande protesta
  • smontata

Trascina per spostarti, pizzica o usa + e − per ingrandire e tocca un punto per saperne di più.

- + diff --git a/sites/takethestreet/pt/index.html b/sites/takethestreet/pt/index.html index f9950b7..034b7dc 100644 --- a/sites/takethestreet/pt/index.html +++ b/sites/takethestreet/pt/index.html @@ -10,12 +10,12 @@ - +
- +

Take the Street

@@ -77,13 +77,13 @@
  • 5países na rua
  • 22cidades com acampada em Espanha
  • 11cidades com tendas em Itália
  • 26/09primeira acampada, em Sol
-
  • primeira acampada
  • acampada
  • convocada
  • grande protesto
  • levantada

Arrasta para mover, belisca ou usa + e − para ampliar e toca num ponto para ver mais.

+
  • primeira acampada
  • acampada
  • convocada
  • grande protesto
  • levantada

Arrasta para mover, belisca ou usa + e − para ampliar e toca num ponto para ver mais.

- + diff --git a/sites/tomalacalle/en/index.html b/sites/tomalacalle/en/index.html index fb640e7..bc73345 100644 --- a/sites/tomalacalle/en/index.html +++ b/sites/tomalacalle/en/index.html @@ -10,12 +10,12 @@ - +
- +

Toma la calle

@@ -97,13 +97,13 @@
  • 22cities with camps
  • 26/09first camp, in Sol
  • 5countries on the streets
-
  • first camp
  • camp
  • lifted

Drag to move, pinch or use + and − to zoom, and tap a point for details.

+
  • first camp
  • camp
  • lifted

Drag to move, pinch or use + and − to zoom, and tap a point for details.

- + diff --git a/sites/tomalacalle/favicon.svg b/sites/tomalacalle/favicon.svg index f57468d..f90314b 100644 --- a/sites/tomalacalle/favicon.svg +++ b/sites/tomalacalle/favicon.svg @@ -1 +1 @@ - + diff --git a/sites/tomalacalle/fr/index.html b/sites/tomalacalle/fr/index.html index a0fba9e..87403c8 100644 --- a/sites/tomalacalle/fr/index.html +++ b/sites/tomalacalle/fr/index.html @@ -10,12 +10,12 @@ - +
- +

Toma la calle

@@ -97,13 +97,13 @@
  • 22villes avec campement
  • 26/09premier campement, à Sol
  • 5pays dans la rue
-
  • premier campement
  • campement
  • levé

Fais glisser pour te déplacer, pince ou utilise + et − pour zoomer, et touche un point pour en savoir plus.

+
  • premier campement
  • campement
  • levé

Fais glisser pour te déplacer, pince ou utilise + et − pour zoomer, et touche un point pour en savoir plus.

- + diff --git a/sites/tomalacalle/img/simbolo-negativo.svg b/sites/tomalacalle/img/simbolo-negativo.svg index cdeb716..dbbe2de 100644 --- a/sites/tomalacalle/img/simbolo-negativo.svg +++ b/sites/tomalacalle/img/simbolo-negativo.svg @@ -1 +1 @@ - + diff --git a/sites/tomalacalle/img/simbolo.svg b/sites/tomalacalle/img/simbolo.svg index f57468d..f90314b 100644 --- a/sites/tomalacalle/img/simbolo.svg +++ b/sites/tomalacalle/img/simbolo.svg @@ -1 +1 @@ - + diff --git a/sites/tomalacalle/index.html b/sites/tomalacalle/index.html index f56d2b4..de3e8b7 100644 --- a/sites/tomalacalle/index.html +++ b/sites/tomalacalle/index.html @@ -10,12 +10,12 @@ - +
- +

Toma la calle

@@ -97,13 +97,13 @@
  • 22ciudades con acampada
  • 26/09primera acampada, en Sol
  • 5países en la calle
-
  • primera acampada
  • acampada
  • levantada

Arrastra para moverte, pellizca o usa + y − para ampliar y toca un punto para ver más.

+
  • primera acampada
  • acampada
  • levantada

Arrastra para moverte, pellizca o usa + y − para ampliar y toca un punto para ver más.

- + diff --git a/sites/tomalacalle/it/index.html b/sites/tomalacalle/it/index.html index b1137f1..7b61785 100644 --- a/sites/tomalacalle/it/index.html +++ b/sites/tomalacalle/it/index.html @@ -10,12 +10,12 @@ - +
- +

Toma la calle

@@ -97,13 +97,13 @@
  • 22città con acampada
  • 26/09prima acampada, a Sol
  • 5paesi in piazza
-
  • prima acampada
  • acampada
  • smontata

Trascina per spostarti, pizzica o usa + e − per ingrandire e tocca un punto per saperne di più.

+
  • prima acampada
  • acampada
  • smontata

Trascina per spostarti, pizzica o usa + e − per ingrandire e tocca un punto per saperne di più.

- + diff --git a/sites/tomalacalle/pt/index.html b/sites/tomalacalle/pt/index.html index 524767c..4ea4423 100644 --- a/sites/tomalacalle/pt/index.html +++ b/sites/tomalacalle/pt/index.html @@ -10,12 +10,12 @@ - +
- +

Toma la calle

@@ -97,13 +97,13 @@
  • 22cidades com acampada
  • 26/09primeira acampada, em Sol
  • 5países na rua
-
  • primeira acampada
  • acampada
  • levantada

Arrasta para mover, belisca ou usa + e − para ampliar e toca num ponto para ver mais.

+
  • primeira acampada
  • acampada
  • levantada

Arrasta para mover, belisca ou usa + e − para ampliar e toca num ponto para ver mais.

- + diff --git a/tools/__pycache__/faro.cpython-312.pyc b/tools/__pycache__/faro.cpython-312.pyc index 6f542f4a47ea9fcb87f692c5df38ff0ad35f52e7..998467116f15c8992b403013b0bf1bb8544a96ba 100644 GIT binary patch delta 2335 zcma)7Urbxq89(R#@xN;u|G|W$CB1e?f)!dICZyR6D};oQ61qVH!2(j_b1`;IOpcu< zzBRMcAuXw@PTSR*NG(#jCnj2nwtHZE*qF2jv`X7$pb6bcQ>3a==}Xh_(xFM)cP==| zV~*wD`M&Rb_k92F{cFRAM@wJ0Tn+>)^sm3Cmz)TF$(YJAPk`C}8%F3ZB8cD&iXp;{ z3JAq;jEnIxf$*aoaAM3t1e3DHY($(xF*~sUI*3)lil_*Rh1iIl;7J>C%;A_sYKb(L zz%eIrf|^Tl6W5gngy?4qN*}Cv@MI_M{lLUL98$cB=L1Bl<~ib71k-G#5AW_zBWOC| zFa7dCU1|3b@3TIla3A{?A!fD|TrpCSVD#7t|FhlbRwRXkA12iw2NnhG9bDJ6>r&0L zU7$$XKXDifzv2RR)p|&Yw6wNNd>-JkxL$QcXX5!OnY4#4?BK>N9(+~>xv#l#%M0WV zCl9HgFYsStY}MWsk62tFq;73leEEO}$S_Zt8ubAfLOPqe8W!n3&0#s}tTjcM>*{41 z)Y>ioF0rdC%MJwNxBm$6a}3>qXL-UEIVcTZJ)5;}mzl|p` zvCTnmbfd++gG#1nMdH|do}aaph-5O(d4ASPTz7DOulfj?ox>H;ReT4V=J;7#Q6O&9 zovNY;GS9rI!u3UqiB=PB3m1peDG zfM4TR5r!EnqOlM{vzVYFCYZSgu5&>1s-t8w0x)JIEKZ=!NPxE8VX3#zOYh^m7^8RV z1ypc+!r#DQNp(GT_d*2vg4IqH<-U{6jnoP>Wr8iso|I{@ZlG-ZP2c-}%i6^M9PkD% z7y^wK;yG4)SuRu7C3L^`6MJ2$8pzyPfbYLX-wuia&PEDWBbR zdw!9;lU#?)WNvN*3hVAdxo1=RpY%d$nfztq59v>Ht3+=b)CY%j*D&ZyUcDx~P`^;K zkYDOqIuYKVhb>vy<&83B1!645Lc6qbMDsxlSPk#VnTCct2 zKBV1soitx5W~p96-x6fcu|(2lfUwiBD7kzplcg<8 zwvPcT3$0^t96(!lhmSF9ITp%ZSHo_!?PFaf_U`pR=N2_{0uj_-u>s^=h&JosJ z-f?ZVYUs>HLfJ^B*2mNO*p-dUHJx79Z@l#op`YR|ZX2O#e3}C;gS*+*&7EVLznA+C zA!je6#a@nvG`r`ju6*k=z>@dDmYa z6lo6}u}@d-MJ?z(P)l?rsgo%^mDQ(a^qHHwRM3S27#s7R@1#dS5$GATXQdR|MUV`KD?692L|=aiEU)Zz1(&UhgJN@#%Xi@ x5y$UFS0d{zJsZL~?Hm6KzKPX@J~FYuhZJ9Jpvo0{{sQJCWQb1 delta 2551 zcma)8U2Gf25#HUq<3B}Gv{c23ZHjbaF_tYc`iUG^8SfS*zuasZ)z(IbJPfYKK25fTc8{Xx*YRBwtE6sey&d!#HE zNRcjZ^Udte%+Afs?%gjB{jMSRd%N9&U=;uSr)kB8&{tg88RiPJ{RfQDJwy@32^2<@ zOb7^tahQY!DohaI#jr$0oil`uRJw!0CTaj`rbZddqD*9ony8uLsEJzc;IM_(Q7d4? zN^PKKlkL<#(|{2BwTz};+1Y;=Y1K<0gdGIQPTBDZqK^B7I+tK;KBj$Te362t6&}kH zQvZtUa?cH2|F0p$j2~C;Y$4+vZV7V12S(3*y1&<_s}c=373iMFHA{l}0p8bCewW(s zHLqB!8`xhfWJF&e5C9sDMl(iVw7FG&qveT*Br$%b-WB#s8REI{?8y`1D~wI*J?S+= z6@<$i>Tjfuy)Iz=0;}dTZXhLbIvJn!ORP?VVu9!09ORTZS|K;M`Q|x`%dpf7tp)V{5x-psm9*)ZW$@Xm0il zw6uA`UQaZhNOXD`e|ZK?jv_CH>V%0Fc(zx8{1l&o%HBg+bonAei#g1jK8q>Iz%ijh zMgl5ktO)6{^oa=XfFTD)YWhwsa7nqAnOb1o%ESH+UprdhtE{7Yv}JMbf12=cxMTbK z1eB}pJAQ`mVT?YwB%%e!XTm$!?_>t>8-p&1MnCQC-aHD@rje6&AQ|CkAj-H1?J^Mi z#m`|}9O`ELHmKMPb#K04UZ?!coVU` zYNvT$j<=W+glvENPxNgbJw>?Izp?k_Edjmcd(iqY@Q^)fUq1h+aizNW`thRg_{vGm z+g-qg`hvUAQ%J4OYop_z-_$OKKTl|vCyT?A#r{d{YDDX!8jWhP87(=dDXC&IrMi{s@O9nW^@F0gla+<>#GQ{C5Ima!|0DyFwoab*V0NCQIE<1shcwA? z=oWeffE?-L&?gKE-yrmZ)56z0WB*oo8Gal(5b|O_+3Wyeb3iSaf93XLwhtt~u_VN2 zXILZf>SIe|j@Q+5)x(Egj*^s0GA6S&n0LaX%maafeCg;|aj!@#qnbUG@7t(yei(Z{ zwyjs`z@cvh*c$|gKi~hQqpzS8|p$&E(udCS;7%^2!x0U$j;#HrC%_R0{sk9 ztbY_vs$W=#$r4cy+a};PP(QNO9|5s!2HkJIZ>rn}j$x)ZcU3Twh|itl7egFw1~q5* zsQo!&G{H25-t-`kZDgH5rnOpCf~e?^Vh>#$SJ+EW29 zx8&(7k)9#Htz?juR6LPnO?7J{|C zT8&A^^a8-+O^2__36agl^fdS*>&ji^t)PSaV>dEo6SL% zx}nbj+`YWbY`vV9dI|HXamTE6_hqU2566#kK`KX;u3(c68Dp?Xxf$!Su-9RGILyre z>;#Y!xfZLO}W02bt=lTQ#m9qbsN;8E%AQqGo5iQl-E zOe807OwCQP0X5*-kA3PnSN*|SP|VacRo0Kp%CV_b{AThf#0(Dg@-(VPelXX z|I}&1$F}w$SMA3w4^BR0D>a2t?fi&#<=Qqf<6g2|OK?AVY9hF0%cTCLdfdJ$thWuV mM%Dr&>*A>TmivHH(MB$' return haz + ondas + halo -def torre(ink, papel): - # Torre que se estrecha hacia arriba, con dos franjas, la linterna y el tejado en punta. - cuerpo = f'' - franjas = "".join(f'' - for y in (56, 72)) +def torre(ink, raya, clip): + # Torre que se estrecha hacia arriba, en espiral negra y roja (franjas en diagonal), la linterna y el tejado en punta. + forma = "M42,46 H58 L65,100 H35 Z" + cuerpo = f'' + franjas = "".join(f'' for y in (50, 68, 86)) balcon = f'' linterna = f'' - tejado = f'' - return cuerpo + franjas + balcon + linterna + tejado + tejado = f'' + return cuerpo + f'{franjas}' + balcon + linterna + tejado -def faro(estilo="aro", ink=INK, luz=LUZ, papel=BL, clara=CLARA, clip="c", grueso=7, fondo_aro=None): +def faro(estilo="aro", ink=INK, luz=LUZ, raya=ROJO, clara=CLARA, clip="c", grueso=7, fondo_aro=None): if estilo == "aro": defs = f'' fondo = f'' if fondo_aro else "" - dentro = f'{luz_(luz, clara)}{torre(ink, papel)}' + dentro = f'{luz_(luz, clara)}{torre(ink, raya, clip)}' aro = f'' return defs + fondo + dentro + aro # Pegatina: círculo amarillo, la luz en blanco defs = f'' - return defs + f'{luz_(papel, BL)}{torre(ink, luz)}' + return defs + f'{luz_(BL, BL)}{torre(ink, raya, clip)}' def svg(cuerpo, fondo=None): bg = f'' if fondo else "" @@ -45,6 +45,6 @@ def simbolo_mapa(): if __name__ == "__main__": d = sys.argv[1] open(f"{d}/simbolo.svg", "w").write(svg(faro())) - open(f"{d}/simbolo-negativo.svg", "w").write(svg(faro(ink=BL, papel=INK), INK)) - open(f"{d}/simbolo-naranja.svg", "w").write(svg(faro(luz=BL, papel=NAR, clara="#ffe2a8"), NAR)) + open(f"{d}/simbolo-negativo.svg", "w").write(svg(faro(ink=BL), INK)) + open(f"{d}/simbolo-naranja.svg", "w").write(svg(faro(luz=BL, raya=BL, ink=INK, clara="#ffe2a8"), NAR)) open(f"{d}/simbolo-pegatina.svg", "w").write(svg(faro("pegatina")))