最新插件下载地址: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("这是一个公有函数! ") 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/