Sublog: 支持Markdown和语法高亮的跨平台博客客户端
灵感来自米米饭
功能一览
项目主页:
使用方法:
本项目是一个插件,首先要安装Sublime Text 2
重命名sublog.sublime-settings.example为sublog.sublime-settings,配置你的登录信息,除了用户名,密码外,url也要修改为在管理->设置页面底部的metaweblog访问地址
拷贝整个文件夹到Sublime Text 2插件库下(Preferences->Browse Packages),注意命名为"sublog"
安装node.js,用于语法高亮,效果:
//javascipt代码
var test = function() {
console.log("语法高亮");
重启Sublime Text 2, Done
在博客园的管理->设置页面上传css样式(markdown.css)
博客文章必须以md为后缀, "shift + F8"插入header信息,其中tags使用","分割,publish为"false"的时候表示为草稿; "shift + F9"发布新博客,修改后同样使用"shift + F9"发布更新(留意Sublime Text 2底下状态栏通知)
要使用博客分类自动补全功能,需要开启Sublime Text 2 在文本模式下的补全功能,具体来说,就是在user settings中增加以下语句:
"auto_complete_selector": "source, text"
启动时会去同步一次博客分类,如果你修改了博客分类,需要执行"shift + F7"手动同步。
代码块显示行号,在sublog.sublime-settings中添加:
"show_ln":true
为了得到代码块中缩进在不同浏览器下的一致输出,请设置sublime text 2的tab为空格,例如我的设置如下:
"tab_size": 4,
"translate_tabs_to_spaces": true,
"detect_indentation": true,
支持github的代码块定义方式,例如下面的代码
```python ln_on
import random class CardGame(object):
""" a sample python class """
NB_CARDS = 32
def __init__(self, cards=5):
self.cards = random.sample(range(self.NB_CARDS), 5)
print 'ready to play'
```
建议最好使用这种方式,由程序自动判断语言可能耗时较长。另外
ln_on
和ln_off
作为辅助标记,表示本代码块是否启用行号。支持的语言: 1c, apache, avrasm, axapta, bash, cmake, cpp, cs, css, delphi, diff, django, dos, erlang-repl, erlang, go, haskell, ini, java, javascript, lisp, ls lua, mel, nginx, objectivec, parser3, perl, php, profile, python, renderman, ruby, scala, smalltalk, sql, temp tex, vala, vbscript, vhdl, xml
特别的,使用no-highlight作为语言值表示本代码块不需要高亮。
支持本地图片地址作为img的url标记,例如:


在UNIX like上:


当sublog检测到这是一个本地图片url的时候,会自动上传图片,并替换源文件的url为上传成功后得到的url
你还可以使用"shift + f10"发布当前选择的一行或多行里的"file://"url所指向的图片。
enjoy!
Makrdown兼容性
使用quick-markdown-example测试效果 不支持表格和脚注
支持的平台
目前测试平台有windows7, ubuntu13.04,Mac平台应该也可以。如果使用中遇到问题,欢迎反馈。
Hack everything!
UPDATE
添加博客分类自动补全功能
添加文章基本结构的创建
修复在ubuntu下获取博客分类的编码问题(13-06-19)
语法高亮(13-06-22)
显示行号
修改settings的加载方式,每次执行命令时都加载,使得改变可以即时生效
增加img支持
Sublog: 支持Markdown和语法高亮的跨平台博客客户端的更多相关文章
- 使用markdown和gitblog搭建自己的博客
GitBlog官网 GitBlog文档 Gitblog官方QQ群:84692078 GitBlog是一个简单易用的Markdown博客系统.它不须要数据库,没有管理后台功能,更新博客仅仅须要加入你写好 ...
- 让 QtWebkit 支持跨域CROS - nowboy的CSDN博客 - 博客频道 - CSDN.NET
让 QtWebkit 支持跨域CROS - nowboy的CSDN博客 - 博客频道 - CSDN.NET 让 QtWebkit 支持跨域CROS 2013-05-23 22:05 450人阅读 评论 ...
- 关于将sublime中的代码高亮导出到博客中
第一步:打开sublime编辑器,用快捷键ctrl+shift+p调出control panel,在出现的输入框中输入install,按回车键 第二步:然后输入插件名称sublimehighlight ...
- 如何实现一个 markdown 图片粘贴上传的博客后台系统
如何实现一个 markdown 图片粘贴上传的博客后台系统 js 实现 drag & drop / copy & paste image uploader MongoDB 设计文档对象 ...
- 为Subline Text 3 添加支持ini文件语法高亮
转: http://lancelot.blog.51cto.com/393579/1783653 在Subline text 官网下载了Subline text 3 .不过发现没有对ini格式文件的语 ...
- vim 支持 nginx配置文件 语法高亮
1.下载 nginx.vim 语法高亮文件 2.将文件复制到 /usr/share/vim/vim74/syntax 目录(也可以是 单用户目录 ~/.vim/syntax/) 3.修改 vim /u ...
- 教你如何快速上手markdown语法,编写技术博客(史上最全最简,用MarkDown写博客)
首先,进行有道云笔记官网,新建一份markdown文档, 如下图 然后,在文档编辑区,左边,复制如下段落文字 加粗 斜线 标记颜色 下划线 废弃线 一级标题 二级标题 三级标题 四级标题 五级标题 六 ...
- webstorm 支持vue element-ui 语法高亮属性自动补全
如果webstorm中 提示 Unknown html tag el-*** 说明没有加载 node_modules 下的 element-ui 解决办法就是: 在webstorm 打开的状态下 第一 ...
- 为什么你应该试试用Sublog写博客
HI 这篇文章发布后,收到了一些反馈,在不同的阅读媒体上(浏览器,RSS,evernote)等,会有样式兼容问题,特别是之前的代码显示行号的实现方式,使用浮动code块,兼容问题比较严重,所以做了一个 ...
随机推荐
- 第三节 构造一个简单的Linux系统MenuOS——20135203齐岳
第三节 构造一个简单的Linux系统MenuOS By 20135203齐岳 Linux内核源代码 arch/ 支持不同cpu的源代码 Documentations/ 文档存储 init/ 内核启动相 ...
- ios基础篇(二十)—— UIBezierPath绘制
UIBezierPath类可以创建基于矢量的路径,可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线段组成的形状. 一.UIBezierPath使用: 1.创建path: 2.添加路径到path ...
- 2016.9.18 --- Shenyang ol
1001 Resident Evil 1002 List wants to travel 1003 hannnnah_j’s Biological Test 1004 Mathematician QS ...
- PDF 补丁丁 0.4.3.1518 测试版发布:书签编辑器新增升级书签功能、优化PDF文档阅览器
新的 PDF 补丁丁测试版上线啦! 新版本增加了升级书签的功能(见工具栏的“←”按钮),可以方便地将下级书签升级为上级书签. 另外,新版本还增强了书签编辑器功能中的 PDF阅读器,从之前的单页阅读模式 ...
- iOS开发多线程篇—自定义NSOperation
iOS开发多线程篇—自定义NSOperation 一.实现一个简单的tableView显示效果 实现效果展示: 代码示例(使用以前在主控制器中进行业务处理的方式) 1.新建一个项目,让控制器继承自UI ...
- iOS开发UI篇—popoverController使用注意
iOS开发UI篇—popoverController使用注意 一.设置尺寸 提示:不建议,像下面这样吧popover的宽度和高度写死. //1.新建一个内容控制器 YYMenuViewControll ...
- 获取LocationProvider
Android的定位信息由LocationProvider对象来提供,该对象代表一个抽象的定位组件.在开始编程之前,需要先获得LocationProvider对象. 一.获取所有可用的Location ...
- 对比Linux系统和Windows系统哪个更好
最近半年来,我一直在读一本叫做<Linux就该这么学>的Linux教材,确实让我进步的很快,也慢慢的让Linux系统走入了我的知识认知中,那么学习前我们来对比下Windows和Linux的 ...
- docker 会这些也够
$ sudo systemctl start docker $ sudo systemctl stop docker $ sudo systemctl restart docker If you wa ...
- MATLAB 图像操作基础
I = imread('pout.tif'); imshow(I): figure imhist(I) I2 = histeq(I); figure imshow(I2) imwrite (I2, ' ...