[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 頁簽中增加 LuaMatlab 語法高亮;(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 }
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 主界面

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 主界面

(圖五)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. 其他資源:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM