abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:11 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Komunita

    V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).

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

    Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    včera 12:22 | Pozvánky

    Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.

    jose17 | Komentářů: 0
    včera 04:44 | IT novinky

    Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.

    Ladislav Hagara | Komentářů: 15
    19.5. 23:22 | Zajímavý software

    Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 7
    19.5. 22:22 | Zajímavý software

    V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    19.5. 13:11 | Zajímavý článek

    Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."

    Ladislav Hagara | Komentářů: 1
    19.5. 12:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    19.5. 12:33 | Nová verze

    Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (24%)
     (8%)
     (2%)
     (0%)
     (0%)
     (6%)
    Celkem 50 hlasů
     Komentářů: 5, poslední včera 20:57
    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: 11595×
    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.