最新插件下載下傳位址:Memento.OLW_V1.0.0.5.7z
零、曆史更新記錄
- 2016.11.24
1. 修正 cnblog 文法高亮中的 SQL、Perl 文法高亮異常
下載下傳位址:Memento.OLW_V1.0.0.1.7z
- 2016.11.27
1. 增加 cnblog 頁簽中 SQL 文法高亮的關鍵詞連結選擇;
下載下傳位址:Memento.OLW_V1.0.0.2.7z
- 2017.01.17
1. 修正Python文法高亮中單行注釋顔色問題;
2. 修正Matlab文法高亮細節問題;
下載下傳位址:Memento.OLW_V1.0.0.3.7z
- 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 插件
WindowsLiveWriter 的插入折疊區域功能插件
OpenLiveWriter插件開發教程
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="https://files.cnblogs.com/files/memento/OLWPlugins.css" />
<script type="text/javascript" src="https://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 }
CNBlog
/// <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
Lua
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
Matlab
- 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/
歡迎您掃一掃上面的微信公衆号, 訂閱我的部落格!
文章作者:Memento
部落格位址:http://www.cnblogs.com/Memento/
版權聲明:Memento所有文章遵循創作共用版權協定,要求署名、非商業、保持一緻。在滿足創作共用版權協定的基礎上可以轉載,但請以超連結形式注明出處。