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/Android性能优3】Android性能调优工具TraceView使用介绍
本文转自:http://blog.csdn.net/innost/article/details/9008691 在软件开发过程中,想必很多读者都遇到过系统性能问题.而解决系统性能问题的几个主要步骤是 ...
- 【Android 界面效果27】利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
本文主要介绍如何利用ViewPager.Fragment.PagerTabStrip实现多页面滑动效果.即google play首页.新浪微博消息(at.评论.私信.广播)页面的效果.ViewPage ...
- leetcode 题解: Length of Last Word
leetcode: Given a string s consists of upper/lower-case alphabets and empty space characters ' ', re ...
- ubuntu server 系统,更换阿里云源(用户更新源)
Ubuntu安装完毕后,默认使用的是官方的源,在国内访问速度很慢,这里介绍更换为阿里云的源方法. 步骤如下: 1.备份源配置文件 sudo cp /etc/apt/sources.list /etc/ ...
- 配置多个Log4net实例
应用场景: 控制软件工程拆分为多个子项目,在开发阶段希望每个子项目的日志是单独的.同时又希望日志统一集中定义在Tools(Tools为工具类项目,生成Tools.dll)下,而不是分散在各个子项目中. ...
- IOS学习网站
http://www.cocoachina.com http://onevcat.com/#blog http://objccn.io http://blog.devtang.com http://b ...
- VB.NET 小程序 3
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ...
- Mybatis源码解析(一)(2015年06月11日)
一.简介 先看看Mybatis的源码结构图,Mybatis3.2.7版本包含的包共计19个,其他版本可能会少. 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为 ...
- js里正则表达式详解
详细内容请点击 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/ ...
- AndroidTestCase简单使用
1.根据需求创建TestCase类,实现测试用例.此类需继承AndroidTestCase类 public class TestCase extends AndroidTestCase { @Over ...