Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
Před příchodem formátování e-mailových zpráv pomocí HTML se v písemné komunikaci použivaly kombinace symbolů pro vyjádření informací navíc — ať už šlo o "smajlíky" nebo zvýrazňování slov *hvězdičkami* či _podtržítky_. Právě takovými konvencemi se inspirovali tvůrci některých CMS, zvláště wiki a aplikací pro generování webových stránek offline. Ono je totiž poměrně nepohodlné psát značky HTML, pokud nepoužíváte nějaký sofistikovaný HTML editor, a čtení zdrojových kódů webových stránek je snad ještě horší — syntaktický "balast" překáží v soustředění se na samotný text.
Co nám tedy minimalistické značkovací jazyky přinášejí? Jak jsem již zmínil, docela dobře čitelné dokumenty přímo v prostém textu a při použití vhodného softwaru odstínění od HTML při psaní textů pro web. Ale to není vše, je totiž možné automatizovaně konvertovat texty do více různých podob než jen do obyčejného (X)HTML. Mezi podporované formáty může patřit LaTeX, DocBook, Open Document Format nebo některá šablona pro prezentace v HTML.
Mezi populárnější minimalistické značkovací jazyky patří např.:
Přehled některých dalších lehkotonážních značkovacích jazyků najdete např. na Wikipedii.
Markdownu se zde věnuji z toho prostého důvodu, že je to můj osobní favorit. Jednak mi vyhovuje jeho syntaxe, jednak existuje několik jeho implementací — v Perlu, Ruby, Pythonu a především PHP, díky čemuž se umí integrovat např. do CMS WordPress nebo DokuWiki. Navíc je podporovaný programem pandoc pro konverzi do pestré řady jiných formátů a nemohu zapomenout ani na jednoduchý WYSIWYG editor ReText. Sluší se ale podotknout, že různé implementace nemusí být zcela kompatibilní — jde především o různá rozšíření oproti původní implementaci Johna Grubera, ale Markdown Extra a MultiMarkdown se dají považovat za de facto nepsaný standard.
Pojďme se nejprve podívat na základní syntaxi Markdownu, která by měla být v zásadě stejná napříč různými implementacemi.
# nadpis první úrovně
, ## nadpis druhé úrovně
atd.[text odkazu](url)
— za odkaz můžeme volitelně přidat text, který se zobrazí po najetí kurzoru v bublině, tedy [text odkazu](http://neco.nekde.foo/bar/ "bublina")

— opět s volitelným popiskem do bubliny1969\. foo bar
, abychom se zbavili interpretace jako bod seznamu)Aby to nebylo bez příkladu, můžete si prohlédnout tento článek napsaný pomocí Markdownu.
Pro vyčerpávající popis se podívejte na dokumentaci k implementaci, kterou používáte. V tomto stručném přehledu jsem vycházel z původního Markdownu, který si můžete vyzkoušet také online díky nástroji Dingus.
Existuje mnoho implementací Markdownu v mnoha programovacích jazycích — nebudu se zde snažit o kompletní přehled, ale odkážu vás na velmi pěkný přehled odkazů týkajících se Markdownu a Wikipedii. Musím ale upozornit na skutečnost, že různé implementace vesměs nejsou zcela kompatibilní, což se nemusí týkat jen různých rozšíření syntaxe, ale i interpretace vcelku základních záležitostí. Pro kontrolu doporučuji test kompatibility s původní implementací a Babelmark, který ve webovém prohlížeči zobrazuje HTML výstup různých implementací Markdownu pro vámi zadaný vstup.
Mezi nejrozšířenější implementace patří vedle té původní od Johna Grubera v Perlu např. PHP Markdown, python-markdown (resp. python-markdown2), MultiMarkdown a Text::Markdown (nachází se v CPAN) v Perlu, Maruku a kramdown v Ruby, Showdown (funguje jako pseudoWYSIWYG editor ve webovém prohlížeči) a konečně Pandoc, jemuž se budu dále věnovat.
Pandoc je univerzální konverzní nástroj, který si rozumí nejen s Markdownem a HTML, ale i s několika dalšími minimalistickými jazyky jako reStructuredText nebo Textile — a na výstupu nabízí pestrou škálu formátů zahrnujících také LaTeX, ODT, RTF, syntaxi MediaWiki, groff pro manuálové stránky, DocBook nebo třeba prezentace v HTML s využitím šablon S5 a Slidy.
Napsaný je v Haskellu a pravděpodobně ho najdete v repozitářích své distribuce, můžete také použít nástroj cabal
určený ke správě knihoven Haskellu — nebo je možné si prostě stáhnout zdrojové kódy, resp. na MS Windows nebo Mac OS X připravenou binárku. A pro případ nouze je tu online verze.
Vedle pestré škály podporovaných formátů Pandoc také nabízí rozšíření syntaxe Markdownu o např. poznámky pod čarou, seznam citací, zvýrazňování syntaxe v ukázkách zdrojových kódů, bohatší možnosti ohledně seznamů, matematické vzorce, tabulky aj. To dalece přesahuje rozsah tohoto článku, proto vás pouze odkážu na dokumentaci.
Pro demonstraci jeden příklad tabulky:
+----------------+---------------+--------------+-------------+-----------------+ | vlastnost | Nook Classic | Simple Touch | Nook Color | Amazon Kindle 3 | +================+===============+==============+=============+=================+ | hmotnost (g) | 329 | 212 | 448 | 241 | +----------------+---------------+--------------+-------------+-----------------+ | rozměry (cm) | 19.6×12.5×1.3 | 17×13×1.2 | 21×13×1.2 | 19×12.3×0.9 | +----------------+---------------+--------------+-------------+-----------------+ | displej | 6" E Ink | dotykový 6" | 7" LCD | 6" E Ink Pearl | | a ovládání | + 3,5" LCD | E Ink Pearl | dotykové | klávesnice | +----------------+---------------+--------------+-------------+-----------------+ | paměť pro data | 2GB interní | 2GB interní | 8GB interní | 4GB interní | | | + microSDHC | + microSDHC | + microSDHC | | +----------------+---------------+--------------+-------------+-----------------+ | připojení | WiFi (+ 3G) | WiFi | WiFi | WiFi | | | microUSB | microUSB | microUSB | microUSB | +----------------+---------------+--------------+-------------+-----------------+ | zvuk | 3,5mm jack | nic | 3,5mm jack | 3,5mm jack | | | reproduktor | | reproduktor | reproduktor | +----------------+---------------+--------------+-------------+-----------------+ | baterie | 1530mAh | 1530mAh | 4000 mAh | 1750mAh | | | vyměnitelná | vyměnitelná | pevná | pevná | | | až 10 dní | "dva měsíce" | 8 hodin | asi tři týdny | +----------------+---------------+--------------+-------------+-----------------+ | systém | Android 1.5 | Android 2.1 | Android 2.2 | embedded Linux | +----------------+---------------+--------------+-------------+-----------------+ | cena | $119 ($169) | $139 | $259 | $139 | +----------------+---------------+--------------+-------------+-----------------+
Tato tabulka pochází z mé prezentace na Openmobility 2011 — můžete si prohlédnout také slajdy využívající šablonu Slidy — vygenerované pomocí nástroje Pandoc příkazem:
pandoc -w slidy -s nook.text -o nook_slidy_openmobility.html
Doufám, že se mi podařilo ukázat jiný pohled na tvorbu textových dokumentů (typicky určených pro web). Třeba vás zaujme a najdete si svou cestu (nebo "workflow", jak se dnes říká), jak efektivně psát.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Pár kritických poznámek:
Pokud implementace nejsou kompatibilní, tak jako přenositelný formát mi je daný jazyk na nic. Můžu jej používat pro vlastní potřebu, ale pro sdílení dokumentů je nepoužitelný.
Fascinuje mě, jak tyto jazyky předjímají, že se budou převádět do HTML. To nejsou příliš sebevědomé cíle. Když se k tomu přidá automagie kolem vkládaní HTML kódu, tak máme na (implementační) problémy zaděláno.
S tím souvisí escapování. Když otevřu neznámý redakční systém, první věc kterou hledám, je escapování. Jakmile začnu psát podivné identifikátory nebo kusy in-line kódu, tak katastrofa je zaručena. Autoři těchto jazyků escapování zjevně považují za nepodstatný detail pro podivíny. Specifikace Markdownu se escapováním zabývá až v poslední kapitole. Texy o něj sem tam klopýtne. Snad jediný RST se jím zabývá pořádně (souvislost s programovacím jazykem). Specifikaci AsciiDocu jsem nenašel a specifikaci txt2tags nerozumím, protože buď chybí popis sémantiky, nebo syntaxe.
Pokud implementace nejsou kompatibilní, tak jako přenositelný formát mi je daný jazyk na nic. Můžu jej používat pro vlastní potřebu, ale pro sdílení dokumentů je nepoužitelný.
Čitelný je stále kdekoliv. Liší se překlad do něčeho jiného, což nemusí být vždy třeba, ale i tak jsou tu pořád online nástroje pro export, takže jediné, kdy to může dělat neplechu, je migrace mezi implementacemi v případě třeba wiki s existujícím nezanedbatelným množstvím obsahu. Ale upřímně řečeno, u samotného Markdownu jsem narazil na nekompatibilitu toliko jednou v nějakých oddělovacích prázdných řádcích — to používám běžně Markdown.pl, python-markdown a Pandoc. U Markdownu Extra je to z jednoho pohledu ještě jednodušší, protože jen některé implementace ho podporují — a patřičně to dávají najevo.
Fascinuje mě, jak tyto jazyky předjímají, že se budou převádět do HTML. To nejsou příliš sebevědomé cíle. Když se k tomu přidá automagie kolem vkládaní HTML kódu, tak máme na (implementační) problémy zaděláno.
<ironie>O co by měly ještě usilovat? Vaření kafe?</ironie> Konverze do HTML je jasný cíl, který není odtržený od reality (ťukání <blah foo="bar"> mi fakt erekci nezpůsobuje) a je plněn. To se mi z ryze pragmatického hlediska jeví uspokojující.
S tím souvisí escapování. Když otevřu neznámý redakční systém, první věc kterou hledám, je escapování. Jakmile začnu psát podivné identifikátory nebo kusy in-line kódu, tak katastrofa je zaručena. Autoři těchto jazyků escapování zjevně považují za nepodstatný detail pro podivíny. Specifikace Markdownu se escapováním zabývá až v poslední kapitole. Texy o něj sem tam klopýtne. Snad jediný RST se jím zabývá pořádně (souvislost s programovacím jazykem). Specifikaci AsciiDocu jsem nenašel a specifikaci txt2tags nerozumím, protože buď chybí popis sémantiky, nebo syntaxe.
Specifikace? Nevím, zda bych celkem neformální popis syntaxe nazýval specikací. Nicméně Markdown.pl to tam má a Pandoc taky. Možná mám malou představivost, ale nevidím, kde je problém.
<ironie>O co by měly ještě usilovat? Vaření kafe?</ironie> Konverze do HTML je jasný cíl, který není odtržený od reality (ťukání <blah foo="bar"> mi fakt erekci nezpůsobujeBTW: je vtipné, že pro vyznačení ironie používáš právě XML značky
Jistě, v článku to také tak je:
bod číslovaného seznamu je řádek, který začíná číslem vyjádřeným řadovou číslovkou, za níž následuje mezera a pak text
-
(to, co je na každé klávesnici), –
ani —
AFAIK nefungují. Pokud to je v článku špatně, rozhodně nešlo o záměr, nýbrž nějaké automatické úpravy.
Co je tak těžkého na řadové číslovce? Znalost vlastního jazyka?
první chleba druhý 10 rohlíků třetí másloNebo ne?
první chleba
1. chleba
1 chleba
a 1. chleba
je dost blbé….
první chleba a 1. chleba Jsou dva stejné zápisyPoužij ty dvě kulaté věci vpředu na hlavě a zjistíš, že to dva stejné zápisy nejsou.
kde 1. slovo je řadová číslovka, jen je podruhé vyjádřena číslemStylistická poznámka: V textu bývá srozumitelnější a příjemnější pro malé číslovky (základní i řadové) používat slovní zápis. Každopádně, ať ti nedovolím úplně odběhnout od tématu. Ta formulace v článku je debilní. Pokud bych to tak napsal já, poděkoval bych za upozornění a hned bych to opravil. A všimni si, že přesně to David Kolibáč udělal.
Jinak obecně řadové číslovky jsou dost základní věc (proto se taky učí na 1. stupni ZŠ) a nevědět, že je rozdíl mezi 1 chleba a 1. chleba je dost blbé….Thank you, Captain Obvious.
OK, nevyjádřil jsem se dostatečně přesně, jsou to dva různé zápisy stejného významu.OK.
Stylistická poznámka: jo většinou ano, ale čitelné je obojí…V tomto případě mi dalo parsování věty z kontextem značnou práci, abych vyloučil možno neoznačenou citaci jednoho ze dvou vyjádření řadové číslovky. Ale po chvilce se podařilo :).
Nevím jestli byla/je formulaci debilní, jsem ji bez problémů pochopil.Bývá zvykem syntaxi popisovat jednoznačně a přímočaře. Což je teď splněno.
Nevím jestli byla/je formulaci debilní, jsem ji bez problémů pochopil.+1, když jsem četl, že ta číslovka má být řadová, první, co mne napadlo bylo, že za ní musí být tečka – což je přesně to, co se autor snažil sdělit. Přijde mi nesmyslné v tom šťourat a mudrovat, jestli náhodou nemůže být platný zápis i slovy. Věty v přirozeném jazyce vždycky vykazují nějakou míru nejednoznačnosti a vyžadují nějakou inteligenci a znalost kontextu. Taková věta totiž není program nebo matematická definice. Když např. v receptu bude: „nalijte na pánev olej“ – tak snad nikoho nenapadne, lít tam vyjetý olej z motoru, ne? Byť to není (ze strojového pohledu) jednoznačné a motorový olej je taky olej, takže by podle té věty teoreticky mohl být použit.
mi to teda připadá o dost pracnější, než HTMLTo je řekl bych základní vlastnost všech těchhle „jednoduchých“ značkovacích jazyků pro převod do HTML. Cokoli náročnější se v nich vyjadřuje o mnoho složitěji, než v HTML. Jednoduché věci by teoreticky byly jednodušší, ale vzhledem k tomu, že těch jednoduchých jazyků je asi milion, a každý musíte nejprve nastudovat, je to ve výsledku vždy pracnější, než psát rovnou v HTML.
Základy Markdownu jsem se naučil asi za patnáct minut. Jde to s HTML bez předchozí znalosti? Nejsem si jist. Každé další rozšíření je otázkou asi minuty (jako u čehokoliv jiného snad s výjimkou TeXu).
Zrychlení se pak projeví každou chvíli — je rychlejší psát <a href="copy'n'paste URL">text odkazu</a>
, nebo [text odkazu](copy'n'paste URL)
? Pro mě jednoznačně to druhé (označení textu a pak pět úhozů na klávesnici), nehledě k tomu, že HTML považuji za velmi rušící při následných úpravách textu. Co se složitějších věcí týče, tabulka v Markdownu je podstatně přehlednější — laskavý čtenář si jistě porovná:
<table> <thead> <tr class="header"> <th align="left">čas</th> <th align="right">rychlost</th> <th align="right">přesnost</th> </tr> </thead> <tbody> <tr class="odd"> <td align="left">1 měsíc</td> <td align="right">cca 30 wpm</td> <td align="right">~90 %</td> </tr> <tr class="even"> <td align="left">6 týdnů</td> <td align="right">až 39 wpm</td> <td align="right">~95 %</td> </tr> <tr class="odd"> <td align="left">3 měsíce</td> <td align="right">přes 40 wpm</td> <td align="right">~95 %</td> </tr> <tr class="even"> <td align="left">16 týdnů</td> <td align="right">až 50 wpm</td> <td align="right">~95 %</td> </tr> <tr class="odd"> <td align="left">4 měsíce</td> <td align="right">cca 46 wpm</td> <td align="right">~97 %</td> </tr> <tr class="even"> <td align="left">5 měsíců</td> <td align="right">cca 48 wpm</td> <td align="right">~97 %</td> </tr> </tbody> </table>
čas rychlost přesnost -------- ------------ --------- 1 měsíc cca 30 wpm ~90 % 6 týdnů až 39 wpm ~95 % 3 měsíce přes 40 wpm ~95 % 16 týdnů až 50 wpm ~95 % 4 měsíce cca 46 wpm ~97 % 5 měsíců cca 48 wpm ~97 %
Nehledě k tomu, že v některých editorech (vím minimálně o Emacsu, slyšel jsem o tom i jinde, ale neměl jsem potřebu se o to zajímat) jsou přímo nástroje pro tvorbu tabulek v prostém textu.
%table ---- * 1. řádek, 1. sloupec * 1. řádek, 2. sloupec * 1. řádek, 3. sloupec ---- * 2. řádek, 1. sloupec *{colspan=2} 2. řádek, 2. a 3. sloupec
Základy Markdownu jsem se naučil asi za patnáct minut. … Zrychlení se pak projeví každou chvíli — je rychlejší psát text odkazu, nebo [text odkazu](copy'n'paste URL)? Pro mě jednoznačně to druhé (označení textu a pak pět úhozů na klávesnici)A co je lepší – učit se u každého formuláře 15 minut daný jazyk, nebo se jednou třeba hodinu učit HTML a to pak už bez učení používat všude? Pro mne je jednoznačně rychlejší to první. Protože než napíšu to druhé, musím nejdřív (někdy dost složitě) zjišťovat, jakou syntaxi daný systém používá, pak musím najít dokumentaci té syntaxe, a pak teprve můžu začít psát. Načež zjistím, že moje URL je něčím speciální (třeba jsou jeho součástí speciální znaky), tak jdu znova do dokumentace, a tam o speciálních znacích nenajdu vůbec nic. Takže nakonec URL vložím jako obyčejný text, a každý čtenář si jej musí pěkně označit a zkopírovat přes schránku. Ano, vím že to není problém nějakého konkrétního formátu, ale toho, že těch "jednoduchých" formátů je milion.
Co se složitějších věcí týče, tabulka v Markdownu je podstatně přehlednější — laskavý čtenář si jistě porovnáLaskavý čtenář si ovšem taky uvědomí, že tam musel všechny ty mezery napsat. A že mu do nějakého sloupečku přistane delší hodnota, bude to celé přeformátovávat znova. A že až si vzpomene, že chce nějaké buňky spojit, zvýraznit nějaký řádek, udělat mezisoučty apod., bude to nejspíš stejně celé přepisovat do HTML. Pro editaci HTML v prohlížeči je pro neznalé uživatele mnohem lepší nějaký WYWIWYG editor. Jistě, existují i pro různé "jednoduché" značkovací jazyky, jenže ty akorát na pozadí ten značkovací jazyk převádějí do HTML.
A co je lepší – učit se u každého formuláře 15 minut daný jazyk, nebo se jednou třeba hodinu učit HTML a to pak už bez učení používat všude?
Wikipedia a vlastně všechny ostatní wiki to dělají špatně? (Ostatně: proto jde v PmWiki, DokuWiki a možná některých dalších rozchodit Markdown; Markdown jde pomocí Pandoc konvertovat do syntaxe MediaWiki; jsou wiki používající právě Markdown ve výchozích stavu. Podobně se na fórech používá celkem jednotně BBCode.)
Laskavý čtenář si ovšem taky uvědomí, že tam musel všechny ty mezery napsat.
Klávesa s popiskem Tab. ~,^
Wikipedia a vlastně všechny ostatní wiki to dělají špatně?Bohužel ano. Podívejte se jenom na ten váš výčet, kde jste stihnul zmínit tři nekompatibilní formáty, které navíc používají podobné formátovací značky (pro jiné účely), takže i když máte před sebou už označený text, nemusíte na první pohled poznat, o jaký formát se jedná. Dáte hned z hlavy dohromady jenom takovou prkotinu, jak se v těch třech formátech dělá zvýraznění (tučný text)?
Klávesa s popiskem Tab.Přepíná na další formulářový prvek.
Bohužel ano. Podívejte se jenom na ten váš výčet, kde jste stihnul zmínit tři nekompatibilní formáty, které navíc používají podobné formátovací značky (pro jiné účely), takže i když máte před sebou už označený text, nemusíte na první pohled poznat, o jaký formát se jedná. Dáte hned z hlavy dohromady jenom takovou prkotinu, jak se v těch třech formátech dělá zvýraznění (tučný text)?
Je mi to dost jedno, doporučuji si přečíst znovu můj komentář. I kdyby na to přišlo... viz přiložený snímek obrazovky.
Přepíná na další formulářový prvek.
Doporučuji pořídit si textový editor. ~,^
Snímek obrazovky ukazuje ten výjimečný případ, kdy je aspoň základní syntaxe popsána pod formulářem. Jenže v drtivé většině případů tam není nic -- úspěch je už to, když se dozvíte, jaký značkovací jazyk daný formulář používá.
To se neshoduje s mou zkušeností. Ale na druhou stranu je to přece dobře — odfiltrují se tím uživatelé, kteří ničím zase tak podstatným nepřispějí. Ano, narážím na nedávnou diskusi.
Když použiju textový editor, použiju takový, který umí doplňování, klávesové zkratky, kontextové napovídání -- a tu tabulku s ním napíšu v HTML rychleji, než si někdo vyhraje se zarovnáním sloupců v markdown.
Na to snad už ani nemá smysl reagovat. Řešení, které vyvrací hraní si se zarovnáním jsem tu už uváděl, příklad srovnávající přehlednost tabulky v Markdownu a HTML také.
Den Počet -------------- 1.1.2012 5 2.1.2012 3
Den Počet ---------------- 1.1.2012 5 2.1.2012 3 31.12.2012 18Já teda skončím už mnohem dřív na tom, že ta tabulka neumí sloupce zarovnané vpravo, takže to ve zdrojáku si vypadá úžasně, ale většina lidí, která se bude dívat na vykreslené HTML, to uvidí špatně zarovnané...
To mám ještě vymýšlet regulární výraz, který popíše řádek tabulky? Udělat sofistikovanou HTML tabulku v prohlížeči nebo Notepadu není nic složitého.
Jednak nesouhlasím (psát furt <td> apod. není velká výhra), jednak stále opakuji, že bude rozdíl v čitelnosti, navíc HTML nemusí být jediný výstup a konverze z minimalistického jazyka např. do HTML přidává věci, jež by se přímo v HTML tak elegantně řešit nedaly, příklad těch odkazů jsem uváděl, další věcí může být automatické číslování seznamů a následné automatické vygenerování obsahu dokumentu atd.
A ve specializovaném editoru to je hračka.
Což ovšem platí i pro minimalistické jazyky.
<td>
není potřeba. Pokud si chci stránku přečíst, přečtu si HTML výstup zobrazený v prohlížeči. Zdroj je podstatný pro psaní a změny. Když si budu chtít číst stránku rovnou ve zdrojovém kódu, budu psát rovnou v čistém textu. Konverze z HTML do jiné výstupního formátu je také možná, automatické číslování seznamů má HTML odjakživa, automatické vygenerování obsahu není žádný problém – a naprogramujete ho mnohem snáz, než pro ty tzv. jednoduché jazyky.
Specializovaný editor zvládne pro HTML poskytovat mnohem lepší podporu, než pro ony jednoduché jazyky. Už jenom proto, že většina těch jazyků ani nemá pořádně definovanou syntaxi, a u těch zbývajících je to nepřehledná změť kontextově závislých výjimek. Ostatně není to tak dávno, kdy byla syntaxe mediawiki ještě definována několikaprůchodovým parserem se spoustou náhodných regulárních výrazů.
zápis v Markdown se přece před zobrazením uživateli zpracovává, to samé se dá udělat i s HTML.
Ale zpracovávat se nemusí, o čemž je tato diskuse, naopak přeji příjemné čtení zdrojáku v HTML.
Jak bys řešil třeba seznamy?Nijak – pak už to není prostý text. Pokud nechceme prostý text, ale formátovaný, tak už to vyřešeno bylo a mnohokrát. Např. v Markdownu celkem hezky* – proto jsem ho taky začlenil do toho svého generátoru – kusy stránek se dají psát v téhle syntaxi a zbytek může být zase v XML/XHTML, kde mám všechno pod kontrolou a navíc tam mám svoje makra… *) BTW: tohle je jedna z mála intuitivních věci v těch odlehčených značkovacích jazycích – dělat odrážky pomocí „ - “ na začátku řádku je relativně přirozené (akorát je někdy potíž s mezerami, zda tam musí být nebo ne, nebo s oddělením prázdným řádkem od předchozího odstavce – ale ve srovnání s jinými značkami v těchto jazycích jsou odrážky nádherně intuitivní)
On by pak byl problém i s těmi odstavciTo taky trochu je (už někde jsem tu psal, že ty odstavce jsou na hraně). Ono to sice vypadá jako samozřejmost, že odstavce se oddělují prázdným řádkem, ale odstavce taky můžou být oddělené minimální nebo žádnou vertikální mezerou a odsazením prvního řádku nového odstavce (a tady je zase otázka zda tabulátorem, čtyřmi mezerami, osmi mezerami…). Další věc jsou konce řádku – zda mají význam* nebo zda slouží jen k zpřehlednění zdrojového textu (nechci mít moc dlouhé řádky, ale ve výstupu ať se lámou klidně někde jinde). *) Např. v dopisu, kde na konci napíšu:
S pozdravem, Jméno Příjmení
Upřímně: běžně čteš zdrojáky v LaTeXu nebo HTML s cílem přečíst si obsah?Obvykle ne – ale ne proto, že by to nešlo nebo bylo nějak zvlášť nepříjemné, ale proto, že mám po ruce lepší možnost. HTML si otevřu v jakémkoli prohlížeči a najednou nemusím očima parsovat věci jako
Tohle je nadpis ===============nebo:
bla bla *tohle* písmo je tučněa vidím to rovnou větším nebo tučnějším písmem, což je úplně nejlepší a nejpřirozenější. Co se týče LaTeXu tak tam se mi obvykle vedle
.tex
souborů povaluje i .pdf
, takže si otevřu ten. Pokud by chyběl a nechtělo se mi to překládat, tak to otevřu třeba v emacsu/vimu a dá se to v pohodě číst*. A když si to otevřu v Kile nebo něčem podobném, tak navíc vidím stromovou strukturu dokumentu (všechny nadpisy) a můžu si na ně klikat spam *foo* bar
neznamená, že foo
je tučné, nýbrž že foo
je zvýrazněné. A zvýraznění pomocí značky <strong>
(zvláště se zvýrazňováním syntaxe) považuji za značně rušivé (najednou jsou tam místo jednoho slova slova tři).
<strong/>
nebo \textbf{}
ruší víc – ale vtip je v tom, že v tomto tvaru dokumenty moc nečtu. A zase když si dělám nějaké poznámky „jen tak“, tak je čtu i zapisuji v běžném textovém editoru a nějaké generování do jiných formátů vůbec neřeším. Sice si tam občas podtrhnu nadpisy ---- nebo ==== ale zvýraznění textu nepoužívám, odkazy vkládám rovnou jako URL bez nějakých závorek a ukázky kódu vkládám rovnou – ne s odsazením, jak to vyžaduje Markdown – pak si totiž ten kus kódu můžu zkopírovat do schránky a vložit někam jinam a nemusíš řešit, jak se toho přebytečného odsazení zase zbavit.
BTW: koukal jsi na ten XML Web generátor? Necpu* ti ho Kdyby to HTML neumělo, těžko to do něj převedete z toho "jednoduchého" jazyka.
Argumentace na úrovni "pojďme psát v kódu stroje, stejně se to do něj musí přeložit".
A co je lepší – učit se u každého formuláře 15 minut daný jazyk, nebo se jednou třeba hodinu učit HTML a to pak už bez učení používat všude? Pro mne je jednoznačně rychlejší to první.Dobrý den, pane Freude
Zrychlení se pak projeví každou chvíli — je rychlejší psát text odkazu, nebo [text odkazu](copy'n'paste URL)?To je hezká teorie, ale v praxi je to zabité tím, že člověk nejdřív musí přemýšlet, zda sedí u Wikipedie, Markdownu, Texy, Tracu, fóra s BB značkami nebo bůhvíčeho dalšího. A než se v hlavě přepne na správnou syntaxi a vzpomene si, jak se tam ta která značka píše, měl by to už XHTML pětkrát hotové. Pokud někdo má to štěstí a dělá pořád s jedním systémem a s jinými nepřijde do styku, tak snad…, ale to bohužel není můj případ – nejčastěji syntaxi tohoto typu používám v Tracu, ale občas i nějaká Wikipedia nebo jiná wiki, Texy atd. celkem peklo…
ednoduché věci by teoreticky byly jednodušší, ale vzhledem k tomu, že těch jednoduchých jazyků je asi milion, a každý musíte nejprve nastudovat, je to ve výsledku vždy pracnější, než psát rovnou v HTML.+1, bohužel
<
, >
, /
a párovost tagů).
Ostatní jazyky jsou sice pohodlné na psaní a jednoduché na naučení, ale zas jsou hodně diverzní.
Takže ono to je prašť nebo uhoď.
</
doplní koncový tag automaticky, nebo se dá napsat </>
a na celý tag to může doplnit parser.
cout <<
v C++, atd.
</>
.
A ten parser má věšteckou kouli?
Není ti to blbé, furt opakovat jeden speciální případ? Úvaha, že lehkotonážní jazyky jsou všechny principiálně špatné, protože se liší, je zcestná, pokud:
A ten parser má věšteckou kouli?Na nalezení předcházejícího neuzavřeného tagu není potřeba věštecká koule. Vyzkoušejte si to v nějakém editoru s doplňováním. Tenhle zkrácený zápis popisovala norma HTML už někdy v roce raz dva.
Úvaha, že lehkotonážní jazyky jsou všechny principiálně špatné, protože se liší, je zcestnáNaštěstí tady nikdo nic takového nepsal.
v mém případě používajících HTML, Markdown, MediaWiki a BBCodeJakou to má výhodu, že jsou ty syntaxe čtyři a ne jen jedna?
Na nalezení předcházejícího neuzavřeného tagu není potřeba věštecká koule. Vyzkoušejte si to v nějakém editoru s doplňováním. Tenhle zkrácený zápis popisovala norma HTML už někdy v roce raz dva.
Ó, jak je tedy možné, že se tu a tam setkávám s tím, že polovina článku je celá tučně?
Naštěstí tady nikdo nic takového nepsal.
Proč lžeš?
Jakou to má výhodu, že jsou ty syntaxe čtyři a ne jen jedna?
Protože diverzita. Aspoň jedno z toho je Markdown, pro mě naštěstí. Konverzi z Markdownu do MediaWiki jsem zmiňoval. BBCode mě moc nebere, ale na těch fórech je zpravidla editor, takže problém prakticky neexistuje. Vtipné je, že z toho vychází zdaleka nejhůře HTML — většinou je k němu nějaký polodementní editor, takže to nemusí být tak strašné, ale při úpravách např. ve zdejší "wiki" jsem žasl, co v tom HTML lidi dokážou naprasit. S tím jsem se na Wikipedii nesetkal. Možná je to také důvod, proč je wiki tak populární. ~,^ Ne že přijde nějaký fašoun a praví: tohle (HTML) je jediné správné, všichni budete psát v něm.
A vůbec, zacyklil ses v trollování, asi jdeš zpět do seznamu blokovaných.
Ó, jak je tedy možné, že se tu a tam setkávám s tím, že polovina článku je celá tučně?Vždyť jsi reagoval na:
není problém tam rozvinout tu zkratku </>.a tam skutečně jde jednoznačně rozhodnout, která značka má na místě
</>
končit. Ty názvy elementů v uzavíracích značkách jsou skutečně nadbytečné, počítač je tam nepotřebuje* (ale hodí se pro lidskou čitelnost – kouknu a vidím a nemusím si odpočítávat, kterého elementu je to konec).
*) např. ve StAX rozhraní jen zavoláš metodu writeEndElement()
a nemusíš jí předávat název elementu, který se má zavírat, protože implementace to ví.
Ó, jak je tedy možné, že se tu a tam setkávám s tím, že polovina článku je celá tučně?Protože příslušný tag nikdo neuzavřel – ani uživatel ani parser. To, že něco je možné snadno implementovat, ještě neznamená, že to tak je všude implementováno.
Naštěstí tady nikdo nic takového nepsal.Kdybyste to aspoň doplnil odkazem na komentář, kde něco takového vidíte, mohl bych vám věřit, že je to váš omyl, že jste si jen něco špatně přečetl. Takhle to spíš vypadá na záměrnou lež, protože si nejspíš dobře uvědomujete, že takový komentář neexistuje.Proč lžeš?
Protože diverzita.V tom případě navrhuju vytvořit generátor syntaxí, a při každém vstupu použít jinou syntaxi.
S tím jsem se na Wikipedii nesetkal.Tak to máte štěstí. Já na takový zdroják narazím tak v polovině případů, když na Wikipedii něco edituju. A jakákoli složitější stránka na Wikipedii má hrůzostrašný zdroják, ze kterého vůbec není jasné, co to má vlastně dělat – protože jsou tam nejrůznější šablony a makra, kde jsou parametry jednou pojmenované a jednou nepojmenované, jednou se oddělují mezerou a jindy čárkou…
Ne že přijde nějaký fašoun a praví: tohle (HTML) je jediné správné, všichni budete psát v něm.Zatím co když někdo praví: „tohle (Markdown) je jediné správné, všichni budete psát v něm,“ tak je to v pořádku. Aha.
To je zvláštní, jak zrovna ty špičaté závorky lidem vadí. Některé tzv. jednoduché značkovací jazyky dělají jenom to, že místo špičatých závorek používají hranatéTo mi vadí úplně stejně jako ty špičaté. Vždyť říkám, že to vyjde nastejno... Nehledě na to, že podpora editorů je vesměs mizerná, pokud člověk vyloženě nepoužije IDE určené na (X)HTML...
enca
.
různé implementace vesměs nejsou zcela kompatibilní, což se nemusí týkat jen různých rozšíření syntaxe, ale i interpretace vcelku základních záležitostí.To je bohužel daň za tu „jednoduchost“. Různé implementace Markdownu jsem nezkoumal (jen tu Perlovou), ale je to obecně problém těchto „odlehčených“ syntaxí, protože každý si vymýšlí svoje vlastní značky, jazyk, je X způsobů jak zapsat odkaz, nadpis atd.