天天看點

[Tool] Open Live Writer 插件更新

最新插件下載下傳位址: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(模拟部落格園推薦使用的插入代碼)
[Tool] Open Live Writer 插件更新

(圖一)部落格園網頁端插入代碼工具彈窗

[Tool] Open Live Writer 插件更新

(圖二)插件模拟彈窗

[Tool] Open Live Writer 插件更新
[Tool] Open Live Writer 插件更新
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);
    }
}
      
[Tool] Open Live Writer 插件更新
[Tool] Open Live Writer 插件更新
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

[Tool] Open Live Writer 插件更新
[Tool] Open Live Writer 插件更新
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 高亮腳本)
[Tool] Open Live Writer 插件更新

(圖三)SyntaxHighlighter 主界面

[Tool] Open Live Writer 插件更新

(圖四)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(折疊區域插件,優化浏覽體驗)
[Tool] Open Live Writer 插件更新

(圖五)FoldRegion 主界面

● 标題展開

1 a
2 b
3 c
4 d
5 e
6 f
7 g
8 h
9 i
10 j
11 k

傳回頂部收縮

四、資源下載下傳

  1. 插件下載下傳:見文章頂部
  2. 工程源碼:無
  3. 其他資源:
    • Open Live Writer 官網
    • Open Live Writer Github
    • SyntaxHighlighter 下載下傳:http://alexgorbatchev.com/SyntaxHighlighter/download/
    • SyntaxHighlighter 配置:http://alexgorbatchev.com/SyntaxHighlighter/manual/configuration/
[Tool] Open Live Writer 插件更新

歡迎您掃一掃上面的微信公衆号, 訂閱我的部落格!

文章作者:Memento

部落格位址:http://www.cnblogs.com/Memento/

版權聲明:Memento所有文章遵循創作共用版權協定,要求署名、非商業、保持一緻。在滿足創作共用版權協定的基礎上可以轉載,但請以超連結形式注明出處。

繼續閱讀