Kolo, které nikdo nemusel kreslit

Díl 5 ze 7 — ./blog.sh v1.7

Ukázková konfigurace, kterou tento engine dodává, nese kolo: štítek jménem kolo a pod ním ručně vypsané <svg>. Je tam proto, že tam nebylo co jiného dát. tag_icons bral jméno ikony, kterou engine dodává, nebo vlastní kresbu, a dodával jen osm typů obsahu – text, obrázek, video, odkaz, zvuk, citát, dokument, chat. Štítek o cyklistice mohl nosit znak pro „zvuk", nebo někdo mohl strávit večer nad souřadnicovou mřížkou.

1.7 mezi to vkládá pětapadesát kreseb a každé dává jméno.

Pětapadesát podstatných jmen

Spočítáno v lib/icons.rb: osm typů obsahu, pětapadesát dalších, třiašedesát jmen, o která si štítek může říci. Seskupeno podle toho, o čem blogy bývají.

Přehled pětapadesáti kreseb, každá se svým jménem
Celá sada, podle jmen. Kreslená na téže mřížce a týmž tahem jako osm, které engine dodával odjakživa.
  • cestování – bike car train plane boat walk
  • místa a počasí – map pin mountain tree sun cloud rain snow
  • den – coffee beer food wine clock calendar home heart star gift
  • tvoření – pen brush camera film mic music book tools hammer
  • stroje – laptop phone code terminal server bug lock key
  • živé tvory – paw bird leaf flower
  • myšlenky – bulb flag globe eye chart target rocket mail briefcase box

Prostá angličtina a slovo, po kterém člověk sáhne první: bike, ne bicycle. Nosit ji může i odkaz v patičce pod social:, kde značky sítí nemají co nabídnout: globe pro něčí další web.

Proč sedí vedle těch osmi

Táž mřížka o 24 jednotkách, týž tah o dvou jednotkách, týž currentColor – to, co jedné kresbě dovolí následovat světlé i tmavé téma bez druhé kopie. Všech pětapadesát má kulaté konce a kulaté spoje, protože jsou to obrázky věcí, ne schémata, a ostrý roh na tahu o dvou jednotkách se při dvaceti pixelech čte jako hrot. doctor drží ručně psané icon_svg u téže mřížky.

Kde se objeví

Na dvou místech. V nadpisu vlastního výpisu štítku /tag/<jméno>/ a na odznaku s datem u každého příspěvku, který ten štítek nese – tam ikonu typu obsahu nahrazuje, nepřidává se k ní. Odznak je malá dlaždice s datem a jedním znakem; jediné, co kdy přidá druhý, je připnutý příspěvek, a výpis skládá deset odznaků pod sebe.

Štítek se hledá podle adresy, ne podle zápisu. Sci Fi v site.yml dosáhne na příspěvky se štítkem sci-fi i na ty se štítkem sci_fi, protože to je jedna stránka, a tedy jeden štítek.

Pořadí v seznamu je priorita

tag_icons je seznam a rozhoduje pořadí v něm. Většina příspěvků nese víc než jeden štítek, a štítek, který příspěvek dostal jako první, je obvykle to, co tam dal importér, ne téma – takže příspěvek nosí první položku seznamu, kterou má, rozhodnuto jednou, ne příspěvek po příspěvku. Příspěvek se štítky sci-fi, coffee nosí kávu, pokud káva stojí výš, ať je příspěvek zapsal v jakémkoli pořadí.

Zapsáno jako mapa – kolo: bike odsazené pod tím, tvar, ve kterém je polovina site.yml – nekreslí nic, a nekreslilo nikdy: dosud bez varování od sestavení a doctor prohlašoval soubor za zdravý. Teď oba ten klíč pojmenují a doctor to počítá za problém a končí s 1.

Co odmítá udělat

Není to složka, do které se hází kresby. Všechno v assets/ se na web kopíruje vcelku, takže složka s padesáti kresbami by zveřejnila padesát souborů pro web, který používá dvě – a ikona se do stránky zapisuje, nestahuje se, takže by si o ně nikdy nic neřeklo. Sada je z toho důvodu hash v Ruby.

Osm jmen typů obsahu nemůže růst bez typu obsahu za nimi. A icon_svg, které vůbec není kresba – jméno souboru, adresa, emoji – se odmítne, místo aby se vytisklo tam, kam patří znak; štítek se vrátí k tomu, co by měl bez záznamu.

Co to stojí

Jméno, které engine nemá, nekreslí nic a sestavení se o něm nezmíní: nastav bicycle místo bike a web se sestaví, skončí nulou a každý příspěvek, který měl nést kolo, si nechá ikonu svého typu obsahu. Kdo to řekne, je doctor: pojmenuje štítek, jméno, o které si řekl, a vypíše všech třiašedesát, osm na řádek – a pak sám skončí nulou, protože štítek bez obrázku není rozbitý web.

A kresba jde do stránky. Průměrná má něco přes 250 bajtů značkování, vypsaných znovu pro každý odznak, který ji nosí: žádný požadavek na ni a žádný způsob, jak ji mít jednou. Celá sada dělá asi patnáct kilobajtů a nic z toho se na web nedostane – jen kresby, které se skutečně používají.

Většina kreseb v tom souboru je vlastní práce tohoto projektu. Několik má tvar, ke kterému každá sada ikon u zjevné věci dospěje – pero, klíč na matice, bublina u příspěvku typu chat – a to jsou tytéž cesty jako u Feather Icons, licence MIT, copyright Cole Bemis. NOTICE to říká a nese licenci, což je to, co repozitář dluží lidem, od kterých si půjčil.

Komentáře