iblog语法高亮示例
--------------------------------------------------------------------------------------
iblog 是一款 Sublime Text 2 博客插件,目前只支持cnblog。
项目地址:https://github.com/iskeeter/iblog
--------------------------------------------------------------------------------------
使用以下语法指定代码所使用的语言:
```python
# 代码写在这里
```
下面是语法高亮示例:
```python
class PublishCommand(sublime_plugin.TextCommand):
def run(self, edit):
if self.view.is_dirty():
sublime.error_message(u'【错误】请先保存在发布!')
return
self.header_region = _get_header_region(self.view)
if not self.header_region:
sublime.error_message(u'【错误】请填写头部的博客信息!可按<Shift+F8>插入博客信息模板')
return
# status: 0-没有执行,1-正在执行,2-执行成功并停止,3-执行失败停止
self.status = 0
self.file_name = self.view.file_name()
header_str = self.view.substr(self.header_region)
self.blog_info = _parse_blog_info(header_str)
# self.action: 1--新建,2--更新
if not self.blog_info['blog_id']:
self.action = 1
else:
self.action = 2
global blog_settings
if not blog_settings:
settings = _load_setting()
blog_settings = {
'login_name': settings.get('login_name'),
'login_password': settings.get('login_password'),
'xml_rpc_url': settings.get('xml_rpc_url'),
}
file_type = check_file_type(self.file_name)
content = ''
if file_type == F_MD:
region = sublime.Region(0, len(self.view))
content = self._markdown2html(self.view.substr(region))
else:
body_region = sublime.Region(self.header_region.end(), len(self.view))
content = header_str + _plain2html(self.view.substr(body_region))
self.post = { 'title': self.blog_info['title'],
'description': content,
'link': '',
'author': blog_settings['login_name'],
'categories': self.blog_info['categories'],
'mt_keywords': ''
}
content = None
self.server = xmlrpclib.ServerProxy(blog_settings['xml_rpc_url'], allow_none=True)
self._pulish_async()
```
输出后的效果:
class PublishCommand(sublime_plugin.TextCommand):
def run(self, edit):
if self.view.is_dirty():
sublime.error_message(u'【错误】请先保存在发布!')
return
self.header_region = _get_header_region(self.view)
if not self.header_region:
sublime.error_message(u'【错误】请填写头部的博客信息!可按<Shift+F8>插入博客信息模板')
return
# status: 0-没有执行,1-正在执行,2-执行成功并停止,3-执行失败停止
self.status = 0
self.file_name = self.view.file_name()
header_str = self.view.substr(self.header_region)
self.blog_info = _parse_blog_info(header_str)
# self.action: 1--新建,2--更新
if not self.blog_info['blog_id']:
self.action = 1
else:
self.action = 2
global blog_settings
if not blog_settings:
settings = _load_setting()
blog_settings = {
'login_name': settings.get('login_name'),
'login_password': settings.get('login_password'),
'xml_rpc_url': settings.get('xml_rpc_url'),
}
file_type = check_file_type(self.file_name)
content = ''
if file_type == F_MD:
region = sublime.Region(0, len(self.view))
content = self._markdown2html(self.view.substr(region))
else:
body_region = sublime.Region(self.header_region.end(), len(self.view))
content = header_str + _plain2html(self.view.substr(body_region))
self.post = { 'title': self.blog_info['title'],
'description': content,
'link': '',
'author': blog_settings['login_name'],
'categories': self.blog_info['categories'],
'mt_keywords': ''
}
content = None
self.server = xmlrpclib.ServerProxy(blog_settings['xml_rpc_url'], allow_none=True)
self._pulish_async()
iblog语法高亮示例的更多相关文章
- 一个C#语法高亮插件
语法高亮对程序员阅读代码来说有着不小的帮助,虽然VisualStudio本身支持C#语法高亮,但也只是对关键字.类名.字符串等少数元素加了标记,而我们代码中主题:变量.函数.属性.事件等都没有进行高亮 ...
- phpBB论坛 代码 语法高亮 模块 Codebox Plus
phpBB代码语法高亮模块 Codebox Plus Code-By.Org (https://www.phpbb.com/customise/db/mod/codebox_plus/) (https ...
- Mycil命令行MySQL语法高亮和自动补全工具
MyCli 是MySQL,MariaDB和Percona的命令行界面,具有自动完成和语法高亮的功能. 其效果如图: 那么我们应该怎么安装它呢,这里附上windows的安装方法. 在命令行下输入 pip ...
- 重拾《 两周自制脚本语言 》- Eclipse插件实现语法高亮
源码库: program-in-chinese/stone-editor-eclipse 参考: FAQ How do I write an editor for my own language? D ...
- django如何语法高亮模块
首先,django的语法高亮必须配合markdown模块使用. 注意事项: 确保在渲染文本时添加了 markdown.extensions.codehilite 拓展 确保安装了 Pygments. ...
- ace -- 语法高亮
Creating a Syntax Highlighter for Ace 给ace创建一个语法高亮 Creating a new syntax highlighter for Ace is extr ...
- 前端代码编辑器ace 语法高亮
代码编辑器codemirror和ace,都有接触过,主要是简单的api使用下.现在项目选用的ace.主要结合官网的文档,加入些自己的理解.官方原文链接https://ace.c9.io/#nav=hi ...
- 轻量级jQuery语法高亮代码高亮插件jQuery Litelighter。
<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>jQ ...
- vim python配置 安装pep8自动检查插件,语法高亮
pep8 http://www.vim.org/scripts/script.php?script_id=2914 语法高亮 http://www.vim.org/scripts/script.php ...
随机推荐
- java 解析XML文档
Java 解析XML文档 一.解析XML文档方式: 1.DOM方式:将整个XML文档读取到内存中,按照XML文件的树状结构图进行解析. 2.SAX方式:基于事件的解析,只需要加载XML中的部分数据,优 ...
- C#使用ICSharpCode.SharpZipLib.dll压缩多个文件
首先通过NuGet管理安装ICSharpCode.SharpZipLib.dll 以下是压缩的通用方法: using System; using System.IO; using System.Web ...
- JAVA数字证书制作生成
1.加密算法 为了网络通讯中的报文安全,一般需要对报文进行加密,目前常用的加密算法有: 非对称加密算法:又称公钥加密算法,如RSA.DSA/DSS,最常用的就是RSA算法(算法公开,可自行百度了解算法 ...
- div/span等获取焦点问题(tabindex属性的简单理解)
1.先看问题 当我们要对一个div/span元素获取焦点的时候,直接对$("#div1").focus()是不能实现效果的,比如下图: 当点击输入框进行输入后,在点击区域弹出选择地 ...
- 剑指Offer45 约瑟夫环
/************************************************************************* > File Name: 45_LastNu ...
- 1369 xth 砍树
1369 xth 砍树 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 在一个凉爽的夏夜,xth 和 ...
- JSCharts
JsCharts是一款轻量级的,基于js的图形报表工具,提供了线形图,柱状图,饼图,使用简单,相对其他的图表如FusionCharts来讲功能可能不是特别强大,但是对于一些要求不高的应用来讲已经够用了 ...
- 坑到了,EF执行带事物的存储过程
用EF开发项目,今天调用 带事物 存储过程,始终报错,"EXECUTE 后的事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配.上一计数 = 1,当前计数 = 0.\r\nEXEC ...
- 通信行业OSS支撑系统软件研发思考
一般的,对所谓大型.通信行业.OSS支撑软件系统,我们可宏观定义以下几点: 以年计的研发周期 以几十人计的研发团队 以百计的业务菜单功能点 以千计的数据库表 以万计的业务术语指标 以亿计的数据表记录 ...
- VxWorks 6.9 内核编程指导之读书笔记 -- Singnals
Signals 信号是操作系统用于异常处理和异步控制流的关键.在很多方面,信号相当于软件方面的硬件中的中断.操作系统产生的信号包括总线错误和浮点处理异常.信号也提供了API来管理和产生信号.在应用程序 ...