简单的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定制页面
这样设置主要是不让代码太宽,撑破页面

你可能感兴趣的:(windows)