使用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

时间: 2024-07-31 04:17:06

使用Pandoc命令将Markdown格式文件转换为HTML格式文件的相关文章

ubuntu下用java代码调用命令将java格式文件转换为html格式文件

首先我们应该在电脑上装上GNU Source-highlight 3.1.7,给个链接参考: http://www.gnu.org/software/src-highlite/#mozTocId120994 下面代码实现了 将java类型的代码转换为html文件类型的代码,如果java代码的文件名为 helloword.java,则转换为html格式的文件名为helloword.java.html,将java代码在浏览器上显示出来.其次我还将html文件中的内容提取出来,便于在html文件里编写

将excel2003文档文件转换为excel2007格式

在sharepoint 2010 中,excel2007或excel 2010文档格式,支持web app 应用,能够在浏览器在线打开,查看,但excel 2003格式的文档只能用office客户端打开,为了让上传的文档能够直接支持web app,只能将上传的excel 2003文档转换成excel 2007 文档再上传.文档转换的code如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.

PDF可以转换为CAD格式吗?怎么将PDF文件转换为CAD格式?

PDF可以转换为CAD格式吗?怎么将PDF文件转换为CAD格式?相信不小小伙伴对这个问题都会存有疑问,毕竟我们经常会在工作中将CAD图纸文件转换为PDF格式,而在此将PDF转换为CAD格式,确实很多人都存有疑问的! 将CAD图纸文件转换为PDF格式进行保存,一是微视方便查阅图纸,二则是因为CAD图纸文件过于庞大,而其中又包含了许多图形,只有PDF格式的图纸才可以最大程度上的还原原有CAD图纸 的文件内容!一般来说CAD图纸的转换格式是不可逆的,PDF可以转换为CAD格式吗?怎么将PDF文件转换为

用Matlab将ORL人脸数据库的pgm格式批量转换为jpg格式

%{ 将ORL人脸数据库的pgm格式批量转换为jpg格式 %} clc;    % clear all; for i=1:40 for j=1:10 image=imread(strcat('E:\pic\att_faces\s',... int2str(i),'\',int2str(j),'.pgm')); imwrite(image,strcat('E:\pic\att_faces\s',... int2str(i),'\',int2str(j),'.jpg')); end disp(str

LibSVM文件转换为csv格式

Spark MLlib 的官方例子里面提供的数据大部分是 libsvm 格式的.这其实是一种非常蛋疼的文件格式,和常见的二维表格形式相去甚远,下图是里面的一个例子: libsvm 文件的基本格式如下: <label> <index1>:<value1> <index2>:<value2>- label 为类别标识,index 为特征序号,value 为特征取值.如上图中第一行中 0 为标签,128:51 表示第 128 个特征取值为 51 . S

raw虚拟机文件转换为vmdk虚拟机文件

raw为最原始的虚拟机镜像文件,vmdk是vmware的虚拟机镜像文件,如果要查看raw文件中的内容可以先把raw文件转换为vmdk文件,然后再用vmware虚拟机打开vmdk文件. raw文件转化为vmdk文件需要qemu-img命令(对应有Windows和Linx版本) qemu-img convert -f raw xxxx.raw -O vmdk xxxx.vmdk 原文地址:https://www.cnblogs.com/cppsurain/p/8650219.html

PHP 将amr音频文件转换为mp3格式

说下整体思路 1.服务器安装ffmpeg 2.使用ffmpeg -i 指令来转换amr为mp3格式(这个到时候写在PHP代码中,使用exec函数执行即可) 3.在网页端使用HTML5的audio标签来播放mp3文件 下面是操作细节: 一.服务器安装ffmpeg以cenos为例 此处参考:http://my.oschina.NET/ethan09/blog/372435 需要特别注意的是,在下面的方法中,amrnb和amrwb的安装到make环节会请求3gp的一个网址,一般是请求不到的,可以用cr

uiautomator日志文件转换为junit格式文件

内容比较简单,使用工具automator-log-converter.jar 输入命令:“java –jar automator-log-converter.jar  repotr.txt report.xml ,然后你就看到了同级目录下有一个xml文件了,送上那个工具,好像没有上传附件的工具,如有需要可以联系我:[email protected]

新款文章,绝无仅有!微信语音aud文件转换为mp3格式

前提 需求: 目前aud后缀的音频文件无法在任何软件上进行播放,需要进行转换,而当你有需要的时候,例如语音作为追债证据的时候,需要将语音文件分享给其它人听,这时候就需要在手机中找到对应的aud语音文件,然后转换成mp3. 一.首先怎么找aud文件? 额,这个较为繁琐.我的iphone是新买的,没有root过能找aud文件么? ok,当然能.你需要用一款软件对你所有的数据进行备份,因为你直接在手机里找是无法找到的 A.下载"爱思助手",备份你数据到电脑上 B.这个较长哈,取决于你的数据量