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 ...
随机推荐
- TFS 2010 使用手册(三)权限管理
本文参考了 蔚蓝的宁静 http://www.cnblogs.com/tymo/archive/2011/03/21/1990550.html 等文章. 1.权限说明 1.1 权限关联 TFS的权限与 ...
- 【Android 界面效果35】管理Fragments
http://www.cnblogs.com/mengdd/archive/2013/01/09/2853254.html
- uva 10252 - Common Permutation 字符串水题
题意:給定兩個小寫的字串a與b,請印出皆出現在兩字串中的字母,出現的字母由a~z的順序印出,若同字母出現不只一次,請重複印出但不能超過任一字串中出現的次數.(from Ruby兔) 很水,直接比较输出 ...
- PHP删除符合条件的整个目录
<?php /** * @name delFile函数与delDir函数一起使用, 删除符合条件的整个目录 * @param string $path 指定操作路径 * @return null ...
- VMware系统运维(十一)部署虚拟化桌面 Horizon View 5.2 HTML ACCESS安装
如果你希望在浏览器上面能够连接到用户桌面,那么HTML ACCESS是必须安装的,下面开始安装. 1.点击红框文件 2.打开安装向导,点击"下一步" 3.接受协议,点击" ...
- 谷歌浏览器-如何让Chrome默认以隐身模式启动?
桌面图标右键属性,在“目标”后添加参数“ --incognito”(注意是双短划线,不包括双引号,双短划线前加一空格)就可以直接以隐身模式启动Chrome浏览器
- codeforces 680C C. Bear and Prime 100(数论)
题目链接: C. Bear and Prime 100 time limit per test 1 second memory limit per test 256 megabytes input s ...
- BZOJ 1040: [ZJOI2008]骑士 基环加外向树
1040: [ZJOI2008]骑士 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1190 Solved: 465[Submit][Status] ...
- Pascal 语言中字符与字符串
[题目]输入一段文章(255个字符以内),求文章中单词的个数,相同单词只记一次,The 和 the 视作相同. [敲代码] //网友代码 var article,w:string; arr:array ...
- JavaWeb 学习的第一阶段总结
本人从事Asp.net开发三年,结合市场情况,综合考虑后决心转向JavaWeb方向.于是开始了自学Java的历程. 首先,我用马士兵的Java基础教学视频,快速地学习了一遍Java基础.因为有C#基础 ...