为Windows Live Writer写一个简单的插件

简介:

前言

很多朋友都在用Windows Live Writer在园子里写博客吧,同样也有很多朋友都会在文章结束的时候加上版权信息,更有利于保护自己的合法权益。

这些版权信息的样式很多,例如:

image

再如:

image

如果每次写文章的时候都重新写一段这样的版权信息肯定是很麻烦的。那么,我今天要写的这个插件就是向博文中插入HTML模板。

要实现的功能

1、保存已有的模板

2、选中指定模板后插入博文中

目前就这两点功能吧,简单一点,如果朋友们还有别的需求,请轻砸……

如何实现

1、对于第一个功能,可以通过使用XML文档来保存已有的模板。

2、对于插入博文中,可以解析Xml文档,列出已有模板,选中后点击“插入”按钮,实现插入。

效果图如下:

image

Windows Live Writer插件开发

在园子里已有一篇不错的博文来介绍简单的Windows Live Writer插件开发的步骤,讲解的很详细,并且提供了源码下载,笔者也是通过这篇博文了解了如何开发Windows Live Writer插件的。

由于这个插件是对博文内容操作的,所有需要继承ContentSource类,并重写方法CreateContent。下面是详细步骤:

1、新建C#类库项目。

2、添加WindowsLive.Writer.Api的引用,如果你已经安装了Windows Live Writer,可以在安装目录下找到WindowsLive.Writer.Api.dll文件。如果你使用的是Windows Server 2003操作系统,在安装Windows Live Writer的时候可能会出现系统不支持的提示。可以参照笔者的另一篇博文《如何在Windows 2003 中使用Windows Live Writer? - 2010年5月21日学习笔记(1)》完成安装。

3、新建类InsertHTMLPlugin,继承自ContentSource,需要using WindowsLive.Writer.Api;

4、为类InsertHTMLPlugin添加特性信息:

[WriterPlugin("01c28aeb-f616-4912-9114-9341d7779f95", "插入HTML模板", 
    PublisherUrl = "http://www.cnblogs.com/youring2", 
    Description = "用来向博文中插入HTML模板", 
    Name = "插入HTML模板"]
[InsertableContentSource("插入HTML模板", SidebarText = "插入HTML模板")]

5、重写方法CreateContent。在该方法中需要打开插入模板窗口,并完成处理。当用户点击“插入”按钮时,为content添加一个要插入的字符串即可。

6、添加一个模板编辑窗口,界面如下:

image

7、为插件添加一个图标。MSDN中给出的方法:if you want an image to appear alongside your plugin within the Writer user interface you should specify the WriterPluginAttribute.ImagePath property as part of this attribute. 我们首先向项目中添加一个图片,名字为InsertHTML.ico,并放在文件夹 Image中,设置InsertHTML.ico的生成操作为“嵌入的资源”,我们修改第4步的特性,为特性中添加ImagePath,这样一来,完整的特性为:

    [WriterPlugin("01c28aeb-f616-4912-9114-9341d7779f95", "插入HTML模板", 
        PublisherUrl = "http://www.cnblogs.com/youring2", 
        Description = "用来向博文中插入HTML模板", 
        Name = "插入HTML模板",
        ImagePath = "Image.InsertHTML.ico")]
    [InsertableContentSource("插入HTML模板", SidebarText = "插入HTML模板")]

最后,附上源代码: http://files.cnblogs.com/youring2/QF.Sample.WriterPlugin.InsertHTML.rar

已编译文件:http://files.cnblogs.com/youring2/QF.Sample.WriterPlugin.InsertHTML.dll.rar

参考作品

1、《为Windows Live Writer开发插件——InsertSearchPageLink》,地址:http://byte365.spaces.live.com/blog/cns!80BC0AFE1EC9BF2!225.entry

2、《Windows Live Writer 插件开发入门》, 地址:http://www.cnblogs.com/autumoon/archive/2009/01/20/1378880.html

感兴趣的朋友可以详细的了解一下,另外MSDN中的介绍:《Creating a Content Source Plugin》,地址:http://msdn.microsoft.com/en-us/library/aa702851.aspx

下面是笔者插入版权信息的效果:

Creative Commons License

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名齐飞。如您有任何疑问或者授权方面的协商,请给我留言




本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/archive/2010/05/23/1741970.html,如需转载请自行联系原作者 

相关文章
|
安全 网络安全 C++
基于Windows下VSCode安装及安装相关插件通过SSH协议远程连接服务器详细方法(一)
基于Windows下VSCode安装及安装相关插件通过SSH协议远程连接服务器详细方法
347 0
基于Windows下VSCode安装及安装相关插件通过SSH协议远程连接服务器详细方法(一)
|
6月前
|
JavaScript 前端开发 iOS开发
电脑浏览器原来这样用才能发挥到极致 ——那些好用的插件(Windows Macos 通用)2
电脑浏览器原来这样用才能发挥到极致 ——那些好用的插件(Windows Macos 通用)
74 0
|
6月前
|
Web App开发 iOS开发 开发者
电脑浏览器原来这样用才能发挥到极致 ——那些好用的插件(Windows Macos 通用)1
电脑浏览器原来这样用才能发挥到极致 ——那些好用的插件(Windows Macos 通用)
45 0
|
9月前
|
Windows
Windows Registry Operation / DTRegistry 插件说明
Windows Registry Operation / DTRegistry 插件说明
62 0
|
6月前
|
Windows
[UE虚幻引擎] DTCopyFile 插件说明 - 使用蓝图拷贝复制文件 (Windows)
本插件可以在虚幻引擎中使用蓝图对系统的其他文件进行拷贝复制操作。
37 0
|
9月前
|
Web App开发 Windows
Windows系统如何解决Chrome浏览器 自带的翻译插件 无效,无响应等问题
Windows系统如何解决Chrome浏览器 自带的翻译插件 无效,无响应等问题
|
Linux 网络安全 数据安全/隐私保护
基于Windows下VSCode安装及安装相关插件通过SSH协议远程连接服务器详细方法(二)
基于Windows下VSCode安装及安装相关插件通过SSH协议远程连接服务器详细方法
330 0
基于Windows下VSCode安装及安装相关插件通过SSH协议远程连接服务器详细方法(二)
|
Java Linux C++
WINDOWS NPAPI插件小结
WINDOWS NPAPI插件小结
64 0
|
Web App开发 Windows
WINDOWS下测试NPAPI插件,请使用FireFox 49版本
WINDOWS下测试NPAPI插件,请使用FireFox 49版本
249 0
|
Web App开发 Windows
Windows下FireFox插件dll文件名,必须是np开头,不能是plugin结尾
Windows下FireFox插件dll文件名,必须是np开头,不能是plugin结尾
70 0