abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:33 | IT novinky

    Po vlastních microSD kartách nabízí nově Raspberry Pi také vlastní NVMe SSD disky. Samostatně i v sadách s M.2 HAT+.

    Ladislav Hagara | Komentářů: 0
    dnes 06:11 | Zajímavý článek

    Byla zveřejněna (𝕏) Zpráva o činnosti Digitální a informační agentury (DIA) za rok 2023 (pdf). Začíná slovy ředitele: "Vznik Digitální a informační agentury (DIA) je v posledních letech možná jedním z nejvýznamnějších kroků, který dodá potřebný impuls digitalizaci státní správy."

    Ladislav Hagara | Komentářů: 6
    dnes 05:11 | Nová verze

    Vývojáři AlmaLinuxu představili AlmaLinux OS Kitten 10, tj. vývojovou verzi AlmaLinux OS 10 vycházejícího z CentOS Stream 10. Přehled novinek v poznámkách k vydání. Proč Kitten? Verze AlmaLinux OS jsou pojmenované podle kočkovitých šelem. Z kotěte vyroste další kočka.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Nová verze

    Kryptografická knihovna OpenSSL byla vydána v nové verzi 3.4. Přehled změn na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 19:00 | IT novinky

    Bylo objeveno nové největší prvočíslo. Jedná se o Mersennovo prvočíslo známé též jako M136279841. To znamená, že v binární formě je prvočíslo tvořeno 136 279 841 jedničkami. Objeveno bylo v rámci distribuovaného výpočetních projektu GIMPS (Great Internet Mersenne Prime Search). Zajímavostí je, že na rozdíl od předchozích takto objevených prvočísel nebylo objeveno pomocí CPU, ale na grafické kartě NVIDIA A100 s pomocí programu Gpuowl.

    DaBler | Komentářů: 3
    včera 16:44 | IT novinky

    Protokol MQTT (Wikipedie) dnes slaví 25 let (Mastodon, 𝕏). První publikovaná specifikace je z 22. října 1999.

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Nová verze

    Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.4. Přehled novinek na GitLabu. Z novinek lze zmínit podporu telefonu Google Pixel 7. Na stránkách Murena lze koupit Murena Pixel 7.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Pozvánky

    Připojte se ve středu 30. 10. 2024 od 10:00 do 12:00 na náš webinář "Řízení přístupu do PostgreSQL prostřednictvím externího autentizačního providera" (registrace zdarma) a naučte se, jak nastavit ověřování pomocí GSSAPI pro bezpečný přístup k databázím (Microsoft Active Directory nebo FreeIPA). Záznam předchozího webináře "Co je nového v PostgreSQL 17" můžete zhlédnout zde.

    … více »
    Heřmi | Komentářů: 0
    21.10. 21:33 | Nová verze

    Byla vydána nová verze 0.55 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    21.10. 14:22 | IT novinky

    Dle plánu bylo dnes vydáno Factorio 2.0 a Factorio: Space Age, tj. aktualizace 2.0 počítačové hry Factorio (Wikipedie) oficiálně běžící také na Linuxu a velké vesmírní rozšíření Factorio: Space Age.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: generátor statických webových stránek - kde se o nem bavit?

    Gilhad avatar 12.11.2021 11:05 Gilhad | skóre: 20 | blog: gilhadoviny
    generátor statických webových stránek - kde se o nem bavit?
    Přečteno: 9164×
    chystám se psát vlastní generátor statických webových stránek (nejspíš make (kvůli paralelizmu a neopakování) a python), něco už mám, ale nejsem si úplně jistý, že jdu nejlepším směrem - nezabával se někdo něčím podobným, nebo nezná klub, kde by se tím někdo zabýval (klidně i anglicky) ?

    Řešení dotazu:


    Odpovědi

    12.11.2021 13:34 X
    Rozbalit Rozbalit vše Re: generátor statických webových stránek - kde se o nem bavit?
    xkucf03 avatar 12.11.2021 17:25 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: generátor statických webových stránek - kde se o nem bavit?

    Kdysi jsem si napsal XML Web generátor – původně to měla být spíš taková hračka a ukázka toho, že stačí použít Ant a XSLT procesor a není potřeba nic moc programovat… ale používám to dodnes.

    Později jsem udělal něco ještě jednoduššího, co používá Make a příkaz xsltproc (Makefile). Rozdíl je v tom, že tohle je jednoúčelové, není to obecný generátor jako software, ale je to součást daného projektu a generuje to nějaké výstupy jen pro něj. Díky tomu není potřeba řešit obecnosti a přemýšlet, jaké všechny možné funkce by mohl potenciální uživatel potřebovat, jaké tam přidat a jaké ne, jak to konfigurovat a parametrizovat… prostě člověk do toho Makefilu a šablony natvrdo napíše to, co zrovna potřebuje, nic víc – díky tomu je to mnohem jednodušší než univerzální řešení.

    Znovupoužitelnost se dá řešit tak, že když budu příště dělat něco podobného, vykopíruji si kusy šablon nebo Makefilu do nového projektu. Nakonec mi to dává větší smysl než se pokoušet vytvořit nějaký úžasný univerzální generátor, který bude sloužit mně a milionům dalších lidí s odlišnými potřebami – tam pak narážíš na problém, že buď je to moc omezené nebo se z toho dříve či později stane moloch a bloatware. Dá se na to dívat tak, že univerzální a obecný nástroj je ten Make, Ant, xsltproc, saxon atd. zatímco ty šablony a skript jsou jen parametrizace, kterou si napíšeš podle aktuálních potřeb. Přijde mi to vhodné, když mám menší počet projektů s odlišnými potřebami, kde si to vždy rád upravím na míru. Naopak pokud někdo dělá stovky podobných webů, tak to bude chtít nějaké obecnější znovupoužitelné řešení.

    Na tvém místě bych se tedy nejdřív zamyslel, jakým směrem chceš jít, jak moc univerzální to má být, pro koho to píšeš a jaké jsou požadavky.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Gilhad avatar 13.11.2021 05:40 Gilhad | skóre: 20 | blog: gilhadoviny
    Rozbalit Rozbalit vše Re: generátor statických webových stránek - kde se o nem bavit?
    Díky za odpověď.

    Píšu to pro sebe, chci to na dělání vlastních blogů. Už jsem si prošel řadu generátorů, ale moc mi nevyhovovaly, nakonec jsem skončil (na nějakou dobu, skoro dva roky) u Pelican a Nikola, každý z nich má své výhody a nevýhody, ale já bych rád měl něco, co bude mít jak (pro mě zajímavé) výhody obou a ještě pár věcí navíc. Zatím mám sepsáno tohle (a asi ještě tak jednou tolik v hlavě):

    * RST soubory jako zdroj, nějaká metadata navíc v hlavičce (název, šablonu, datum založení a poslední změny (protože GIT datumy normálně neuchovává))
    * Adresářovou strukturu, tagy, kategorie??, roky a měsíce
    * možnost prostě stáhnout celou site, a aby pak fungovala i z lokálu
    * Statické indexy: ``index`` , ``index-00123``,  ``index-00122``, .. ,  ``index-00002``, ``index-00001`` 
        (nejstarší - takhle to má Nikola, indexy mají omezenou délku a (až na ``index``) se nemění 
        - když ``index`` 2x přeteče, tak se ze starší půlky udělá další pořadová číslo a ta půlka se odmaže
    * ``Last_modified`` a ``Last_published`` indexy s MOTD hlavičkama (teda s hlavičkama, které budu čas od času měnit)
    * Seriály (ale na to asi stačí podadresáře)
    	* k čertu, ono asi stačí mít TOP_MENU, subdirs a pwd jako navigaci a root directory jako speciální případ (a i tak bude generování závislostí děs)
    	* asi i nějaký ``make test`` a ``make check`` které otestují, zda je vše nové syntakticky správně a zda jsou nějaké ``broken links``
    	* asi i nastavovat čas změny generovaných ``*.html`` podle času změny ``*.rst`` (asi ne, protože HTML závisí i na okolních adresářích)
    	* ``hard-fail`` pokud je ve zdrojovém adresáři stejnojmenné HTML a ( RST nebo autogenerovaný cíl )
    * Držet strukturu adresářů
    	* a navíc case sensitive
    	* a directory first, files next
    * obrázky a příklady přímo v adresáři, který je používá, nebo někde podobně přirozeně (nevytvářet jednu šílenou galerii vedle, kam se nedá rozumně linkovat)
    * make, make upload (= typické použití)
    * generovat jen co se změnilo (proto make)
    * generovat cesty ``relativní``, čili ``../../index.html`` a podobně (kvůli stažení do libovolného adresáře)
    * stačí překládat ``*.rst``
    * generovat ``breadcumber`` = ``pwd`` menu
    * autogerovat ``last_changed`` a ``RSS``
    * nějak vymyslet, jak správně generovat tags/categories/years/dirs, aby aspoň tags/categories měly i popisky, ideálně celostránkové (ala wikimedia Category) a Tags/Categories měly jednořádkové
    	* možná přez templaty? ono se to pere s adresářovou strukturou ...
    		* možná .dirinfo a .deps ($CATEGORIES, $TAGS ...) a neházet do menu "skryté" soubory a adresáře
    * obrázky v nadpisech, jak z metadat, tak z adresáře a z RST souboru - teda téma, seriál a případné výkřiky
    * upoutávky (perex)
    * Psát průběžně dokumentaci a asi i dokumentaci/reportáž, jak jsem to tvořil
    

    No a chci si to napsat aspoň částečně sám, abych se v tom vyznal a dokázal to následně upravovat.

    Zatím mám makefile, který mi překopíruje struktury ze src/ do dest/, *.rst převede na *.html, vypreparuje metadata jako tagy a tak v build/ (aby to mohl dělat inkrementálně, nikoli celé znova) a prokousávám se https://www.devdungeon.com/content/restructuredtext-rst-tutorial-0 a už mi to začíná dávat smysl.

    Ale zaseknul jsem se u generování indexů pro tagy (a datumy a hlavních indexů), kde se mi to nedaří vymyslet pro make a vypadá to, že ten program rst->html bude muset načíst všechny tagy do nějakých polí/slovníků/... a tahat to z toho - což bude s přibývajícími soubory a adresáři stále větší objem dat (zatím beru jako odhad pro škálování hranici aspoň 1.000 rst (jako deník na 3 roky nebo tak) a 10.000 obrázků).

    (Ono to asi jinak nepůjde, ale stejně pořád přemýšlím, jak to nějak šikovně urovnat - přece jenom to okolo jde rozhodit na 12/24 jader a pak tu mám jedno místo, kde se to uprostřed musí sejít kvůli těm tagům a pak každý program vlastně bude načítat všechny tagy, aby u daného souboru mohl dělat "předchozí" a "následující". Možná to aspoň udělám nějak, aby se to četlo nativně a snadno. )

    Pro jednotlivé "weby" asi budu chtít trochu upravovat, hlavně teda v CSS barevné téma a obrázky do záhlaví/pozadí (chci osobní deník, http://micro-corner.gilhad.cz/ , stránky pro různé hry a tak podobně - a možná časem upravit téma celkově až se mi to, na kterém teď pracuju (ještě není na webu) znelíbí )
    Řešení 1× (Вherzet)
    12.11.2021 22:28 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: generátor statických webových stránek - kde se o nem bavit?
    Poznáš príkaz parallel?
    debian.plus@protonmail.com
    13.11.2021 00:48 samalama
    Rozbalit Rozbalit vše Re: generátor statických webových stránek - kde se o nem bavit?
    @Вherzet - co si ty za trolujuceho curaka?! vsade oznacujes ako riesenie totalne bludy! a hlavne toho retardera, generatora nahodnych slov, debiliana-...
    xkucf03 avatar 13.11.2021 01:01 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše bhezrel != Вherzet

    Pozor, tohle není skutečný Вherzet ale záškodník se stejným jménem a identifikátorem bhezrel.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    13.11.2021 14:55 samalama
    Rozbalit Rozbalit vše Re: bhezrel != Вherzet
    wut?!?!

    vsetko je jeden a ten isty Вherzet

    https://www.abclinuxu.cz/poradna/linux/show/473935

    https://www.abclinuxu.cz/poradna/linux/show/474176

    https://www.abclinuxu.cz/poradna/linux/show/462428

    https://www.abclinuxu.cz/poradna/linux/show/462315
    xkucf03 avatar 13.11.2021 15:08 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: bhezrel != Вherzet
    Původní (pravý) Bherzet je myslím tenhle: https://www.abclinuxu.cz/lide/bherzet
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    13.11.2021 16:03 dukre
    Rozbalit Rozbalit vše Re: bhezrel != Вherzet
    https://www.abclinuxu.cz/poradna/linux/show/474176
    Čo sa ti na tom nepozdává? Pokiaľ ti to príde zle, tak odpovedz v danom vlákne.
    14.11.2021 09:35 samalama
    Rozbalit Rozbalit vše Re: bhezrel != Вherzet
    tak uz vies...?
    13.11.2021 01:01 dukre
    Rozbalit Rozbalit vše Re: generátor statických webových stránek - kde se o nem bavit?
    Nezáviď a buď tiež aktívnym pomáhajúcim členom komunity ako debian+.
    Gilhad avatar 13.11.2021 04:47 Gilhad | skóre: 20 | blog: gilhadoviny
    Rozbalit Rozbalit vše Re: generátor statických webových stránek - kde se o nem bavit?
    Znám.

    S řešením to nemá nic společného - nedá se tam bavit o ničem, schopnost spouštět příkazy paralelně má make v sobě taky a navíc je schopný řešit závislosti.

    Prostě "odpověď" totálně na houby a mimo mísu.
    13.11.2021 10:30 alfonz
    Rozbalit Rozbalit vše Re: generátor statických webových stránek - kde se o nem bavit?
    Také jsem řešil podobný problém pro pripravto nikola podovné nebyly moc prizpůsobitelné a cesty byly/jsou problematické. Skončil jsem u vlastní aplikace nad webpy a docutils (hrozný projekt, sphinx nebyl přizpůsobitelný). Pokud bych to dělal dnes, tak asi JS a markdown a bylo by (většina věcí je tam vyřešena a vcelku dobře).

    Jinak opravdu složité jsou metadata/doplňky a to zpracování. Nakonec používám rst text a do něj píšu meta tag, raw html a podobné obludnosti. Linkuji přímo ze složky "/static/" kde mám libovolnou strukturu a mám několik složek s rst.

    Jinak řeknu to takhle je to hrozně problematické a popravdě chápu, proč spousta těch CMS/static generátorů jsou tak problematické. V jednu chvíli jsem dokonce myslel, že bych si pořídil spíše nějaký HTML editor a psal přímo html a tím bych mohl si ušetřit nějaké problémy, ale ta údržba je horší.
    Heron avatar 13.11.2021 13:28 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: generátor statických webových stránek - kde se o nem bavit?
    Kde se o tom bavit nevím, ale lze se inspirovat u HUGO (Golang), Jekyll (Ruby), nebo Hyde (Python).

    Z historických důvodů používám Jekyll, závislosti na Ruby se chci ale zbavit. HUGO mi přijde dnes asi nejlepší, ale ten projekt opět trochu molochovatí (stejně jako svého času velmi subtilní Gitea). Na druhou stranu template v golangu jsou tak snadné, že si to asi též napíšu sám.

    V pythonu je asi jasnou volbou templatovací systém Jinja2.
    Gilhad avatar 13.11.2021 14:41 Gilhad | skóre: 20 | blog: gilhadoviny
    Rozbalit Rozbalit vše Re: generátor statických webových stránek - kde se o nem bavit?
    Pelican Jinju používá taky a to téma se mi tam psalo hezky, takže Jinja rozhodně v plánu je, ale až budu mít čím jí nakrmit :)

    (tj. nejdřív potřebuju vyřešit ty tagy a tak, pak teprve začnu nějak výrazněji formátovat výstup)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.