CloudNotes之桌面客户端篇:将笔记发布到博客园


在最新版本(1.0.5715.39966)的CloudNotes桌面客户端中,已经可以把笔记发布到博客园了,它是通过一个新增的桌面客户端插件实现的。事实上,该插件不仅仅支持博客园,它可以支持所有基于MetaWeblog API的博客系统。

发布博客

不多说,先上图。在该版本的桌面客户端中,打开设置对话框,进入“扩展功能”标签,您可以看到在工具型扩展功能列表中,新增了两个扩展功能(也就是常说的插件):发布到博客和插入语法高亮代码:

80210573-b65b-425e-b38d-015c3c90f565

后面我会介绍插入语法高亮代码插件,先看看这个博客发布插件。当用户选中“发布到博客”插件时,会在设置对话框的右侧显示相关的设置,这包括:

  • MetaWeblog API地址:它是一个能够提供MetaWeblog API的URL。就博客园而言,地址格式应该是:http://www.cnblogs.com/<您的账号名>/services/metablogapi.aspx
  • 用户名:您登录博客系统的账号
  • 密码:用于发布博客的密码

您可以单击“连接测试”按钮来测试是否能够正确接入博客API,如果成功,系统会给出相应提示信息。

之后,您可以随意打开一份笔记,然后通过工具->发布到博客菜单,将笔记发布到设定好的博客账户:

28038c2c-d668-4701-97ee-c2a951f498dc

点击该菜单项之后,会弹出分类选择对话框,您可以指定待发博客的归类:

09b1a608-1dc8-428f-b271-016b1b640fc5

当完成分类选择并单击确定按钮之后,笔记就会被发布到博客系统中了,成功发布时,桌面客户端会在界面左下角的状态栏中提示发布成功的消息。

插入语法高亮代码

为了配合博客发布插件,希望能够将博客发布到博客园,码农嘛,在博客中插入代码是少不了的。因此,我在最新的这个版本中,也附带开发了插入语法高亮代码的插件。它利用了http://alexgorbatchev.com/SyntaxHighlighter/这套基于Web Javascript语法高亮插件,会在笔记中插入一个

的Html标记。那么如果博客系统本身能够支持Alexgorbatchev 
SyntaxHighlighter的话,就会在渲染的博客页面上出现语法高亮的效果。这也正好符合博客园的基本配置。

同样,针对Alexgorbatchev SyntaxHighligher的配置,可以到设置对话框中找到“插入语法高亮代码”扩展功能,然后在右边的设置区域进行配置:

8bc0a3bf-2fd1-4f19-8c9f-300d38bb6693

然后,将光标停留在需要插入代码的地方,从工具->插入语法高亮代码菜单中打开插入代码对话框,在此,你可以选择编程语言、高亮行,并输入源代码。需要注意的是,高亮行是指您希望在插入的代码中希望能够重点突出的行号,以逗号分隔的数字进行输入。例如,假设对话框中各参数的设定如下:

c757a39e-7c47-4ad8-a58c-23b0d75bf70d

那么,您将看到如下的效果:

protected override IEnumerable LoadResources(string fileName)
{
    var assembly = Assembly.LoadFrom(fileName);
    var result = new List();
    foreach (var type in assembly.GetExportedTypes())
    {
        if (type.IsDefined(typeof (ExtensionAttribute)) &&
            type.IsSubclassOf(typeof (Extension)))
        {
            try
            {
                var extensionLoaded = (Extension) Activator.CreateInstance(type);
                this.OnResourceLoaded(extensionLoaded);
                result.Add(extensionLoaded);
            }
            catch
            {
            }
        }
    }
    return result;
}

其它的几个增强功能

在这次版本的发布中,还包含了两个编辑器方面的增强功能。第一个就是能够直接将剪贴板中的图片插入到笔记中,只需简单地按一下按钮即可。这也是为了能够更方便地编辑和发布博客所做的改进:

2ae8e697-49b9-4ee0-91f2-072396d61991

另一个改进就是,您可以直接操作笔记的Html代码了,而且笔记的Html代码编辑器支持语法高亮喔(通过ICSharpCode.AvalonEdit实现)!

d621d003-81fe-447c-8ea5-555e9ca56cad

因此

不瞒您说,本文就是用CloudNotes桌面客户端撰写并发布的!不信?有图有真相:

25ac8645-77fc-41c7-b582-c29c4c8461bd

总结

本文简要介绍了新版本的桌面客户端中新增的插件以及增强的功能。新增的插件包括发布到博客插件,以及插入语法高亮代码插件。当然,就博客发布插件而言,它的配置还是相对简单的,没有支持更多的博客类型,也没有支持更复杂的账号设定和发布选项,如果该扩展功能确实会有用户经常使用,我可以考虑进一步扩展,甚至为某些客户自定义。我也是尽自己的能力,希望能够把CloudNotes做到更好。

安装包与源代码

您可以到http://cloudnotes.cloudapp.net/webapi/Home/Release查看CloudNotes的版本更新历史,并通过点击链接下载最新的安装包。

您可以到https://github.com/daxnet/cloudnotes查看并下载CloudNotes整套(包括服务端和桌面客户端及其插件)源代码。源代码的使用方法请参考《CloudNotes:一个云端个人笔记系统》一文。