Projekt

Obecné

Profil

Úkol #3719

uzavřený

Dlouhodobý úkol #3274: Informační systémy (aplikace)

Dlouhodobý úkol #3277: Jekyll weby

Úkol #3382: Webařský tým - celostátní web

Konverzní skript článků doku => markdown

Přidáno uživatelem Ondřej Profant před více než 7 roky(ů). Aktualizováno před téměř 7 roky(ů).

Stav:
Dokončen
Priorita:
Normální
Přiřazeno:
Kategorie:
Wiki
Cílová verze:
-
Začátek:
23.08.2016
Uzavřít do:
% Hotovo:

90%

Odhadovaná doba:
Smlouva:

Popis

Připravit automatické konvertování článků z daného namespace dokuwiki do markdownu včetně metadat v YAML. Čili konverzi obsahu dokuwiki do jekyll webu.

Problém je, že současné konvertory si neporadí s pluginy, které v dokuwiki máme, čili je bude třeba dodatečné customizace. Také je důležité stáhnout všechny zdroje (obrázky) a zkontrolovat platnost linků.

Skript je požadován v Pythonu / BASHy

Pro zkoušku lze konvertovat staré články z Prahy a přidat je na praha.pirati.cz

S Krtkovou pomocí jsem se dostal v bashi ke skriptu (v komentáři je popsáno, co je třeba dodělat):

#!/usr/bin/env bash

article_dir="articles"

function dowload_articles() {
    ns="regiony:praha:tiskove-zpravy"
    # 1. curl downloads rss feed of given namespace
    # 2. grep raw links to articles
    # 3. first sed replace start of tag and replace usual link to the export link
    # 4. second sed replace end of tag
    # 5. wget download every argument (article)
    cd articles
    wget $(curl "https://www.pirati.cz/feed.php?mode=list&linkto=current&ns=${ns}" | grep item\ rdf:about | sed 's@    <item rdf:about="https://www.pirati.cz/@https://www.pirati.cz/_export/raw/@' | sed 's@">$@@')
    cd -
}

function convert_articles() {
    clanky="${article_dir}/*";
    convert_bin="DokuWiki-to-Markdown-Converter/convert.php";
    php "${convert_bin}" "${clanky}";
    sed  -i 's/~~READMORE~~//g' "${article_dir}/*.md";
    sed  -i 's/~~NOTOC~~//g'    "${article_dir}/*.md";
    # Obrázky ve formátu: 
    # {{den_tripodu.jpg?380 }}
    # {{<nazev>.jpg?<number>}}

    # Zbudou věci typu ~~readmore~~    
}

mkdir -p "${article_dir}/";
rm -rf "${article_dir}/*";
download_articles;
convert_articles;

A samotný konvertor: https://github.com/ludoza/DokuWiki-to-Markdown-Converter.git

Také k dispozici: Atom PDF