之前在windows操作系统下可以直接使用word发布博客到博客园,现在主要用mac,研究了一下可以使用MarsEdit发布文章到博客园,具体过程如下:
1.使用MarsEdit发布文章到博客园
首先下载MarsEdit, 解压就可以使用,打开之后选择第一项,点击Continue
弹出的对话框中Name输入博客名称,这个名称可以随便输入,比如“博客园”,”我的博客”等,或者像我这里输入自己博客的主页地址后缀,URL中需要输入自己在博客园的博客主页地址,这个对于每个人的博客来说是唯一的。
点击Finish会出现下面的界面,这个就是MarsEdit的主界面,提示这个用户不存在,点击ok按钮,然后点击左下角齿轮图标。
弹出的菜单中选择“Enter Password...”
接着弹出的对话框中输入登录博客园的账号和密码
点击ok。然后点击主界面上面的Refresh按钮,这样就可以将自己在博客园中的文章同步到MarsEdit中。主界面上提供了新建博客,删除博客,编辑博客,在浏览器中打开,隐藏/显示BLOGS,多媒体等功能按钮。其中预览功能是实时的,这一点非常方便。
新建一篇博客,在Title中输入文章名称,Link不需要输入,提交之后会自动生成,修改已有博客则显示之前的链接。编辑界面上有发送博客,保存为草稿,关闭/显示分类,预览,多媒体等功能按钮。
编辑博客的时候可以点击菜单栏的Post>Edit HTML Text,弹出的对话框选择Convert,即可以编辑html的方式编辑博客,这种模式下可以通过css实现自己想要的效果,比如上面这幅图片的边框就是通过添加css样式实现的。
从html代码模式切换为富文本模式也是通过这个菜单,或者通过快捷键shift+cmd+t进行切换。
编辑的时候右键菜单中可以插入链接,粘贴html代码,插入图片,截图,设置字体等。
点击左上角的Sent to Blog即可发布到网上,发布之后还可以再次编辑修改。
2.在博客中插入高亮代码
网上普遍的一种做法是通过sublime实现代码高亮。之前在windows上常用的一个编辑器是notepad++,支持多种语言,并内置了多种代码主题,这个工具没有mac版本,但是可以通过WineBottler在mac下运行notepad++,然后实现博客中插入高亮代码。下面分别给出两种实现方式和对应效果。
2.1使用Sublime Text实现代码高亮
我安装的是sublime 3.0,默认支持大部分编程语言,也内置了一些代码主题,可以通过Preferences>Color Scheme来选择不同的配色方案。通过View>Syntax选择编程语言
对于Sublime不支持的编程语言,比如Verilog语言,可以通过安装Verilog插件来实现高亮,为了能在Sublime Text中安装插件,首先应该安装Package Control。
Sublime Text如果已经安装了Package Control,则Preference菜单下会有Package Settings和Package Control两项,比如上图中有这两个选项则表明已经安装过Package Control。
没有安装的,在Sublime Text中通过View>Show Console或者 control+` (esc键下面那个按键)打开控制台,然后粘贴下面的代码
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
回车之后就会自动安装,安装结束Preference菜单下就会有Package Settings和Package Control两项。
然后通过shift+cmd+p或者菜单Preference>Package Control打开Package Control对话框,输入install,选择Install Package,注意Sublime Text左下角的进度条,更加网络环境不同,插件选择对话框可能等会才能出现
在插件选择对话框中输入Verilog
选择第一个,安装之后就可以对Verilog代码进行高亮显示。安装其他插件的过程也是这样的,安装的插件在Preferences>Package Setting中可以看到。按照这样的步骤继续安装Highlight这个插件,安装步骤和安装Verilog插件一样,安装之后在Edit菜单下会多出Highlight这个子菜单,如下图,Convert to HTML会新打开一个窗口显示高亮代码对应的html代码,可以拷贝这个html代码,然后在MarsEdit中右键选择Parse HTML Source,即可看到高亮的源代码。
Sublime Text编辑代码的地方右键菜单中也多出Copy as HTML和Copy as RTF这两个选项,代码复制为HTML或者RTF之后就可以到MarsEdit中右键选择Parse HTML Source进行粘贴,比如下面就是通过Sublime Text拷贝过来的代码的样子。
#include<stdio.h>
#include<math.h>
#define pi 3.141592653
int main()
{
float y;
unsigned char i,dat;
printf("这是正弦波采样值,128点\n");
for(i=0;i<128;i++)
{
y=(sin(2*pi*i/127)+1)/2;
dat=y*255;
if(i%8==0)printf("\n");
if(dat<16)printf("0%x ",dat);
else printf("%x ",dat);
}
printf("\n");
while(1);
return 0;
}
复制为HTML代码默认是包括<html><body>这些标签的,直接粘贴到MarsEdit中会和原来的跟标签冲突,可以在Sublime Text中设置HTML只输出一个div块,Preferences>Package Settings>SublimeHighlight>Settings - Default,打开插件的配置文件如下,将第二个选项修改为false,即不输出完整html,默认是true,保存之后再通过Edit>Highlight>Convert to HTML打开的html就只包含一个div块。
/*
SublimeHighlight default settings
*/
{
/* Pygments theme to use */
"theme": "default",
/* Full HTML page to generate? false = just a <div/> */
"full": false,
/* Adds line numbering to the ouput; can be "table", "inline" or false */
"linenos": false,
/* Uses inline styles instead of css classes */
"noclasses": true,
/* Lexer options */
"lexer_options": {
"PHP": {
"startinline": true
}
}
}
注意:Sublime Text中tab键缩进在MarsEdit中可能会不显示,可以在Sublime Text中将tab键转为空格键,View>Indentation>Convert Indentation to Spaces,默认是把一个tab转换为4个空格,转换为几个空格可以这个菜单中选择。
2.2mac下使用notepad++拷贝高亮代码
notepad++没有mac版本,但是可以通过WineBottler这个类似windows模拟器的软件运行windows上的exe程序。下载WineBottler之后,需要将Wine和WineBottler这两个软件都安装到电脑中
安装之后LanuchPad中可以看到这两个程序,打开WineBottler。
WineBottler主界面右上角有搜索框,可以输入notepad即可找到notepad++,或者主界面向下拉,在07 Development这个分类中就有notepad++,光标放上去出现Install按钮,点击安装,默认安装在“文档”这个位置,安装完毕可以到“文档”中找到notepad++这个程序。
模拟的notepad++字体看着有些模糊,但不影响使用,同样将上面那段代码粘贴在notepad++中,control+a全选,右键 Plugin commands>Copy Text with Syntax Highlighting
在MarsEdit中直接cmd+v粘贴即可,默认粘贴的字体有点小,通过shift+cmd+t切换到html代码编辑模式,找到这段代码段,其中会有“font-size: 9px”类似这样的css代码控制字体,通过cmd+f打开查找替换对话框将字体大小调整为12px,或14px即可。虽然正常编辑模式下通过选中文本,cmd加“+”组合键可以增加字体到合适大小,但是预览的时候字体依然没有改变,因此还是需要通过修改css代码来控制字体。下面就是从notepad++中粘贴的高亮代码效果。
#include<stdio.h>
#include<math.h>
#define pi 3.141592653
int main()
{
float y;
unsignedchar i,dat;
printf("这是正弦波采样值,128点\n");
for(i=0;i<128;i++)
{
y=(sin(2*pi*i/127)+1)/2;
dat=y*255;
if(i%8==0)printf("\n");
if(dat<16)printf("0%x ",dat);
else printf("%x ",dat);
}
printf("\n");
while(1);
return0;
}
notepad++的插件>Npp Export下也有拷贝为html或RTF的选项,通过这里也可以实现代码高亮拷贝。