pandoc
Pandoc est “le couteau suisse de la création des documents”, une application en ligne de commande permettant de convertir un fichier texte balisé depuis les formats :
- reStructuredText
- textile
- HTML
- DocBook
Vers les formats :
- Formats HTML : XHTML, HTML5, et diaporama HTML Slidy, S5, ou DZSlides.
- Formats de traitements de texte : Microsoft Word docx, OpenOffice/LibreOffice ODT, OpenDocument XML
- Ebooks : EPUB
- Formats de documentation : DocBook, GNU TexInfo, Groff man pages
- TeX, LaTeX, ConTeXt, LaTeX Beamer slides
- PDF via LaTeX
- Formats balisés légers : Markdown, reStructuredText, AsciiDoc, MediaWiki markup, Emacs Org-Mode, Textile.
https://doc.ubuntu-fr.org/pandoc
dokuwiki->md
convertir dokuwiki en markdown
pandoc -s -r dokuwiki dokuwiki.txt -t markdown > dokuwiki.md
libreoffice->md
convertir libreoffice en markdown
pandoc -s -r odt file.odt -t markdown > file.md
docx (word)libreoffice->md
convertir word en markdown
pandoc file.docx -o file.md --wrap=preserve --markdown-headings=atx
html->dokuwiki
exemple: convertir un export de vos signets firefox au format dokuwiki
pandoc -s -r html bookmarks.html -t dokuwiki > bookmarks.txt
html->md
exemple: convertir un export de vos signets firefox au format dokuwiki
pandoc -s -r html bookmarks.html -t markdown > bookmarks.md
docx->dokuwiki
convertir un fichier word_daube en DW
pandoc -s -r docx word_daube.docx -t dokuwiki > bookmarks.txt
créer une table des matières
./pandoc -s --toc input.md -o output.md
markdown->epub via pandoc
powerpoint
je déteste powerpoint et j'utilise à la place reveal.js, maintenant, si vous avez des infâmes pauvrepoint à convertir l'opération semble délicate… on m'a demandé comment faire cela en bash scripting sur un grand volume de fichiers
la seule chose à laquelle on parvient facilement est convertir le ppt en pdf puis le pdf en text, il faut ensuite tout faire à la main, ex. de script avec un résultat médiocre au final:
notes:
- il faudrait ajouter une boucle du type find . -name “*.pptx” | while read i …“ (voir p. ex. ogg2mp3), l'exemple ici est juste sur un fichier
- on utilise pdfToText car pandoc sait uniquement générer du pdf, pas le convertir
soffice --headless --convert-to pdf pauvrepoint_MS_daube.pptx htmltotext -layout pauvrepoint_MS_daube.pdf
aller plus loin?
sur https://maeda.pm/2023/10/01/how-to-convert-pptx-to-markdown/ il est indiqué que l'on perd tout ce qui n'est pas texte, à moins d'utiliser le script proposé, car il faut auparavant convertir le ppt en rtf…
on peut essayer des outils du genre de https://github.com/phlummox/pptx-to-md (pas testé)
adoc2odt (Libre Office generation)
avant de générer, créer un répertoire
~/.pandoc
y placer un document avec le style de référence - son contenu sera ignoré, p.ex. https://framabook.org/libreoffice-cest-style/ (copie locale)
prévoir aussi d'avoir un asciidoc.css
ensuite, dans le répertoire souhaité, faire un
#cree html asciidoctor --attribute stylesheet=asciidoctor.css $livre.adoc #cree odt pandoc --base-header-level=3 -V date:"" -V title:"" -f html $livre.html -o $livre.odt
LyX export to markdown
Command line (Lyx > Markdown)
lyx --export latex file.lyx pandoc --no-wrap -f latex -t markdown file.tex > file.md
Command line (Markdown > Lyx)
pandoc --no-wrap -f markdown -t latex file.md > file.tex && tex2lyx file.tex && lyx file.lyx
(--no-wrap makes sure we don't screw up e.g. \hrefs by spanning them over multiple lines)
sudo apt-get install pandoc lyx
Générer du pdf
Il est possible de générer facilement du pdf avec une commande du type
pandoc -o doc.pdf -f markdown -t pdf doc.md
Auparavant, il faut s'assurer d'avoir les outils suivants:
sudo apt-get install texlive-latex-base sudo apt-get install texlive-fonts-recommended sudo apt-get install texlive-fonts-extra sudo apt-get install texlive-latex-extra
Alternative moins lourde avec l'outil “light” wkhtmltopdf:
# installer wkhtmltopdf sudo apt-get install wkhtmltopdf # créer un doc html (on peut ajouter de la css etc) pandoc -s -r markdown doc.md -t html > doc.html # génération du pdf wkhtmltopdf doc.html doc.pdf
Utiliser pandoc pour générer du pdf depuis asciidoc
Très pratique si on veut éviter asciidoctor, mais moins puissant, pour fabriquer un pdf depuis asciidoc
edit your document in asciidoc or asciidoctor convert your document to docbook: asciidoctor -b docbook5 your asciidoc document. convert your docbook document to (xe)latex using pandoc: pandoc -f docbook your docbook document --pdf-engine=xelatex
source: https://stackoverflow.com/questions/48419521/converting-asciidoc-to-latex#49694173