2011-10-04 20 views
1

我最近開始用markdown編寫東西,並在SciTE中編輯我的文件。我在Windows上工作,所以這意味着我正在同時運行Windows命令提示符以在寫入過程的各個階段生成輸出文件。如何將pandoc設置爲SciTE中降價文件的'編譯器'?

我主要以相同的格式輸出我的文件,並使用基本相同的命令行切換到pandoc。例如,我通常的命令如下所示:

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

爲了清楚起見,我省略了通常的標誌。

有沒有什麼辦法可以設置SciTE來識別我用於降價文件的文件擴展名,並將其配置爲使用類似這樣的命令字符串來「編譯」文件?

最終,如果這是可能的,我還想設置「Build」選項來通過markdown2pdf運行文件,也許(如果我真的很幸運)有一天會弄清楚如何配置Go來啓動那來自運行「編譯」命令的HTML文件...

[編輯:我貼在TEX StackExchange site這種過度爲好,也許這是一個更好的地方]

回答

0

這是不是一個完整的降價模式,但它是一個很好的例子,可以完成你想要的任務。

您可以將此文件添加到/usr/share/scitemarkdown.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 
+0

謝謝!我還沒有嘗試過,但我應該能夠從這裏弄清楚。 –