[Tool] Open Live Writer 插件更新
最新插件下载地址: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代码”中添加这两个文件的引用,文件下载参考最后的资源下载,引用代码参考如下:
01 02 | < 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 }
/// <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 插件详细设置
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | /// <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); } } |
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 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); } } |
- 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所有文章遵循创作共用版权协议,要求署名、非商业、保持一致。在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处。
博客地址:http://www.cnblogs.com/Memento/
版权声明:Memento所有文章遵循创作共用版权协议,要求署名、非商业、保持一致。在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步