Pandoc: Quels sont les surligneurs de syntaxe disponibles?

Point 18 dehttp://pandoc.org/demos.html#examples montre comment changer le surligneur de syntaxe utilisé en donnant un argument à --highlight-style. Par exemple:

pandoc code.text -s --highlight-style pygments -o example18a.html
pandoc code.text -s --highlight-style kate -o example18b.html
pandoc code.text -s --highlight-style monochrome -o example18c.html
pandoc code.text -s --highlight-style espresso -o example18d.html
pandoc code.text -s --highlight-style haddock -o example18e.html
pandoc code.text -s --highlight-style tango -o example18f.html
pandoc code.text -s --highlight-style zenburn -o example18g.html

je me demande si ce sont les seules couleurs disponibles. Si non, Comment puis-je charger un surligneur de syntaxe différent? Puis-je définir mon propre?

22
demandé sur Kurt Pfeifle 2015-06-17 02:57:12

4 réponses

Pandoc README says:

--highlight-style=STYLE|FILE

spécifie le style de coloration à utiliser dans le code source en surbrillance. Les Options sont pygments (valeur par défaut), kate, monochrome, breezeDark,espresso,zenburn,haddock et tango. Pour plus d'informations sur la syntaxe de pandoc, voir mise en évidence de la syntaxe, ci-dessous. Voir aussi --list-highlight-styles.

au lieu d'un STYLE nom, un Fichier JSON avec extension .theme peuvent être fournis. Ceci sera interprété comme un KDE la coloration syntaxique thème et (si valide) utilisé comme style en surbrillance. Pour voir un exemple de thème qui peut être modifié, pandoc --print-default-data-file default.theme.

La bibliothèque skylighting (dans les versions plus anciennes l-kate) est utilisé pour la mise en valeur. Si vous n'aimez aucune des combinaisons de couleurs fournies, vous pouvez soit:

  • Spécifier un .theme le fichier comme mentionné ci-dessus,
  • lors de l'exportation vers HTML,<span> les tags sont générés que vous pouvez modeler avec votre CSS personnalisé, ou
  • lors de l'exportation vers LaTeX / PDF, vous devez utiliser un Pandoc LaTeX personnalisé template et remplacer le $highlighting-macros$ partie avec vos définitions de couleurs personnalisées, comme décrit dans ce problème.
11
répondu mb21 2017-12-27 14:37:02

Si votre pandoc --version indique une libération de 1.15.1 (à partir du 15 octobre 2015) ou plus récent, alors vous pouvez vérifier si le --bash-completion parameter fonctionne pour vous d'obtenir une liste complète des styles de mise en évidence disponibles.

Exécuter

pandoc --bash-completion

Si cela fonctionne, vous verrez beaucoup de sortie. Et il sera utile bien au-delà de la question initiale...

Si --bash-completion fonctionne, puis mettre cette ligne vers la fin de votre ${HOME}/.bashrc fichier (sur Mac OS X ou Linux -- ne fonctionne pas sur Windows):

eval "$(pandoc --bash-completion)"

une Fois que vous ouvrez un nouveau terminal, vous pouvez utiliser le pandoc commande onglet"achèvement":

pandoc --h[tab]

rendement

--help     --highlight-style  --html-q-tags

pandoc --hi[tab]

rendement

pandoc --highlight-style

Réponse à la question d'origine:

maintenant frappez le [tab] frappez encore une fois, et vous verrez

espresso   haddock   kate   monochrome  pygments    tango    zenburn

C'est la liste de toutes les surligneurs syntaxe. Pour raccourcir le précédent, vous pourriez aussi type

pandoc --hi[tab][tab]

pour obtenir le même résultat.

Utilité de Pandoc l'onglet achèvement-delà de la question d'origine:

L'achèvement de L'onglet Bash de Pandoc fonctionne aussi pour tous les autres commutateurs de ligne de commande:

pandoc -h[tab]

fournit cette -- une liste de tous les paramètres de ligne de commande possibles:

Display all 108 possibilities? (y or n)
--ascii                    --indented-code-classes    --template
--asciimathml              --jsmath                   --title-prefix
--atx-headers              --katex                    --to
--base-header-level        --katex-stylesheet         --toc
--bash-completion          --latex-engine             --toc-depth
--biblatex                 --latex-engine-opt         --trace
--bibliography             --latexmathml              --track-changes
--chapters                 --listings                 --variable
--citation-abbreviations   --mathjax                  --verbose
--columns                  --mathml                   --version
--csl                      --metadata                 --webtex
--css                      --mimetex                  --wrap
--data-dir                 --natbib                   --write
--default-image-extension  --no-highlight             -A
--dpi                      --no-tex-ligatures         -B
--dump-args                --no-wrap                  -D
--email-obfuscation        --normalize                -F
--epub-chapter-level       --number-offset            -H
--epub-cover-image         --number-sections          -M
--epub-embed-font          --old-dashes               -N
--epub-metadata            --output                   -R
--epub-stylesheet          --parse-raw                -S
--extract-media            --preserve-tabs            -T
--file-scope               --print-default-data-file  -V
--filter                   --print-default-template   -c
--from                     --read                     -f
--gladtex                  --reference-docx           -h
--help                     --reference-links          -i
--highlight-style          --reference-odt            -m
--html-q-tags              --section-divs             -o
--id-prefix                --self-contained           -p
--ignore-args              --slide-level              -r
--include-after-body       --smart                    -s
--include-before-body      --standalone               -t
--include-in-header        --tab-stop                 -v
--incremental              --table-of-contents        -w

voici un cas d'utilisation intéressant pour L'achèvement de L'onglet Pandoc:

pandoc --print-default-d[tab][tab]

donne la liste de sortie de l'achèvement de pandoc --print-default-data-file. Cette liste vous donne un aperçu d'uniq dans quels fichiers de données votre instance de Pandoc se chargera lorsqu'elle fera son travail. Par exemple, vous pouvez examiner un détail du style de sortie ODT (OpenDocument Text file) par défaut de Pandoc comme ceci:

pandoc --print-default-data-file odt/content.xml \
 | tr " " "\n" \
 | tr "<" "\n" \
 | grep --color "style"
16
répondu Kurt Pfeifle 2016-12-05 23:37:25

si vous utilisez Pandoc version 1.18 (sorti en octobre 2016) ou une version ultérieure, une nouvelle réponse est possible:

  pandoc --list-highlight-languages

et

  pandoc --list-highlight-styles

va vous donner toutes les informations que vous demandez.

autres nouveaux paramètres informationnels ajoutés à v1.18 sont:

  pandoc --list-input-formats
  pandoc --list-output-formats
  pandoc --list-extensions
11
répondu Kurt Pfeifle 2016-10-29 08:47:21

Depuis pandoc 2.0.5, vous pouvez également utiliser --print-highlight-style sortie theme le fichier et l'éditer.

Pour moi, la meilleure façon d'utiliser cette option est à

  1. choisissez un style disponible agréable

  2. Sortie de son theme le fichier

  3. éditer le theme le fichier

  4. l'Utiliser!

1. Styles Disponibles

Choisissez votre style, parmi les un déjà existant:

breezedark

monochrome

kate

zenburn

espresso

haddock

tango

2. Sortie de son theme le fichier

une fois que vous avez décidé quel style était le plus proche de votre besoin, vous pouvez afficher son theme le fichier, en utilisant (par exemple pour pygments, le style par défaut):

pandoc --print-highlight-style pygments

pour que vous puissiez stocker ce style dans un fichier, en utilisant, par exemple,

pandoc --print-highlight-style pygments > my_style.theme

3. Modifiez le fichier

Skylighting JSON Themes guide, éditez le fichier selon vos besoins / goûts.

4. Utilisez le fichier

Dans le droit dossier, il suffit d'utiliser

pandoc my_file.md --highlight-style my_style.theme -o doc.html
10
répondu Clément 2017-12-18 20:46:12