簡體   English   中英

Pandoc:從 Markdown 轉換為 HTML 時將字體系列更改為 sans

[英]Pandoc: Change font family to sans while converting from Markdown to HTML

我成功地得到了一個很好的格式化文本,我可以使用以下方法粘貼到任何地方:

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 和 DOC 的例子,但沒有一個適用於這種情況。 嘗試了很多 fonts (從fc-list: family列出,即使在安裝texlive-xetex包之后)。 我能找到的最接近的答案是這個

我試圖只在 CLI 上使用某些參數,試圖避免--css source/styles.css類的東西。

在 Ubuntu 18.04 上使用 pandoc 1.19.2.4。

一些--variable我試過了:

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

編輯 1

根據mb21 的回答,由於 Pandoc 1.12.x(來源)可以向 Pandoc 添加更多元數據,添加YAML 塊代碼

在較新的 Pandoc 版本上,我還添加了標題鍵以避免“[警告]此文檔格式需要非空元素。”。

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

我仍然看不到來自 Markdown 而不是 LaTeX 和去 HTML 而不是 ZA18D1B6803DFC65 之間的根本區別。

更新:這在 pandoc 2.11 中是可能的。 有關詳細信息,請參閱MANUAL ,但例如:

---
mainfont: sans-serif
---

my markdown

舊答案:您提到的字體變量僅適用於 LaTeX/PDF output。 要設計 HTML,您需要 CSS。 例如,您可以將其放入 markdown 文件中:

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

my markdown

或者,您可以:

另外:pandoc 1.19 是古老的,請參閱https://pandoc.org/installing.html

另一種基於mb21 的解決方案是使用單獨的 YAML 文件,--metadata --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

一個metadata.yaml內容示例:

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

AFAIK 無法僅通過--metadata在同一在線命令上提供整個樣式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM