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块,兼容问题比较严重,所以做了一个 ...
随机推荐
- 从欧几里得距离、向量、皮尔逊系数到http://guessthecorrelation.com/
一.欧几里得距离就是向量的距离公式 二.皮尔逊相关系数反应的就是线性相关 游戏http://guessthecorrelation.com/ 的秘诀也就是判断一组点的拟合线的斜率y/x ------- ...
- JS Map 和 List 的简单实现代码
javascript中是没有map和list 结构的. 本篇文章是对在JS中Map和List的简单实现代码进行了详细的分析介绍,需要的朋友参考下 代码如下: /* * MAP对象,实现MAP功能 * ...
- MAC air 安装redis-3.0.6
redis版本: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Menlo; color: #c33720; background-colo ...
- IE下a标签跳转失败
最近又发现了一个IE和其他浏览器的不同点,IE中,<a></a>中无内容时,无法点击跳转,真是虐死我了,没想到下面这样写也会有兼容性,看来我要学的真的很多. <div i ...
- github文件上传及github pages博客搭建教程
一.与github建立连接 1.安装node.js和git 2.桌面新建文件夹[github],右键“git bash here” 3.注册github账号,新建仓库“new repository”, ...
- 10月9日Android学习笔记:活动与服务之间的通信
最近在照着<第一行代码>这本书来学安卓,顺便记下笔记.主要的内容是Android中服务的第二种启动方式,通过活动绑定服务来启动服务,实现活动与服务之间的通信. 一. 首先创建一个服务类 p ...
- guacamole 0.8.3 项目部署 桌面虚拟化
Guacamole是一个基于HTML5的虚拟桌面应用程序,其中包含多个组件,由各组件共同构成Guacamole---一个完整的虚拟桌面解决方案,不需要任何插件,只要浏览器支持HTML5就可以实现,而且 ...
- iOS开发UI篇—Quartz2D简单使用(三)
iOS开发UI篇—Quartz2D简单使用(三) 一.通过slider控制圆的缩放 1.实现过程 新建一个项目,新建一个继承自UIview的类,并和storyboard中自定义的view进行关联. 界 ...
- git在本地仓库直接使用rm彻底删除文件,服务端还是存在
本地仓库:A和B 服务器:C 今天在本地仓库A希望删除一个文件test,于是执行以下命令: 1 2 3 4 $ sudo rm test $ git add . $ git commit -m &qu ...
- dll的编写和使用
备忘: 1-1: def方式创建:VC6找不到stdafx.h,所以创建空工程,stdafx 里面功能太高端,不用不影响.DLL工程建立好后,新建一CPP文件,叫dlltest.cpp,直接去copy ...