如何将pandoc设置为SciTE中markdown文件的“编译器”?

时间:2011-10-04 03:52:06

标签: markdown scite pandoc

我最近开始在markdown写东西,并在SciTE中编辑我的文件。我在Windows中工作,这意味着我同时运行Windows命令提示符,以便在我编写过程的各个阶段生成输出文件。

我主要以相同的格式输出我的文件,并且基本上相同的命令行切换到pandoc。例如,我通常的命令看起来像这样:

pandoc [flags] -o output.html input.markdown

为清楚起见,我省略了我常用的标记。

有没有办法设置SciTE来识别我用于markdown文件的文件扩展名,并将其配置为使用类似命令字符串“编译”文件?

最终,如果这是可能的,我还想设置“Build”选项以通过markdown2pdf运行文件,也许(如果我真的很幸运)有一天会弄清楚如何配置Go来启动运行“编译”命令的HTML文件...

[编辑:我也在TEX StackExchange site发布了这个,也许这是一个更好的地方。]

1 个答案:

答案 0 :(得分:0)

这不是一个完整的Markdown模式,但它是完成你想要的一个很好的例子。

您可以将此文件作为/usr/share/scite添加到markdown.properties

# Define SciTE settings for Markdown files.

file.patterns.markdown=*.md;*.markdown

filter.markdown=Markdown (md markdown)|$(file.patterns.markdown)|

command.compile.$(file.patterns.markdown)=pandoc -o "$(FileName).html" "$(FileNameExt)"
command.go.$(file.patterns.markdown)=pandoc -o "$(FileName).html" "$(FileNameExt)" && firefox "$(FileName).html"

然后你还需要像这样应用这个补丁:patch -p1 < SciTEGlobal.properties.patch

Changes in master
    Modified SciTEGlobal.properties
diff --git a/SciTEGlobal.properties b/SciTEGlobal.properties
index 1f41382..456ac2a 100644
--- a/SciTEGlobal.properties
+++ b/SciTEGlobal.properties
@@ -294,7 +294,7 @@ chars.accented=
 source.files=*.asm;*.c;*.cc;*.cpp;*.cxx;*.cs;*.h;*.hh;*.hxx;*.hpp;\
 *.idl;*.odl;*.rc;*.rc2;*.dlg;*.def;\
 *.vb;*.vbs;*.bas;*.frm;*.cls;*.ctl;\
-*.java;*.js;*.py;*.pl;*.rb;*.cgi;*.lua;*.conf;\
+*.java;*.js;*.py;*.pl;*.rb;*.cgi;*.lua;*.md;*.markdown;*.conf;\
 make*;*.mak;\
 *.properties;*.html;*.xml;*.iface;*.bat;*.e

@@ -330,6 +330,7 @@ $(filter.kix)\
 $(filter.lout)\
 $(filter.lua)\
 $(filter.matlab)\
+$(filter.markdown)\
 $(filter.metapost)\
 $(filter.mmixal)\
 #$(filter.modula3)\
@@ -508,6 +509,7 @@ Lisp|lisp||\
 Lu&a|lua||\
 Matlab|m.matlab||\
 &Makefile|mak|Ctrl+Shift+F11|\
+Markdown|markdown||\
 #MetaPost|mp||\
 #MMIXAL|mms||\
 #Modula-3|m3||\
@@ -590,6 +592,7 @@ import lot
 #import lout
 import lua
 import matlab
+import markdown
 import metapost
 import mmixal
 #import modula3