zoukankan      html  css  js  c++  java
  • 简单的windows live writer代码插件(含源码)

    新建一个类库

    添加两个关键引用

    using WindowsLive.Writer.Api;
    using System.Windows.Forms;
    using System.Web;

    第一个引用的dll文件在你安装windows live writer的根目录下

    名字叫WindowsLive.Writer.Api.dll

    添加一个类文件,此文件程序用来处理用户插入的代码

        public static class ContentProcessor
        {
            public static string ProcessedContent { get; private set; }
            public static void Process(string originalContent)
            {
                ProcessedContent = (!string.IsNullOrEmpty(originalContent)
                    ?string.Format("<fieldset style=\"background-color:#E0EFF6;color:#15428B\"><pre>{0}</pre></div>", HttpUtility.HtmlEncode(originalContent))
                    :string.Empty
                    );
            }
        }

    添加一个windows form窗体,如图:

    image

    给确定按钮添加的事件为

            private void button1_Click(object sender, EventArgs e)
            {
                ContentProcessor.Process(this.textBox1.Text);
                this.Close();
            }

    其中ContentProcessor.Process(this.textBox1.Text);
    就是调用的我们上一个类文件中的处理程序

    新增一个类文件

        [WriterPlugin("7c371eef-e350-4aae-af28-91613a9137e3", "xland", Description = "insert code plugin", Name = "xland", PublisherUrl = "http://www.cnblogs.com/liulun")]
        [InsertableContentSource("insert code",SidebarText="insert code")]
        public class MyPlugin:ContentSource
        {
            public override DialogResult CreateContent(IWin32Window dialogOwner, ref string content)
            {
                new ProcessForm().ShowDialog();
                content = ContentProcessor.ProcessedContent;
                return (!string.IsNullOrEmpty(content) ? DialogResult.OK : DialogResult.No);
            }
        }

    其中7c371eef-e350-4aae-af28-91613a9137e3为一个GUID
    其他的一些信息是插件在live writer中的信息
    函数中第一句是创建一个窗口(我们刚才制作的窗口)
    第二句获取我们输入的数据(处理过后的数据)
    第三句让live writer知道有东西要插入。
    content变量是live writer中的,所以要用ref修饰

    都完成后只要把生成的dll文件放在live writer安装目录下Plugins文件夹内就可以了

    此文章就是用这个插件写的

    贴个图看下

    image

    源代码下载:LiveWriterPlugin.rar



    另外:
    我在我的blog中设置了这样的样式

    pre { white-space: pre-wrap; /* css-3 */ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ }
    * html pre { word-wrap: break-word; /* Internet Explorer 5.5+ */ white-space : normal ; /* Internet Explorer 5.5+ */ }

    具体设置方法是,进入你的博客园后台》》》选项》》》config》》》通过CSS定制页面
    这样设置主要是不让代码太宽,撑破页面

  • 相关阅读:
    蚁群算法(AntColonyOptimization,ACO)与TSP问题
    EASY-X
    扩展欧几里得
    堆,set,优先队列
    单链表的几个基本操作
    剑指offer JZ-20
    剑指offer JZ-19
    拉普拉斯机制下的差分隐私(1)
    剑指offer JZ-17
    剑指offer JZ-16
  • 原文地址:https://www.cnblogs.com/liulun/p/1491116.html
Copyright © 2011-2022 走看看