使用Pandoc命令将Markdown格式文件转换为HTML格式文件

一、Pandoc命令介绍

Pandoc是一个强大的格式语言转换工具,被称为该领域的“瑞士军刀”。比如可用Pandoc命令将Markdown格式文件转换成HTML格式文件。

二、具体转换命令

具体转换命令如下:

pandoc --standalone --self-contained --css pandoc.css src.md --output target.html

以上转换命令中选项含义介绍如下。
1、“–standalone”
为目标格式文件增加合适的“header”和“footer”。如果目标格式是“HTML”,那么通过该选项可解决“由于未设置合适的字符编码,而导致的乱码问题”。
2、“–self-contained”
如果目标格式是“HTML”,那么可得到如下效果:在转换得到目标HTML文件的过程中,会将依赖的“脚本,CSS,图片,视频”等文件的内容内嵌到目标HTML文件中。
3、“–css pandoc.css”
使得目标格式文件最后使用“pandoc.css”文件作为CSS文件,否则,使用默认的CSS文件有可能只能得到丑陋的展现效果。
4、“src.md”
原文件,从中也可以知道原文件的格式为“Markdown”。
5、“–output target.html”
指定目标文件路径,从中也可以知道目标文件的格式为“HTML”。

三、选用的CSS文件

使用Pandoc命令将Markdown格式文件转换成HTML格式文件,目标HTML文件如果使用默认的CSS文件,那么展现效果非常丑陋,因而需要使用独立的CSS文件。
本人使用的CSS文件内容如下,来自于链接:

/* * I add this to html files generated with pandoc. */

html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

body { color: #444; font-family: Georgia, Palatino, 'Palatino Linotype', Times, 'Times New Roman', serif; font-size: 12px; line-height: 1.7; padding: 1em; margin: auto; max-width: 42em; background: #fefefe; }

a { color: #0645ad; text-decoration: none; }

a:visited { color: #0b0080; }

a:hover { color: #06e; }

a:active { color: #faa700; }

a:focus { outline: thin dotted; }

*::-moz-selection { background: rgba(255, 255, 0, 0.3); color: #000; }

*::selection { background: rgba(255, 255, 0, 0.3); color: #000; }

a::-moz-selection { background: rgba(255, 255, 0, 0.3); color: #0645ad; }

a::selection { background: rgba(255, 255, 0, 0.3); color: #0645ad; }

p { margin: 1em 0; }

img { max-width: 100%; }

h1, h2, h3, h4, h5, h6 { color: #111; line-height: 125%; margin-top: 2em; font-weight: normal; }

h4, h5, h6 { font-weight: bold; }

h1 { font-size: 2.5em; }

h2 { font-size: 2em; }

h3 { font-size: 1.5em; }

h4 { font-size: 1.2em; }

h5 { font-size: 1em; }

h6 { font-size: 0.9em; }

blockquote { color: #666666; margin: 0; padding-left: 3em; border-left: 0.5em #EEE solid; }

hr { display: block; height: 2px; border: 0; border-top: 1px solid #aaa; border-bottom: 1px solid #eee; margin: 1em 0; padding: 0; }

pre, code, kbd, samp { color: #000; font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 0.98em; }

pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

b, strong { font-weight: bold; }

dfn { font-style: italic; }

ins { background: #ff9; color: #000; text-decoration: none; }

mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sup { top: -0.5em; }

sub { bottom: -0.25em; }

ul, ol { margin: 1em 0; padding: 0 0 0 2em; }

li p:last-child { margin-bottom: 0; }

ul ul, ol ol { margin: .3em 0; }

dl { margin-bottom: 1em; }

dt { font-weight: bold; margin-bottom: .8em; }

dd { margin: 0 0 .8em 2em; }

dd:last-child { margin-bottom: 0; }

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }

figure { display: block; text-align: center; margin: 1em 0; }

figure img { border: none; margin: 0 auto; }

figcaption { font-size: 0.8em; font-style: italic; margin: 0 0 .8em; }

table { margin-bottom: 2em; border-bottom: 1px solid #ddd; border-right: 1px solid #ddd; border-spacing: 0; border-collapse: collapse; }

table th { padding: .2em 1em; background-color: #eee; border-top: 1px solid #ddd; border-left: 1px solid #ddd; }

table td { padding: .2em 1em; border-top: 1px solid #ddd; border-left: 1px solid #ddd; vertical-align: top; }

.author { font-size: 1.2em; text-align: center; }

@media only screen and (min-width: 480px) {
  body { font-size: 14px; }
}
@media only screen and (min-width: 768px) {
  body { font-size: 16px; }
}
@media print {
  * { background: transparent !important; color: black !important; filter: none !important; -ms-filter: none !important; }

  body { font-size: 12pt; max-width: 100%; }

  a, a:visited { text-decoration: underline; }

  hr { height: 1px; border: 0; border-bottom: 1px solid black; }

  a[href]:after { content: " (" attr(href) ")"; }

  abbr[title]:after { content: " (" attr(title) ")"; }

  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }

  pre, blockquote { border: 1px solid #999; padding-right: 1em; page-break-inside: avoid; }

  tr, img { page-break-inside: avoid; }

  img { max-width: 100% !important; }

  @page :left { margin: 15mm 20mm 15mm 10mm; }

  @page :right { margin: 15mm 10mm 15mm 20mm; }

  p, h2, h3 { orphans: 3; widows: 3; }

  h2, h3 { page-break-after: avoid; }
}



参考文献:
[1]https://gist.github.com/killercup/5917178
[2]https://gist.github.com/ryangray/1882525
[3]https://zh.wikipedia.org/wiki/Pandoc

你可能感兴趣的:(html,markdown,语言)