簡(jiǎn)潔的 Markdown 編輯器 Smark

說白了只是為了自己方便使用,并沒有什么新奇的東西。我使用[pandoc](httt://www.baidu.com)來轉(zhuǎn)化`markdown`,但是我不想在修改文件時(shí)總是在編輯器、文字終端和瀏覽器間換來?yè)Q去,因此我寫了一個(gè)簡(jiǎn)單的編輯器,它在后臺(tái)調(diào)用`pandoc`將當(dāng)前編輯的`markdown`內(nèi)容轉(zhuǎn)化為`HTML`,而后將`HTML`在`smark`中的瀏覽器中顯示出來,就是這么回事次慢。Smark依賴于`pandoc`、`Qt 4.8`和`MathJax`,在此向上述軟件包開發(fā)者們致敬翔曲。請(qǐng)注意繼承于pandoc的發(fā)布協(xié)議迫像,Smark同樣遵循GPL,如有任何疑問請(qǐng)聯(lián)系bochengren@163.com,我將盡快做出回復(fù)。
主要特性:
-`Windows`/`Linux`等主流系統(tǒng)跨平臺(tái)支持瞳遍;
-完美支持`LATEX`數(shù)學(xué)公式闻妓、腳注、尾注等,支持使用本地`MathJax`調(diào)用掠械,不需要在線訪問`MathJax CDN`由缆;
-用戶可配置的`Markdown`語(yǔ)法高亮顯示,美觀整潔猾蒂;
-多種格式文件導(dǎo)出支持均唉,可將當(dāng)前`Markdown`文件另存為`HTML`、`Miscrosoft Word`肚菠、`OpenOffice`/`LibreOffice``ODT Document`舔箭、`Latex`、`PDF`蚊逢、`reStructured Text`层扶、`Media Wiki markup`箫章、`epub`以及`plain txt`等格式文件輸出;
-可通過用戶指明`CSS`文件定義顯示式樣怒医;
-簡(jiǎn)潔友好的界面布局炉抒,盡可能地凸顯正在編輯的內(nèi)容奢讨;
-系統(tǒng)稚叹、完備的各類快捷鍵,極大地提高了工作效率拿诸;
##安裝 Smark
對(duì)于`Win32`平臺(tái)的用戶扒袖,您可以直接下載當(dāng)前版本的可執(zhí)行程序[Smark-X.X-Win32-portable.zip](http://pan.baidu.com/s/1ntMCVFV)。對(duì)于其它平臺(tái)的用戶亩码,可以下載當(dāng)前版本的 Smark 源代碼[Smark-X.X-src.zip](http://pan.baidu.com/s/1ntMCVFV)在本平臺(tái)上進(jìn)行編譯即可季率,一般地您可以按照如下步驟編譯`Smark`:
1.安裝依賴的程序包:
$ sudo apt-get install qtsdk
$ sudo apt-get install pandoc
如果您不使用 `apt-get` 作為軟件包管理器,自己谷歌搜索如何安裝這兩個(gè)程序包
2.下載 Smark 源代碼[Smark-X.X-src.zip](http://pan.baidu.com/s/1ntMCVFV)描沟,解壓并編譯:
$ qmake -project
$ qmake
$ make
3.把編譯出的可執(zhí)行文件移動(dòng)到您的`[bin]`路徑下即可使用飒泻,此時(shí)`Smark`將使用默認(rèn)的`CSS`樣式表和基于`MathJax CDN`的`MathJax`訪問。如果想要得到與`Windows`平臺(tái)下完全一致的體驗(yàn)吏廉,您還需下載[smark-2.0-resource.zip](http://pan.baidu.com/s/1ntMCVFV)解壓倒`Smark`的安裝目錄下并進(jìn)行設(shè)置泞遗。
##運(yùn)行截圖
[](https://raw.githubusercontent.com/elerao/Smark/master/README/screenshot.png)
Windows 7 下的 Smark 運(yùn)行截圖
[](https://raw.githubusercontent.com/elerao/Smark/master/README/option-dialog.png)
Windows 7 下的 Smark 配置選項(xiàng)對(duì)話框
##FAQ
**64 位 Windows 下提示無(wú)法運(yùn)行 pandoc:**
這是因?yàn)閇Smark-X.X-Win32-portable.zip](http://pan.baidu.com/s/1ntMCVFV)中自帶的 pandoc.exe 是 32 位系統(tǒng)下的,您可以通過下載安裝包[pandoc-1.13.1-win64.msi](http://pan.baidu.com/s/1ntMCVFV#path=%252Fsmark)直接安裝 64 位的`pandoc`而刪除[Smark-X.X-Win32-portable.zip](http://pan.baidu.com/s/1ntMCVFV)中自帶的 32 位的`pandoc.exe`席覆。
**谷歌輸入法無(wú)法輸入問題**
貌似大凡使用`QTextEdit`部件的地方都存在這樣的問題史辙,這是因?yàn)槟撮_啟 谷歌輸入法的內(nèi)嵌編輯模式,可通過點(diǎn)擊 “谷歌輸入法設(shè)置對(duì)話框” 中 “設(shè)置內(nèi)嵌編輯模式” 按鈕佩伤,后勾選 “使用內(nèi)嵌編輯模式” 即可聊倔,如下圖所示:
[](https://raw.githubusercontent.com/elerao/Smark/master/README/google-input-setting.png)
##TODO
**現(xiàn)有問題:**
-在 Qt5 下編譯的 WebView 無(wú)法完整地加載 CSS 中的設(shè)置,Qt4 下沒問題生巡;
-改動(dòng)后的 Markdwon 語(yǔ)法高亮的超鏈接 和 加粗 的正則表達(dá)式匹配有問題耙蔑;
-導(dǎo)出 PDF 和打印時(shí)的內(nèi)容分頁(yè)問題;
**待添加功能**
-仿照 QtCreator 3.1.xx 中編輯器的多行同時(shí)編輯實(shí)現(xiàn)孤荣,支持 Sublime 等軟件所支持的多行同時(shí)編輯甸陌;
-與 百度云、Google Drive垃环、OneDrive 內(nèi)容同步邀层,這個(gè)以后再說;
##附錄:Smark 的快捷鍵列表
全局
Esc??????????????: 逐步隱藏所有不必要的部件遂庄,退出全屏顯示
Tab??????????????: 增加所選諸行的縮進(jìn)(四個(gè)空格)
Ctrl + Tab???????: 減小所選諸行的縮進(jìn)(四個(gè)空格)
文件菜單
Ctrl + N?????????: 新建 markdown 文件
Ctrl + O?????????: 打開 markdown 文件
Ctrl + S?????????: 保存當(dāng)前 markdown 文件
Ctrl + Shift + S : 將當(dāng)前文件另存為支持的格式
Ctrl + W?????????: 關(guān)閉當(dāng)前 markdown 文件
Ctrl + P?????????: 打印當(dāng)前 markdown 文件
Ctrl + Q?????????: 退出 Smark
視圖菜單
F6???????????????: 預(yù)覽模式視圖
F7???????????????: 閱讀模式視圖
F8???????????????: 編輯模式視圖
F11??????????????: 進(jìn)入 / 退出全屏顯示
編輯菜單
F5???????????????: 刷新 HTML 顯示
Ctrl + Shift + C : 查看 HTML 源代碼
Ctrl + C?????????: 復(fù)制
Ctrl + X?????????: 剪切
Ctrl + P?????????: 粘貼
Ctrl + Z?????????: 撤消
Ctrl + Y?????????: 重做
Ctrl + F?????????: 查找
插入菜單
Ctrl + Shift + P : 插入圖片
Ctrl + Shift + L : 插入鏈接
Ctrl + Shift + M : 插入數(shù)學(xué)公式
格式菜單
Ctrl + B?????????: 加粗
Ctrl + I?????????: 傾斜
Ctrl + U?????????: 下劃線
Ctrl + ]?????????: 加大字號(hào)
Ctrl + [?????????: 減小字號(hào)
Ctrl + Down??????: 下標(biāo)
Ctrl + Up????????: 上標(biāo)
Ctrl + `?????????: 代碼
Ctrl + '?????????: 引用
Ctrl + L?????????: 內(nèi)容左對(duì)齊
Ctrl + R?????????: 內(nèi)容右對(duì)齊
Ctrl + E?????????: 內(nèi)容居中
----------