zoukankan      html  css  js  c++  java
  • 【转】Open Live Writer 插件更新

      • 一、更新内容

          • 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="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 主界面

        SyntaxHighlighter 插件详细设置

        (图四)SyntaxHighlighter 插件详细设置

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

        (图五)FoldRegion 主界面

        ● 标题展开

        四、资源下载

        1. 插件下载:Memento.OLW_V1.0.0.0.7z
        2. 工程源码:OLW Plugin Coding
        3. 其他资源:

    转载 http://www.cnblogs.com/memento/p/5995173.html

  • 相关阅读:
    vue Bus总线
    一百个灯泡排成一排,第一轮将所有灯泡打开;
    大数相乘 java
    最长公共子子串 java
    剑指XX游戏(六)
    C++面试出现频率最高的30道题目
    C++ 容器及选用总结
    C++中的各种容器实现原理
    求1000阶乘中最后0的个数
    n个骰子可能的点数和
  • 原文地址:https://www.cnblogs.com/TBW-Superhero/p/5995584.html
Copyright © 2011-2022 走看看