编辑器使用Notepad++,Pandoc使用目前最新的1.13.2版本。shell环境使用msys。
Contents
Notepad++配置Markdown语法高亮
下载Markdown语法规则文件,安装方法如下:
just copy the userDefineLang.xml to the npp folder
if you install the notepad++ with installer,you have to copy the userDefineLang.xml to%APPDATA%\Notepad++ ctrl+r and copy %APPDATA%\Notepad++ ,goto the floder. 😀
之后重启Notepad++即可。在语言->自定义语言格式,下拉选择Markdown,可以配置Markdown文件的扩展名。
Notepad++运行Markdown
Notepad++菜单栏,运行,输入如下命令
cmd /c pandoc -s "$(FULL_CURRENT_PATH)" -o "$(CURRENT_DIRECTORY)\$(NAME_PART).html" --toc --smart --highlight-style=tango --template=pm-template.html5 & cmd /c chrome "$(CURRENT_DIRECTORY)\$(NAME_PART).html"
可以保存命令,设置名并设置快捷键。
这条借助Pandoc生成html,然后用浏览器打开。这里需要注意运行命令有长度限制,因此chrome需要加环境变量,这样就可以缩短命令长度。
Notepad++的全局变量
```
$(FULL_CURRENT_PATH) : E:\my Web\main\welcome.html
$(CURRENT_DIRECTORY) : E:\my Web\main
$(FILE_NAME) : welcome.html
$(NAME_PART) : welcome
$(EXT_PART) : html
$(NPP_DIRECTORY) : the full path of notepad++'s directory
$(CURRENT_WORD) : word(s) you selected in Notepad++
$(CURRENT_LINE) : current line number
$(CURRENT_COLUMN) : current column number
```
cmd命令相关
cmd /c dir 是执行完dir命令后关闭命令窗口。
cmd /k dir 是执行完dir命令后不关闭命令窗口。
cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。
cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。
Pandoc环境设置
pandoc --version可以查看Pandoc支持高亮的语言及Pandoc的data-dir
$ pandoc --version pandoc.exe 1.13.2 Compiled with texmath 0.8.0.1, highlighting-kate 0.5.11.1. Syntax highlighting is supported for the following languages: abc, actionscript, ada, agda, apache, asn1, asp, awk, bash, bibtex, boo, c, changelog, clojure, cmake, coffee, coldfusion, commonlisp, cpp, cs, css, curry, d, diff, djangotemplate, dockerfile, dot, doxygen, doxygenlua, dtd, eiffel, email, erlang, fasm, fortran, fsharp, gcc, glsl, gnuassembler, go, haskell, haxe, html, ini, isocpp, java, javadoc, javascript, json, jsp, julia, latex, lex, lilypond, literatecurry, literatehaskell, lua, m4, makefile, mandoc, markdown, mathematica, matlab, maxima, mediawiki, metafont, mips, modelines, modula2, modula3, monobasic, nasm, noweb, objectivec, objectivecpp, ocaml, octave, opencl, pascal, perl, php, pike, postscript, prolog, pure, python, r, relaxng, relaxngcompact, rest, rhtml, roff, ruby, rust, scala, scheme, sci, sed, sgml, sql, sqlmysql, sqlpostgresql, tcl, tcsh, texinfo, verilog, vhdl, xml, xorg, xslt, xul, yacc, yaml, zsh Default user data directory: C:\Users\admin\AppData\Roaming\pandoc Copyright (C) 2006-2014 John MacFarlane Web: http://johnmacfarlane.net/pandoc This is free software; see the source for copying conditions. There is no warranty, not even for merchantability or fitness for a particular purpose.
data-dir中建立templates目录,模板放在data-dir/templates下就可以直接在命令行中用模板文件名引用模板,无需路径。
pandoc -D FORMAT可以导出该格式的默认模板,基于默认模板可以自己定制模板,将定制的模板放到data-dir中就可以方便的引用了。
懒人可以到网上搜模板,比如这个链接:https://github.com/tzengyuxio/pages
文件组织及转换脚本
src中放每章节的内容,Pandoc可以将多个input file连接成一个input,因此可以用这个特性更好的组织源文件:每章节一个文件,然后转换成单一的pdf或者html文件
E:. │ convert.sh │ push │ sinadoc.html │ sinadoc.pdf └─src 1-int-jumper.md 2-int-cf.md
转换脚本
#!/bin/bash chapters=`ls src/*.md` function getPDF() { pandoc $chapters -o sinadoc.pdf --toc --smart --highlight-style=tango --template=pm-template.latex --latex-engine=xelatex } function getHTML() { pandoc $chapters -o sinadoc.html --toc --smart --highlight-style=tango --template=pm-template.html5 } if [ $# -eq 0 ];then getHTML getPDF elif [ "$1"x = "pdf"x ];then getPDF elif [ "$1"x = "html"x ];then getHTML fi
托管到git服务器
#!/bin/bash [ $# -lt 1 ] && echo "comment needed.." && exit 1 git add -A commit=$1 [ "$commit"x = ""x ] && commit=commit git commit -m "$commit" git push origin
参考资料
[1]. https://github.com/jumplee/nppMarkdown [2]. http://www.cnblogs.com/maxupeng/archive/2011/05/04/2036136.html [3]. http://blog.csdn.net/liuyukuan/article/details/5974517 [4]. https://github.com/tzengyuxio/pages [5]. http://pandoc.org/demos.html
请教下如何将MARKDOWN转换成DOKUWIKI格式?试了下PANDOC转换出来一堆HTML语法...纠结死了
pandoc -f markdown -t dokuwiki xxx.md -o xxx.doku.txt
我也是用这个命令的.但是夹带太多HTML标记了.例如:
HTML fragment:> pandoc MANUAL.txt -o example1.html
发上来都被转换格式了.汗< /HTML>< HTML>< p>< /HTML>HTML with smart quotes, table of contents, CSS, and custom footer:> < HTML>< /HTML>pandoc -s -S --toc -c >pandoc.css -A footer.html MANUAL.txt -o example3.html< HTML>< /p> HTML>< HTML>< /li>< /HTML>