zoukankan      html  css  js  c++  java
  • [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("这是一个公有函数!
    ")
     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. 其他资源:
  • 相关阅读:
    psp4
    一维循环数组最大子数组求解
    psp3
    psp2
    求二维数组最大连续子数组
    计算连续最大子数组问题
    psp1
    关于30道题目问题
    Java 文件操作
    java iterator
  • 原文地址:https://www.cnblogs.com/memento/p/5995173.html
Copyright © 2011-2022 走看看