online example syntax-highlighting pandoc

syntax-highlighting - example - pandoc package



Pandoc: ¿Cuáles son los resaltadores de sintaxis disponibles? (4)

Desde pandoc 2.0.5 , también puede usar --print-highlight-style para generar un archivo de theme y editarlo.

Para mí, la mejor manera de usar esta opción es

  1. Elige un estilo agradable disponible

  2. Salida de su archivo de theme

  3. Editar el archivo de theme

  4. ¡Úsalo!

1. Estilos disponibles

Elige tu estilo, entre los ya existentes:

2. Salida de su archivo de theme

Una vez que haya decidido qué estilo es el más cercano a su necesidad, puede generar su archivo de theme , utilizando (por ejemplo, para los pygments , el estilo predeterminado):

pandoc --print-highlight-style pygments

para que pueda almacenar este estilo en un archivo, utilizando, por ejemplo,

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

3. Edita el archivo

Usando la guía de Temas JSON de Skylighting , edite el archivo de acuerdo a sus necesidades / gustos.

4. Usa el archivo

En la carpeta correcta, solo use

pandoc my_file.md --highlight-style my_style.theme -o doc.html

El punto 18 de http://pandoc.org/demos.html#examples muestra cómo cambiar el resaltador de sintaxis utilizado al dar un argumento a --highlight-style . Por ejemplo:

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

Me pregunto si estos son los únicos esquemas de color disponibles. Si no, ¿cómo puedo cargar un resaltador de sintaxis diferente? ¿Puedo definir mi propia?


El README de Pandoc dice :

--highlight-style=STYLE|FILE

Especifica el estilo de coloración que se utilizará en el código fuente resaltado. Las opciones son pygments (predeterminado), kate , monochrome , breezeDark , espresso , zenburn , haddock y tango . Para obtener más información sobre el resaltado de sintaxis en pandoc, consulte Resaltado de sintaxis , a continuación. Ver también --list-highlight-styles .

En lugar de un nombre de ESTILO , se puede suministrar un archivo JSON con la extensión .theme . Esto se analizará como un tema de resaltado de sintaxis de KDE y (si es válido) se usará como estilo de resaltado. Para ver un tema de muestra que se puede modificar, pandoc --print-default-data-file default.theme .

El skylighting biblioteca (en versiones anteriores highlighting-kate ) se utiliza para el resaltado. Si no te gusta ninguno de los esquemas de color proporcionados, puedes:

  • Especifique un archivo .theme como se mencionó anteriormente,
  • al exportar a HTML, se generan etiquetas <span> que puede personalizar con su CSS personalizado, o
  • al exportar a LaTeX / PDF, debe usar una template personalizada Pandoc LaTeX y reemplazar la parte $highlighting-macros$ con sus definiciones de color personalizadas, como se describe en este problema .

Si está utilizando Pandoc versión 1.18 (lanzada en octubre de 2016) o posterior, es posible una nueva respuesta:

pandoc --list-highlight-languages

y

pandoc --list-highlight-styles

Te daremos toda la información que estabas pidiendo.

Otros nuevos parámetros de línea de comando informativos agregados a v1.18 son:

pandoc --list-input-formats pandoc --list-output-formats pandoc --list-extensions


Si su pandoc --version indica una versión de 1.15.1 (a partir del 15 de octubre de 2015) o más reciente, puede verificar si el parámetro --bash-completion funciona para obtener una lista completa de los estilos de resaltado integrados disponibles .

correr

pandoc --bash-completion

Si funciona, verás mucha salida. Y será útil más allá de la pregunta original anterior ...

Si --bash-completion funciona, entonces ponga esta línea hacia el final de su archivo ${HOME}/.bashrc (en Mac OS X o Linux - todavía no funciona en Windows):

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

Una vez que abra un nuevo terminal, puede usar el comando pandoc con "completar la pestaña" :

pandoc --h[tab]

rendirá

--help --highlight-style --html-q-tags pandoc --hi[tab]

rendirá

pandoc --highlight-style

Respuesta a la pregunta original:

Ahora presiona la tecla [tab] una vez más, y verás

espresso haddock kate monochrome pygments tango zenburn

Es la lista de todos los resaltadores de sintaxis disponibles. Para acortar el precedente, también puede escribir

pandoc --hi[tab][tab]

Para obtener el mismo resultado.

Utilidad de la finalización de la pestaña de Pandoc más allá de la pregunta original:

La finalización de la pestaña bash de Pandoc también funciona para todos los demás conmutadores de línea de comandos:

pandoc -h[tab]

produce esto - una lista de todos los parámetros de línea de comando posibles:

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

Un caso de uso interesante para completar la pestaña de Pandoc es este:

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

da la lista de resultados de finalización para pandoc --print-default-data-file . Esta lista le proporciona una visión uniq de qué archivos de datos se cargará su instancia de Pandoc cuando esté haciendo su trabajo. Por ejemplo, podría investigar un detalle del estilo de salida ODT (archivo de texto de OpenDocument) predeterminado de Pandoc, como este:

pandoc --print-default-data-file odt/content.xml / | tr " " "/n" / | tr "<" "/n" / | grep --color "style"