Pando c: изменить семейство шрифтов на sans при преобразовании из Markdown в HTML - PullRequest
2 голосов
/ 07 августа 2020

Я успешно получаю красивый форматированный текст, который я мог бы вставить где угодно, используя:

cat myFile.md | pandoc -s -f markdown -t html | xclip -selection clipboard -t text/html

xclip - это интерфейс командной строки для выбора X (буфер обмена). С ... -t html -o myFile.html тоже отлично работает.

Я пытаюсь изменить семейство шрифтов с Serif по умолчанию на другое семейство Sans-serif. Я нашел много примеров с LaTex, PDF и DO C, но ни один из них не работает в этом сценарии. Пробовал много шрифтов (перечислены из fc-list : family, даже после установки пакета texlive-xetex). Ближайший ответ, который я смог найти, был этот .

Я пытаюсь просто использовать определенные параметры в CLI, пытаясь избежать таких вещей, как --css source/styles.css.

Использование pando c 1.19.2.4 поверх Ubuntu 18.04.

Некоторые --variable Я пробовал:

-V fontfamily:arev
-V fontfamily:Ubuntu
-V fontfamilyoptions:sfdefault
-V "mainfont:DejaVuSans"
-V mainfont="DejaVu Sans Serif"
-V "sansfont:DejaVuSans"

Редактировать 1 :

На основе mb21 ответ , поскольку Pando c 1.12.x ( source ) может предоставить дополнительные метаданные в Pando c добавив код блока YAML .

В более новых версиях Pando c я также добавил ключ заголовка, чтобы избежать «[ПРЕДУПРЕЖДЕНИЕ] Этот формат документа требует непустого элемента».

---
title: My File
header-includes: |
  <style>
    body {
      font-family: "Liberation Sans";
    }
  </style>
---

Я все еще не увидеть фундаментальную разницу в этом аспекте между переходом из Markdown вместо LaTeX и переходом на HTML вместо PDF.

Ответы [ 2 ]

2 голосов
/ 07 августа 2020

Указанные вами переменные шрифта предназначены только для вывода LaTeX / PDF. Чтобы создать стиль HTML, вам нужно CSS. Вы можете, например, поместить это в свой файл уценки:

---
header-includes: |
  <style>
    body {
      font-family: sans-serif;
    }
  </style>
---

my markdown

В качестве альтернативы вы можете:

Также: pando c 1.19 является древним, см. https://pandoc.org/installing.html

0 голосов
/ 18 августа 2020

Другое решение, основанное на mb21 , использует отдельный файл YAML, вариант --metadata-file с этим кодом, например, metadata.yaml.

Я даю заголовок с --metadata .

cat myFile.md | pandoc -s -f markdown -t html --metadata-file metadata.yaml --metadata title="My File" -o myFile.html

A metadata.yaml Пример содержимого:

---
header-includes: |
  <style>
    body {
      font-family: "DejaVu Sans";
    }
  </style>
---

AFAIK не может предоставить весь стиль только с помощью --metadata одной и той же онлайн-команды.

...