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:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

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

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 12
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 752 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník
    Alternativně viz také můj osobní blog (RSS pro anglické články, RSS pro české články), kde toho hlavně v angličtině vychází mnohem víc.

    Víte že můžete odebírat mé blogy pomocí RSS? (Co je to RSS?)


    A kdo neumí použít RSS, tak je tu twitter: @Bystroushaak.

    Od určité doby jsou všechny texty které zde publikuji verzované na Githubu.

    Jestliže najdete chybu, nepište mi do diskuze a rovnou jí opravte. Github má online editor, není to skoro žádná práce a podstatně mi tím usnadníte život. Taky vás čeká věčná sláva v commit logu :)

    Aktuální zápisy

    cherrytree2html.py

    13.3.2013 20:13 | Přečteno: 1076× | Názory | Výběrový blog

    Je to již delší doba, co jsem zde psal o programu pro psaní poznámek nazvaném CherryTree. V blogpostu jsem programu silně vyčetl plesnivý HTML export, který je skutečným peklem, co se týče jeho použití v dalších systémech, jako je třeba ABClinuxu. Do diskuze jsem tenkrát vložil script jménem cherrytree_repairer.py, který trochu narovnával hrozivé HTML, které z CherryTree lezlo. Poslední dobou mi přestal vyhovovat a tak jsem vytvořil další script, o kterém bude dnes řeč.

    Script se tentokrát nesnaží opravovat HTML export, protože mi došlo, jak je tento krok marný - s každou změnou programu se může změnit i HTML export a už mě nebavilo neustále script upravovat. Místo toho jsem se zaměřil na samotný XML soubor, ve kterém CherryTree uchovává informace.

    Script vám umožňuje vybrat si, kterou nodu přesně chcete vyexportovat a tu poté můžete uložit v čistém HTML na disk. Samozřejmostí je export všech nod a interaktivní režim.

    Zde je --help:

    usage: cherrytree2html.py [-h] [-v] [-l] [-i] [-s] [-a] [-n NODE ID] [FN]
    
    positional arguments:
      FN                    Filename.
    
    optional arguments:
      -h, --help            show this help message and exit
      -v, --version         Print version.
      -l, --list            List names of all nodes.
      -i, --interactive     Interactive mode - select node and convert it to HTML.
      -s, --save            Save to file named [nodeid]_[ascii_nodename].html.
      -a, --all             Save all nodes to HTML.
      -n NODE ID, --node NODE ID
                            Print converted node to stdout.

    Použití na testovacím souboru vypadá následovně:

    $ cherrytree2html.py ukazka.ctd -l
    1   - první
    3   - subnoda
    2   - druhá
    
    $ cherrytree2html.py ukazka.ctd -n 2
    <p>Jednoduše druhá subnoda.</p>

    .ctd

    Nutno dodat, že psaní konvertoru mi dalo nehezky zabrat. Co se na začátku jevilo jako snadná práce se po bližším zkoumání XML souboru, který CherryTree používá ukázalo jako ojeb. V tomhle XML totiž jen máloco dává smysl - viz codebox.

    Člověk by čekal, že se bude jednat o značku <codebox>, jenž bude obsahovat text, který do něj vložíte. Potud je vše ok, až na to, že z nějakého nesmyslného důvodu jsou všechny nahrnuty na konec dokumentu. Proč? Kdo ví.

    Abych předvedl užitečnost konvertoru, zde je ukázka testovací nody tak jak je obsažena v přiloženém souboru ukazka.ctd:

    <node name="první" prog_lang="custom-colors" readonly="False" tags="" unique_id="1"><rich_text>Toho je obsah první nody.
    
    </rich_text><rich_text scale="h1">h1 nadpis</rich_text><rich_text>
    Zde by mohl být nějaký ten obsah:
    
    Export podporuje </rich_text><rich_text weight="heavy">tučný text</rich_text><rich_text>, </rich_text><rich_text underline="single">podtržený text</rich_text><rich_text>, </rich_text><rich_text style="italic">kurzivu</rich_text><rich_text> </rich_text><rich_text strikethrough="true" style="italic" weight="heavy">a</rich_text><rich_text> </rich_text><rich_text underline="single" weight="heavy">jejich</rich_text><rich_text> </rich_text><rich_text style="italic" weight="heavy">různé</rich_text><rich_text> </rich_text><rich_text style="italic" underline="single">kombinace</rich_text><rich_text>. Dále je zde </rich_text><rich_text scale="small">malý text</rich_text><rich_text>, </rich_text><rich_text scale="sup">horní index</rich_text><rich_text>, </rich_text><rich_text scale="sub">dolní index</rich_text><rich_text> a </rich_text><rich_text family="monospace">&lt;tt&gt; tag způsobující písmo s pevnou šířkou</rich_text><rich_text>. Jo a taky </rich_text><rich_text strikethrough="true">škrtnutý text</rich_text><rich_text>.
    
    </rich_text><rich_text scale="h2">h2 nadpis</rich_text><rich_text>
    Používat se dají </rich_text><rich_text link="webs http://kitakitsune.org/">odkazy</rich_text><rich_text>. Co CherryTree samo o sobě neumí jsou relativní odkazy, pokud je chcete použít, vytvořte odkaz na </rich_text><rich_text link="file dWthemthLmN0ZA==">lokální soubor</rich_text><rich_text>, exporter už si to přebere.
    
    </rich_text><rich_text scale="h3">h3 nadpis</rich_text><rich_text>
    Seznam podporovaných věcí se tím blíží ke konci, poslední věcí jsou codeboxy:
    
    </rich_text><rich_text justification="left"></rich_text><rich_text>
    
    </rich_text><rich_text scale="h2">další h2</rich_text><rich_text>
    Jako obsah druhého h2 si dáme další codebox:
    
    </rich_text><rich_text justification="left"></rich_text><rich_text>
    
    </rich_text><rich_text scale="h1">další h1 nadpis</rich_text><rich_text>
    </rich_text><rich_text scale="h2">poslední h2</rich_text><rich_text>
    No a zde by v ideálním světě mohlo být nějaké to závěrečné povídání.</rich_text><codebox char_offset="536" frame_height="40" frame_width="700" highlight_brackets="False" show_line_numbers="False" syntax_highlighting="html" width_in_pixels="True">HTML &lt;codebox&gt;Yay&lt;/codebox&gt;.</codebox><codebox char_offset="594" frame_height="40" frame_width="700" highlight_brackets="False" show_line_numbers="False" syntax_highlighting="html" width_in_pixels="True">Prostě jen další codebox, jen abych demonstroval, jak je pak interní XML formát nahrne na konec nody.</codebox><node name="subnoda" prog_lang="custom-colors" readonly="False" tags="" unique_id="3"><rich_text>Toto je obsah subnody.</rich_text></node></node>
    Či kód proprohnaný přes beautifier pokud se vám to nechce luštit:
    <node name="první" prog_lang="custom-colors" readonly="False" tags="" unique_id="1">
        <rich_text>Toho je obsah první nody.
    
    </rich_text>
        <rich_text scale="h1">h1 nadpis</rich_text>
        <rich_text>
    Zde by mohl být nějaký ten obsah:
    
    Export podporuje </rich_text>
        <rich_text weight="heavy">tučný text</rich_text>
        <rich_text>, </rich_text>
        <rich_text underline="single">podtržený text</rich_text>
        <rich_text>, </rich_text>
        <rich_text style="italic">kurzivu</rich_text>
        <rich_text></rich_text>
        <rich_text strikethrough="true" style="italic" weight="heavy">a</rich_text>
        <rich_text></rich_text>
        <rich_text underline="single" weight="heavy">jejich</rich_text>
        <rich_text></rich_text>
        <rich_text style="italic" weight="heavy">různé</rich_text>
        <rich_text></rich_text>
        <rich_text style="italic" underline="single">kombinace</rich_text>
        <rich_text>. Dále je zde </rich_text>
        <rich_text scale="small">malý text</rich_text>
        <rich_text>, </rich_text>
        <rich_text scale="sup">horní index</rich_text>
        <rich_text>, </rich_text>
        <rich_text scale="sub">dolní index</rich_text>
        <rich_text> a </rich_text>
        <rich_text family="monospace"><tt> tag způsobující písmo s pevnou šířkou</rich_text>
        <rich_text>. Jo a taky </rich_text>
        <rich_text strikethrough="true">škrtnutý text</rich_text>
        <rich_text>.
    
    </rich_text>
        <rich_text scale="h2">h2 nadpis</rich_text>
        <rich_text>
    Používat se dají </rich_text>
        <rich_text link="webs http://kitakitsune.org/">odkazy</rich_text>
        <rich_text>. Co CherryTree samo o sobě neumí jsou relativní odkazy, pokud je chcete použít, vytvořte odkaz na </rich_text>
        <rich_text link="file dWthemthLmN0ZA==">lokální soubor</rich_text>
        <rich_text>, exporter už si to přebere.
    
    </rich_text>
        <rich_text scale="h3">h3 nadpis</rich_text>
        <rich_text>
    Seznam podporovaných věcí se tím blíží ke konci, poslední věcí jsou codeboxy:
    
    </rich_text>
        <rich_text justification="left"></rich_text>
        <rich_text></rich_text>
        <rich_text scale="h2">další h2</rich_text>
        <rich_text>
    Jako obsah druhého h2 si dáme další codebox:
    
    </rich_text>
        <rich_text justification="left"></rich_text>
        <rich_text></rich_text>
        <rich_text scale="h1">další h1 nadpis</rich_text>
        <rich_text></rich_text>
        <rich_text scale="h2">poslední h2</rich_text>
        <rich_text>
    No a zde by v ideálním světě mohlo být nějaké to závěrečné povídání.</rich_text>
        <codebox char_offset="536" frame_height="40" frame_width="700" highlight_brackets="False" show_line_numbers="False" syntax_highlighting="html" width_in_pixels="True">HTML <codebox>Yay</codebox>.</codebox>
        <codebox char_offset="594" frame_height="40" frame_width="700" highlight_brackets="False" show_line_numbers="False" syntax_highlighting="html" width_in_pixels="True">Prostě jen další codebox, jen abych demonstroval, jak je pak interní XML formát nahrne na konec nody.</codebox>
        <node name="subnoda" prog_lang="custom-colors" readonly="False" tags="" unique_id="3">
            <rich_text>Toto je obsah subnody.</rich_text>
        </node>
    </node>
    

    Jak je možné vidět pokud si dáte tu práci s luštěním XML slitiny, v místě kde by se měl nacházet <codebox> najdeme jen <rich_text justification="left"></rich_text> a <codebox> je pak na konci nody.

    Všimněte si další podivné vlastnosti; XML tagy <rich_text> mají vždy jen plaintext obsah a nikdy v sobě nemají vloženy další tagy, jak je to zvykem u HTML. Pěkně je to vidět třeba na nadpisu:

    </rich_text><rich_text scale="h2">h2 nadpis</rich_text><rich_text>

    Autor programu prvně ukončí <rich_text>, pak přidá <rich_text scale="h2">, hned ho zase ukončí a znova otevře další <rich_text>. Jaký to má smysl opravdu netuším.

    Srovnání exportu

    CherryTree export

    Zde je vidět výstup pokud soubor vyexportujete pomocí interních mechanismů CherryTree:

    <!doctype html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><title>první</title><meta name="generator" content="CherryTree"></head><body><span style="font-family: Sans; font-size:9pt">Toho je obsah první nody.<br><br><span style="font-size:xx-large;">h1 nadpis</span><br>Zde by mohl být nějaký ten obsah:<br><br>Export podporuje <b>tučný text</b>, <span style="text-decoration:underline;">podtržený text</span>, <i>kurzivu</i> <i><b><span style="text-decoration:line-through;">a</span></b></i> <b><span style="text-decoration:underline;">jejich</span></b> <i><b>různé</b></i> <i><span style="text-decoration:underline;">kombinace</span></i>. Dále je zde <span style="font-size:x-small;">malý text</span>, <sup>horní index</sup>, <sub>dolní index</sub> a <tt>&lt;tt&gt; tag způsobující písmo s pevnou šířkou</tt>. Jo a taky <span style="text-decoration:line-through;">škrtnutý text</span>.<br><br><span style="font-size:x-large;">h2 nadpis</span><br>Používat se dají <a href="http://kitakitsune.org/">odkazy</a>. Co CherryTree samo o sobě neumí jsou relativní odkazy, pokud je chcete použít, použijte <a href="http://./ukazka.ctd">klasický internetový odkaz</a> a adresu začněte <tt>./</tt> či <tt>/</tt>. Nehleďte na to co s ním CherryTree udělá, script už si to nějak přebere.<br><br><span style="font-size:large;">h3 nadpis</span><br>Seznam podporovaných věcí se tím blíží ke konci, poslední věcí jsou codeboxy:<br><br><table border="1" style="display:inline-table; font-family: Monospace; font-size:9pt"><tr><td>HTML&nbsp;<span style="color:#008a8c;font-weight:400">&lt;codebox&gt;</span>Yay<span style="color:#008a8c;font-weight:400">&lt;/codebox&gt;</span>.</td></tr></table><br><br><span style="font-size:x-large;">další h2</span><br>Jako obsah druhého h2 si dáme další codebox:<br><br><table border="1" style="display:inline-table; font-family: Monospace; font-size:9pt"><tr><td>Prostě&nbsp;jen&nbsp;další&nbsp;codebox,&nbsp;jen&nbsp;abych&nbsp;demonstroval,&nbsp;jak&nbsp;je&nbsp;pak&nbsp;interní&nbsp;XML&nbsp;formát&nbsp;nahrne&nbsp;na&nbsp;konec&nbsp;nody.</td></tr></table><br><br><span style="font-size:xx-large;">další h1 nadpis</span><br><span style="font-size:x-large;">poslední h2</span><br>No a zde by v ideálním světě mohlo být nějaké to závěrečné povídání.</span></body></html>
    Či opět kód prohnaný přes beautifier:
    <!doctype html>
    <html>
      <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <title>
          první
        </title>
        <meta name="generator" content="CherryTree">
      </head>
      <body>
        <span style="font-family: Sans; font-size:9pt">
          Toho je obsah první nody.
          <br>
          <br>
          <span style="font-size:xx-large;">
            h1 nadpis
          </span>
          <br>
          Zde by mohl být nějaký ten obsah:
          <br>
          <br>
          Export podporuje 
          <b>
            tučný text
          </b>
          , 
          <span style="text-decoration:underline;">
            podtržený text
          </span>
          , 
          <i>
            kurzivu
          </i>
          
          <i>
            <b>
              <span style="text-decoration:line-through;">
                a
              </span>
            </b>
          </i>
          
          <b>
            <span style="text-decoration:underline;">
              jejich
            </span>
          </b>
          
          <i>
            <b>
              různé
            </b>
          </i>
          
          <i>
            <span style="text-decoration:underline;">
              kombinace
            </span>
          </i>
          . Dále je zde 
          <span style="font-size:x-small;">
            malý text
          </span>
          , 
          <sup>
            horní index
          </sup>
          , 
          <sub>
            dolní index
          </sub>
          a 
          <tt>
            <tt> tag způsobující písmo s pevnou šířkou
          </tt>
          . Jo a taky 
          <span style="text-decoration:line-through;">
            škrtnutý text
          </span>
          .
          <br>
          <br>
          <span style="font-size:x-large;">
            h2 nadpis
          </span>
          <br>
          Používat se dají 
          <a href="http://kitakitsune.org/">
            odkazy
          </a>
          . Co CherryTree samo o sobě neumí jsou relativní odkazy, pokud je chcete použít, použijte 
          <a href="http://./ukazka.ctd">
            klasický internetový odkaz
          </a>
          a adresu začněte 
          <tt>
            ./
          </tt>
          či 
          <tt>
            /
          </tt>
          . Nehleďte na to co s ním CherryTree udělá, script už si to nějak přebere.
          <br>
          <br>
          <span style="font-size:large;">
            h3 nadpis
          </span>
          <br>
          Seznam podporovaných věcí se tím blíží ke konci, poslední věcí jsou codeboxy:
          <br>
          <br>
          <table border="1" style="display:inline-table; font-family: Monospace; font-size:9pt">
            <tr>
              <td>
                HTML 
                <span style="color:#008a8c;font-weight:400">
                  <codebox>
                </span>
                Yay
                <span style="color:#008a8c;font-weight:400">
                  </codebox>
                </span>
                .
              </td>
            </tr>
          </table>
          <br>
          <br>
          <span style="font-size:x-large;">
            další h2
          </span>
          <br>
          Jako obsah druhého h2 si dáme další codebox:
          <br>
          <br>
          <table border="1" style="display:inline-table; font-family: Monospace; font-size:9pt">
            <tr>
              <td>
                Prostě jen další codebox, jen abych demonstroval, jak je pak interní XML formát nahrne na konec nody.
              </td>
            </tr>
          </table>
          <br>
          <br>
          <span style="font-size:xx-large;">
            další h1 nadpis
          </span>
          <br>
          <span style="font-size:x-large;">
            poslední h2
          </span>
          <br>
          No a zde by v ideálním světě mohlo být nějaké to závěrečné povídání.
        </span>
      </body>
    </html>

    Nádhera, že? Téměr vše je řešeno pomocí style=".." atributu, namísto aby autor použil příslušné HTML tagy. To že je vše slito na jeden řádek a probíhají tam prasárny jako nastavování velikosti písma (font-size:9pt), používání tabulek místo <pre> tagů či totální ignorace odstavců, které jsou řešeny pomocí <br> tagů radši ani nebudu komentovat.

    Co s tímto úžasným exportem udělá prakticky libovolný redakční systém je doufám jasné - pošle vás s ním do háje.

    Pokud chcete získat bobříka trpělivosti, zkuste si uvedený kód vyčistit tak, aby ho abclinuxu přijalo.

    cherrytree2html.py export

    Zde je ukázka výstupu z mého scriptu:

    <p>Toho je obsah první nody.</p>
    
    <h1>h1 nadpis</h1>
    
    <p>Zde by mohl být nějaký ten obsah:</p>
    
    <p>Export podporuje <strong>tučný text</strong>, <u>podtržený text</u>, <i>kurzivu</i> <del><i><strong>a</strong></i></del> <u><strong>jejich</strong></u> <i><strong>různé</strong></i> <u><i>kombinace</i></u>. Dále je zde <small>malý text</small>, <sup>horní index</sup>, <sub>dolní index</sub> a <tt>&lt;tt&gt; tag způsobující písmo s pevnou šířkou</tt>. Jo a taky <del>škrtnutý text</del>.</p>
    
    <h2>h2 nadpis</h2>
    
    <p>Používat se dají <a href="http://kitakitsune.org/">odkazy</a>. Co CherryTree samo o sobě neumí jsou relativní odkazy, pokud je chcete použít, použijte <a href="./ukazka.ctd">klasický internetový odkaz</a> a adresu začněte <tt>./</tt> či <tt>/</tt>. Nehleďte na to co s ním CherryTree udělá, script už si to nějak přebere.</p>
    
    <h3>h3 nadpis</h3>
    
    <p>Seznam podporovaných věcí se tím blíží ke konci, poslední věcí jsou codeboxy:</p>
    
    <pre syntax="html">HTML &lt;codebox&gt;Yay&lt;/codebox&gt;.</pre>
    
    <h2>další h2</h2>
    
    <p>Jako obsah druhého h2 si dáme další codebox:</p>
    
    <pre syntax="html">Prostě jen další codebox, jen abych demonstroval, jak je pak interní XML formát nahrne na konec nody.</pre>
    
    <h1>další h1 nadpis</h1>
    
    <h2>poslední h2</h2>
    
    <p>No a zde by v ideálním světě mohlo být nějaké to závěrečné povídání.</p>

    Download

    Script jsem hodil na github:

    https://github.com/Bystroushaak/cherrytree2html.py

    Pro jeho běh to bude chtít ještě HTML/XML parser:

    https://github.com/Bystroushaak/pyDHTMLParser

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    13.3.2013 20:49 Pepa
    Rozbalit Rozbalit vše Re: cherrytree2html.py
    Díky vyzkouším. Cherrytree je výborný program skoro tak dobrý jako Zim. Po něm následuje nejnovější betaverze Treeline :)
    13.3.2013 21:29 Tomáš
    Rozbalit Rozbalit vše To mi hlava nebere
    V zápisku jsem nenašel, že bys nabídl patch autorovi. Mohl bys tím zlepšit celou aplikaci a nebyly by potřeba žádné obezličky.
    Bystroushaak avatar 14.3.2013 03:43 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: To mi hlava nebere
    Jo. Protože jsem moc líný :3

    Musel bych mu psát v angličtině, pak nějak argumentovat proč jo a proč ne atd.. K tomu mu vysvětlovat, proč používám vlastní HTML parser (protože chci) a nakonec bych musel přidat podporu všech možností CherryTree, která tam teď není (umí to jen to, co jsem potřeboval, aby to umělo, ne všechno).
    13.3.2013 21:41 radix
    Rozbalit Rozbalit vše Re: cherrytree2html.py
    Je to sice komerc, ale na toto se mi daleko lepe osvedcil Notecase Pro.
    xkucf03 avatar 13.3.2013 22:14 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Takhle ne
    Přijde mi to jako ukázka toho, jak by XML formát neměl vypadat. Někdo se asi bál, že bude mít příliš mnoho elementů a chtěl to mít jednoduché, tak udělal jeden element rich_text a všechno nacpal do atributů. Aby to bylo ještě jednodušší nevyužil toho, že XML umožňuje krásně popisovat hierarchické struktury a zploštil to a namastil za sebe na jednu úroveň. Kódování názvu souboru do Base64 je taky zbytečnost – asi někomu přišlo příliš složité použít standardní URL kódování. Dávat do atributu link vnitřně strukturovaný text, který pak musím zase parsovat, je taky zvrácenost (slova file a webs následovaná mezerou a pak vlastním odkazem), odporuje to obecným doporučením, jak by měl XML formát vypadat. Jenže dát tam vedle toho atribut třeba typOdkazu="…" je buď nenapadlo nebo si to chtěli zjednodušit. S tou snahou věci zjednodušovat se to dneska někdy přehání. To je plno keců o KISS a averzi k enterprise a overengineeringu a pak to takhle dopadá.

    Ty codeboxy jsou taky úlet – ještě bych pochopil, kdyby se na ně odkazoval přes ID elementu (pak ať jsou klidně na konci dokumentu, ať nepřekáží dlouhé výpisy kódů uvnitř… pokud to tedy někomu vadí).

    Podstatný nedostatek je absence sémantiky – představoval bych si to tak, že v dokumentu budou vyznačení styly (nadpis, zvýrazněný text atd.) a grafické ztvárnění bude popsané zvlášť. Prostě nepoužívat WYSIWYG, ale WYSIWYM (vizuální dojem při editaci může být takřka stejný, ale data, která z toho polezou budou kvalitativně na vyšší úrovni a dále použitelná).

    Asi bych se na to vykašlal a našel si jiný software – nebo CherryTree trochu překopat: navrhnout nový XML formát s hierarchií a sémantikou a editor přepracovat na WYSIWYM.

    P.S. jeden odstavec plný nadávek a urážek jsem raději smazal :-)
    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.3.2013 23:05 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: Takhle ne
    Idealne vyhodit i to XML, kdyz uz se v tom nekdo bude hrabat ;-)
    xkucf03 avatar 14.3.2013 07:44 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Takhle ne
    Co navrhuješ místo něj? V čem by to bylo lepší?
    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
    Bystroushaak avatar 14.3.2013 03:49 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Takhle ne
    Jo, je to úlet. Problém je, že mi můj .ctd krapet nabobtnal a teď v něm mám něco přes 130 nod, takže přechod někam jinam by docela bolel. Navíc jsem s CherryTree jinak dlouhodobě spokojený a prostě se mi v něm pracuje dobře.
    Marián Kyral avatar 14.3.2013 14:14 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Takhle ne
    Na codeboxu mi vadí, že v něm nefunguje výběr a vkládání prostředním tlačítkem. Možná se někdy dostanu k tomu, že to nahlásím. Taky změna velikosti CB je možná jen klávesovými zkratkami. Roztažení myší by se mi líbilo více.
    Bystroushaak avatar 14.3.2013 14:45 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Takhle ne
    Jo, to roztažení klávesovými zkratkami docela dost saje. Hlavně proto, že mi to s pravděpodobností 50:50 shodí celé cherrytree.
    Marián Kyral avatar 16.3.2013 08:54 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Takhle ne
    Teď jsem to už nějakou dobu nepotřeboval, ale nepamatuji si, že by mi Cherrytree nějak padalo. Možná jednou dvakrát. S těmi kl. zkratkami je spíše problém, že si je nikdy nepamatuji a vždy nějakou dobu trvá, než najdu tu správnou.

    Založit nové vláknoNahoru

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