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 示例,但没有一个适用于这种情况。尝试了很多字体(从 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:
基于, since Pandoc 1.12.x (source) is possible to provide more metadata to Pandoc adding a YAML block code。
在较新的 Pandoc 版本中,我还添加了一个标题键以避免出现“[警告] 此文档格式需要一个非空元素。”。
---
title: My File
header-includes: |
<style>
body {
font-family: "Liberation Sans";
}
</style>
---
我仍然看不出从 Markdown 而不是 LaTeX 到 HTML 而不是 PDF 在这方面的根本区别。
更新:这在 pandoc 2.11 中是可能的。详情见MANUAL,但例如:
---
mainfont: sans-serif
---
my markdown
旧答案:你说的字体变量只针对LaTeX/PDF输出。要设置 HTML 的样式,您需要 CSS。例如,您可以将其放入降价文件中:
---
header-includes: |
<style>
body {
font-family: sans-serif;
}
</style>
---
my markdown
或者您可以:
- 使用
--css
- 复制
~/.pandoc/templates/styles.html
中的default styles.html
partial并修改。 (如果目录不存在,您可以创建目录。)
- 使用 template like this one...
此外:pandoc 1.19 很古老,请参阅 https://pandoc.org/installing.html
另一种基于 mb21's one 的解决方案是使用单独的 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
一个metadata.yaml
内容示例:
---
header-includes: |
<style>
body {
font-family: "DejaVu Sans";
}
</style>
---
AFAIK 无法仅通过 --metadata
在同一个 on-liner 命令上提供整个样式。
将剪贴板转换为格式化呈现文本的另一个非常有用的在线工具是(在 Mac 上使用 pbpaste
):
xsel -b | pandoc -s -f markdown -t html | xclip -selection clipboard -t text/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 示例,但没有一个适用于这种情况。尝试了很多字体(从 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:
基于
在较新的 Pandoc 版本中,我还添加了一个标题键以避免出现“[警告] 此文档格式需要一个非空元素。”。
---
title: My File
header-includes: |
<style>
body {
font-family: "Liberation Sans";
}
</style>
---
我仍然看不出从 Markdown 而不是 LaTeX 到 HTML 而不是 PDF 在这方面的根本区别。
更新:这在 pandoc 2.11 中是可能的。详情见MANUAL,但例如:
---
mainfont: sans-serif
---
my markdown
旧答案:你说的字体变量只针对LaTeX/PDF输出。要设置 HTML 的样式,您需要 CSS。例如,您可以将其放入降价文件中:
---
header-includes: |
<style>
body {
font-family: sans-serif;
}
</style>
---
my markdown
或者您可以:
- 使用
--css
- 复制
~/.pandoc/templates/styles.html
中的defaultstyles.html
partial并修改。 (如果目录不存在,您可以创建目录。) - 使用 template like this one...
此外:pandoc 1.19 很古老,请参阅 https://pandoc.org/installing.html
另一种基于 mb21's one 的解决方案是使用单独的 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
一个metadata.yaml
内容示例:
---
header-includes: |
<style>
body {
font-family: "DejaVu Sans";
}
</style>
---
AFAIK 无法仅通过 --metadata
在同一个 on-liner 命令上提供整个样式。
将剪贴板转换为格式化呈现文本的另一个非常有用的在线工具是(在 Mac 上使用 pbpaste
):
xsel -b | pandoc -s -f markdown -t html | xclip -selection clipboard -t text/html