最新插件下載地址:Memento.OLW_V1.0.0.5.7z
零、歷史更新記錄
- 2016.11.24
1. 修正 cnblog 語法高亮中的 SQL、Perl 語法高亮異常
- 2016.11.27
1. 增加 cnblog 頁簽中 SQL 語法高亮的關鍵詞鏈接選擇;
- 2017.01.17
1. 修正Python語法高亮中單行注釋顏色問題;
2. 修正Matlab語法高亮細節問題;
- 2018.03.01
1. 修改 DeployDLL.bat,支持動態獲取版本並部署安裝;
下載地址: Memento.OLW_V1.0.0.4.7z
- 2018.04.13
1. 折疊區域采用 bootstrap 樣式,需要在博客園“設置”-“頁首HTML”中添加對 bootstrap 的引用;
2. 修正折疊區域最大高度設置;
3. 修正上一個版本 V1.0.0.4 發布錯誤文件問題;
下載地址: Memento.OLW_V1.0.0.5.7z
- 持續更新…
相關文章介紹鏈接:
仿博客園插入代碼的 WindowsLiveWriter 插件
OpenLiveWriter 的 SyntaxHighlighter 代碼高亮插件開發
一、更新內容
- cnblog 頁簽中增加 Lua 和 Matlab 語法高亮;(SyntaxHighlight 頁簽中尚未添加)
- 增加折疊區域插件,見效果展示;
- 增加 bat 執行文件,直接拷貝插件所需 dll 文件到指定位置;
- 增減 OLWPlugins.css 樣式文件和 OLWPlugins.js 腳本文件;
- 測試 Win10/7 32/64 位系統安裝使用情況;
- 優化部分使用體驗;
二、更新說明
- 應 @我要改名叫嘟嘟 和 @船長J.K 兩位的需求,嘗試了一下 Wilco.SyntaxHighlighter 的擴展開發,實現 Lua 和 Matlab 兩種語法高亮。由於博主不擅長這兩種語言,測試不一定到位,如果兩位或者其他人使用過程中有何問題都可以留言反饋,博主再盡力修改完善,先在此謝過。
- 折疊區域插件,先前在文章 插入折疊區域功能 中已有開發,不過那次是針對 WLW,這次移植到 OLW 上來,並優化了部分使用體驗。
- 同時,FoldRegion 插件屬於自己為了方便瀏覽開發的,所以需要加入自定義的 css 樣式和 js 腳本文件。使用該插件時需要在“博客園后台管理”->“設置”->“頁首html代碼”中添加這兩個文件的引用,文件下載參考最后的資源下載,引用代碼參考如下:
<link type="text/css" rel="stylesheet" href="http://files.cnblogs.com/files/memento/OLWPlugins.css" /> <script type="text/javascript" src="http://files.cnblogs.com/files/memento/OLWPlugins.js"></script>
- 上一篇文章許多人反應說不知道插件放到哪里,Plugins 文件夾沒有找到等問題,為了方便使用,博主在壓縮包里增加一個 bat 文件,DeployDLL.bat,解壓縮后直接執行即可拷貝插件所需要的 dll 到指定位置了。
- 博主通過 Hyper-V 分別模擬了 Win10/7 32/64位幾種不同的環境進行插件測試,均可以使用,如果有問題請留言討論。 注意,Open Live Writer 軟件本身建議基於 .NET 4.5.2 環境,詳情參考 OpenLiveWriter.SDK.nuspec。
- 對了,再啰嗦一句,從網上下載下來的 dll,windows 系統有時候會默認為鎖定狀態,需要在屬性中進行解鎖后再使用。
三、效果展示
- cnblog(模擬博客園推薦使用的插入代碼)
(圖二)插件模擬彈窗

1 /// <summary> 2 /// 構造函數 3 /// </summary> 4 /// <param name="settings">插件配置</param> 5 /// <param name="content">文本內容</param> 6 public CNBlogs(Settings settings, string content) 7 { 8 InitializeComponent(); 9 10 try 11 { 12 m_Settings = settings; 13 m_Content = content; 14 m_HtmlParser = new HtmlParser(); 15 16 chbCollapse.CheckedChanged += ChbCollapse_CheckedChanged; 17 chbTAB.CheckedChanged += chbTAB_CheckedChanged; 18 chbShowLineNum.CheckedChanged += ChbShowLineNum_CheckedChanged; 19 20 Load += CNBlogs_Load; 21 txtTAB.KeyPress += CommonHelper.NumberImput_KeyPress; 22 } 23 catch (Exception ex) 24 { 25 CommonHelper.ShowError(ex); 26 } 27 }
/// <summary> /// 構造函數 /// </summary> /// <param name="settings">插件配置</param> /// <param name="content">文本內容</param> public CNBlogs(Settings settings, string content) { InitializeComponent(); try { m_Settings = settings; m_Content = content; m_HtmlParser = new HtmlParser(); chbCollapse.CheckedChanged += ChbCollapse_CheckedChanged; chbTAB.CheckedChanged += chbTAB_CheckedChanged; chbShowLineNum.CheckedChanged += ChbShowLineNum_CheckedChanged; Load += CNBlogs_Load; txtTAB.KeyPress += CommonHelper.NumberImput_KeyPress; } catch (Exception ex) { CommonHelper.ShowError(ex); } }

1 -- 文件名為 module.lua 2 -- 定義一個名為 module 的模塊 3 module = {} 4 5 -- 定義一個常量 6 module.constant = "這是一個常量" 7 8 -- 定義一個函數 9 function module.func1() 10 io.write("這是一個公有函數!\n") 11 end 12 13 local function func2() 14 print("這是一個私有函數!") 15 end 16 17 function module.func3() 18 func2() 19 end 20 21 return module

1 x = [0:0.01:10]; 2 y = sin(x); 3 plot(x, y), xlabel('x'), ylabel('Sin(x)'), title('Sin(x) Graph'), 4 grid on, axis equal
- SyntaxHighlighter(利用博客園已植入的 SyntaxHighlighter 高亮腳本)
(圖三)SyntaxHighlighter 主界面
(圖四)SyntaxHighlighter 插件詳細設置
/// <summary> /// 構造函數 /// </summary> /// <param name="settings">插件配置</param> /// <param name="content">文本內容</param> public CNBlogs(Settings settings, string content) { InitializeComponent(); try { m_Settings = settings; m_Content = content; m_HtmlParser = new HtmlParser(); chbCollapse.CheckedChanged += ChbCollapse_CheckedChanged; chbTAB.CheckedChanged += chbTAB_CheckedChanged; chbShowLineNum.CheckedChanged += ChbShowLineNum_CheckedChanged; Load += CNBlogs_Load; txtTAB.KeyPress += CommonHelper.NumberImput_KeyPress; } catch (Exception ex) { CommonHelper.ShowError(ex); } }
/// <summary> /// 構造函數 /// </summary> /// <param name="settings">插件配置</param> /// <param name="content">文本內容</param> public CNBlogs(Settings settings, string content) { InitializeComponent(); try { m_Settings = settings; m_Content = content; m_HtmlParser = new HtmlParser(); chbCollapse.CheckedChanged += ChbCollapse_CheckedChanged; chbTAB.CheckedChanged += chbTAB_CheckedChanged; chbShowLineNum.CheckedChanged += ChbShowLineNum_CheckedChanged; Load += CNBlogs_Load; txtTAB.KeyPress += CommonHelper.NumberImput_KeyPress; } catch (Exception ex) { CommonHelper.ShowError(ex); } }
- FoldRegion(折疊區域插件,優化瀏覽體驗)
(圖五)FoldRegion 主界面
● 標題
展開
1 | a |
2 | b |
3 | c |
4 | d |
5 | e |
6 | f |
7 | g |
8 | h |
9 | i |
10 | j |
11 | k |
四、資源下載
- 插件下載:見文章頂部
- 工程源碼:無
- 其他資源:
- Open Live Writer 官網
- Open Live Writer Github
- SyntaxHighlighter 下載:http://alexgorbatchev.com/SyntaxHighlighter/download/
- SyntaxHighlighter 配置:http://alexgorbatchev.com/SyntaxHighlighter/manual/configuration/