Octopress博客从零开始
Octopress博客从零开始 I
本文的写作原则是以我这个没有学过程序的文科同学为基础,所以会有很多其他哥们看了觉得没 事,可在我这就得想破脑袋才能整出来的(呵呵,擦汗)。写这篇文章的两个原因是,向别人分享我安装这个的经验,减少无用功;以及可以让我以后在更换服务器 的时候,不用浪费太多时间在我曾经做成过的东西。这次的策略是,我只打算用vps上的octopress来更新博客,简单些,应该好些。放在vps上更新 的好处是,换了电脑也能更新博客,只要有ssh软件的话。
到这儿来挑个你心仪的VPS服务吧。我选择了inceptionhosting,4欧元可以拿到美国的Xen VPS,256MB,以及直接就可以安装设置好openvpn的distro。我认为这是个相当不错的选择。
购买之后,进入VPS control panel,选择安装设置好openvpn的ubuntu 32bit就可以了。(这个distro只是个人爱好。)
然后就是SSH进入已经设置好的服务器ssh root@x.x.x.x
。这里,我可能会想用免密码登录ssh,那么可以参考这篇文章;
1 2 3 |
|
1 |
|
进去后就先设置一下合用的openvpn帐户。这里我用
1 |
|
先设置好密码,然后就可以登录http://x.x.x.x:943
根据提示下载client.ovpn
进行openvpn连接。是不是有种史上最快vpn设置的感觉。lol 然后请倒上一杯咖啡移步Hulu或是Spotify(下文没有提示,所有操作都默认在VPS上进行)。
设置好一些基本语言环境内容。
1 2 3 |
|
上了VPS要是不走个VPN,我这老脸还真不好意思。因为在已经又openvpn上的系统上整vpn相当容易。我这里参考了这篇文章(呵呵,主要这是google搜索跳出的文章)。
1 2 3 4 5 6 7 8 9 |
|
上面这段代码用在ubuntu 11或10上都能够直接连接上vpn,用户名和密码请相应做出修改。它不能做得是,在vps重启动以后,需要单独再运行一下这条命令。
1 |
|
呵呵,我比较不太懂怎么自启动运行,回头整好了,再统一更新。我个人是用这个土方法来解决。
1 2 3 |
|
在使用vim时,我感觉对光标控制和输入很无力,参考vim的使用方法后,才觉得vim真好用,真是好用啊。
到目前为止,在vps上实现了如下几个用途:
- 免密码登录ssh
- 设置openvpn
- 设置vpn
原文:http://colors4.us/blog/2012/01/08/octopressbo-ke-cong-ling-kai-shi-i/
==========
Octopress博客从零开始 II
现在开始进行下一步octopress的安装。
我之前做过的octopress博客是这样更新的,vps上安装了,本地电脑也安装了,两个同时和github同步保持更新。同时,域名绑定vps的ip地址,用nginx来显现网页。因为我对git不熟悉,经常会出现一个问题就是更新出现问题。
octopress要求有rvm和git等配置好,我直接列出在ubuntu下直接安装的命令行,下次我考好直接贴入就可以了。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
这时我们需要在github网页上配置一个新的源,猛击这里开启新源。
1 2 3 4 5 6 |
|
继续octopress的配置
1 2 3 4 5 6 7 8 9 10 11 12 |
|
以上做完后你的博客就已经设置好了。关于git有些补充:
- 用
git remote -v
来看看push的设置,刚开始初始化完的时候,你只有一个无法远程push的git源,也就是octopuses作者的git源git://github.com/imathis/octopress.git
,我们需要通过这条命令更新为自己的git源git remote add origin git@github.com:linpengxuan/test.git
,这里origin只是一个名词,一个代号,很遗憾我花了n长时间才发现这个origin
是可以改成自己想要的任何名字,比如mown
,这样的结果是,我们在和网站同步的时候就变成了git push myown master
;同样的,master
也是本地机子的源的名字,所以命令的意思就是push to myown from master。类似的git pull origin source
意思为pull from origin to source。 git add .
的意义在于给每个文件创建个时间点,在这个时点给文件命名为后面的commit的内容blahblah
。当我们修改了文件以后,另一个时点再commit一个不同的内容blah II
。这样的意义就是你可以取回不同时点内容变动前后的相同文件,这也就是github很有意义的地方,版本控制。这也是我整了很久才明白过来的地方。
因为我需要把博客放在自己的网站上,我打算先安装nginx到vps上,我的网站内容。之前装过LMNP一键安装包,实在太吃我内存了,256mb的xen vps用free
一看,就只有几兆的空余,所以最好的方法就是只装一个LMNP中的那个N,也就是nginx。
1 2 3 4 5 |
|
然后调整nginx内容,指向博客首页。
1 2 3 4 5 |
|
回到目录下,再调整_config.yml
。
1 2 3 4 5 |
|
这时候打开你的vps ip地址,应该就可以看到octopress博客了。
关于博客域名绑定
- 我先将域名绑定至网络免费的dns服务提供商,我用的是freedns.ws,在上面将域名指向vps ip地址。
- 因为域名是在webhost上买的,所以webhost有个可以更改nameserver的地方,将这个指向freedns服务商提供的nameserver就可以了。
- 然后等待1~24小时让这个更改内容在网络进行propogate。
到这儿,octopress博客已经完全搭建起来了。直接就可以用如下命令来进行博客的发布。呼,长嘘口气。
1 2 3 4 |
|
原文:http://colors4.us/blog/2012/01/08/octopressbo-ke-cong-ling-kai-shi-ii/
==========
Octopress博客从零开始 III
其实现在已经可以开博了,不过如果进行一些个性化博客格式的调整,也就会让你自己的页面出彩些,对我来说,就是有些小爽了。
博客标题字体
进入octopuses下的目录,修改文件/source/_includes/custom/head.html
。从Google webfontshttp://google.com/webfonts)往里头添加自己喜欢的字体。这是我的范例。
1 2 3 4 5 6 7 8 9 10 |
|
我的RSS图标呢?
打开页面会发现RSS图标不见了,事实上一搜页面也能找到,就是图片无法显示,原因是我们更改了blog目录后,images文件夹没有相应变化。调整很容易,进入config.rb
文件,修改如下:
1 2 |
|
颜色调整
可以参考这篇文章,我仅修改了标题的颜色等,修改sass/custom/_colors.scss
如下:
1 2 3 |
|
如何continue to read
有的时候文章太长了,不想把所有的都一次性放在网页上,这时候只需在想分割出来的段落后放置一个<!--more-->
就可以了
博客的sidebar
sidebar可以在_config.yml
中进行基本的设置,我的如下
1 2 3 4 |
|
我们也可以修改footer,比如把Powered by Octopress
改成Proudly Powered by Octopress
,可在这个文件上修改source/_includes/custom/footer.html
header调整
我对header调整没有任何概念,直接从这哥们的博客上抄下来。下面的这段代码放入sass/custom/_layout.scss
可以产生我博客上面的效果,请参考。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
|
在sidebar上介绍关于这个博客的内容,比如about me
等,可以进行如下操作
1 2 3 4 5 6 7 8 9 10 11 |
|
至此博客sidebar上就多了about us的介绍,同时结尾处提供了一个链接,可以转到navibar上about的页面,方便做更详细的介绍。
disqus评论导入
从04年开始写的博客看得人虽然不多,评论几年下来几百条也是有的。换到octopress来,能保留还是要尽量保留。但是太多的情况是,网上遍地的disqus导入都涉及到地址变换,这个对我挑战过大。有次上网时,看到@laoyang945提出的方法很靠谱。首先保证wordpress上的博客文章可以导出到disqus上,这个没问题的,有插件的。然后在disqus登录后,在tools中选中Migrate Threads
的Upload a URL map
,我们会得到一个csv文件,第一个单元格是登记于disqus的地址,我们在第二单元格填入想要链接的博客地址就可以了。这样做的好处是,以后再次迁移的时候,评论可以很容易的管理,缺点是得一条一条地整理。
wordpress导入
对wordpress导入我是最无语的。我曾经导出成功过,可是之后要再次实行的时候,却失败了。目前对我无解,不过我个人推荐这个exitwp,大伙应该可以导出的吧。要注意看下面getting started
的提示,如果提示dependancy有问题的话,根据提示去安装,要么用python
安装,要么直接将py后缀的文件放到文件夹内。
tag_cloud
很遗憾,这个目前对我无解,我尝试了如下方法:
favicon
网站的小图标也是可以留意的,有的人说只有这个也ok了,网站才算叫just right. favicon的更新方法很简单,将你中意的favicon.png
这个文件考入source
文件夹,在rake更新即可。
关于octopress的备份
我对git的了解基本属于残疾人,连入门都不算。作为一个从windows95就开始折腾的中国网民来说,装机和备份是生存手段。这里我介绍一个 octopress的备份。我们知道,博客就两项内容,一个是内容,一个是格式。内容根本没有任何问题都是markdown格式的,稍微拷下就ok了。格 式咋办了,写到这里都快崩溃了,再做一次肯定不干,直接来个tar吧。用下面的命令备份到目前为止的文件夹吧,以后恢复时要做的是装好octopress 后,用这个覆盖就可以了,没试过,我觉得ok就是了。
1 2 |
|
自动完成文件名的小技巧
这个很多人应该都知道,我到这个礼拜才从同事那儿学会,就是在敲入文件地址的时候,当输入的头几个字母已经足以将该文件和其他文件区分开来时,按tab
键会自动补齐。这同样适用于文件夹名字的输入。
TextExpander的使用
Octopress虽然号称是黑客博客工具,但是有时候用图形化界面来整理感觉也很不错。这里从网上借鉴Quickie: TextExpander and Octopress,(这下看出我标题上图案是从哪抄来的吧,-_-!!)得出如下心得。TextExpander的作用是任何在mac上的键幅输入都会被跟踪,当跟踪到数据和预设的一致时,代入对应字符串。比如我输入预设的sshi
时,mac上就会自动变成ssh root@x.x.x.x
。提几个看法。
- 可以设
rknp
为cd ~/blog; rake new_post["%fill:title%"]; vi ./source/_posts/%Y-%m-%d-*.markdown
。 - 可以设
rkgr
为cd ~/blog; rake generate; rake deploy
- 其实发挥想象力的话,你可以在vps服务器上设立dropbox文件夹,把预设
public
置入同步文件夹内,我们在本地上用Mou或Byword书写,本地Dropbox存盘,本地rake generate。然后那儿就直接被更新了。这个只是想法,还没有被测试过,以后来整。
给网站添加访问分析 Google Analytics
我在看了这个网页后,发现我还可以添加网站分析,毕竟是自己努力出来的东西,看看大伙是否有兴趣访问还是不错的,不过很多情况是远逊于预期。:)
- 先于Google Analytics开通和自己网站相关的服务,比如登记自己的网址,取得GA的Track ID,应该如该样式
UA-28584XXX-X
. - 修改
_config.yml
最后部分,将ID置于google_analytics_tracking_id:
项目之后,rake一下就行了。 - 之后进入GA网站看report吧,你就会知道何时多少人访问过你的网站。
原文:http://colors4.us/blog/2012/01/08/octopressbo-ke-cong-ling-kai-shi-iii/
==========
调整octopress主题小结
太难了,对博客主题的更改。这是我大半年以前刚开始写博时的感觉。毕竟octopress 不是wordpress,很方便的随便点击几下确定键就可以了。我确实尝试过,失败了。一个很重要的原因是,我不知道css的语法。不知道的话,很简单, 就去学。css不是excel啊,太难学了。我的那种抄袭式的学习方式根本派不上用场。在没有办法搞定的前提下,我选择忽略对主题背景修改的重视。这一 放,就到了半年后,也就是现在。
我要求的博客样式非常简单。我想让我博客中的背景图片统一。怎么样,很简单吧。问题就在这里,我找到了满意的照片,却不知道应该放到哪个文件夹去。 即使放下后,基于octopress完全定制的风格,我也不知道应该从哪儿修改文件。一切从昨天突然想到的一次google收索开始。这篇博文 参考后,帮助很大。完全符合我的风格。背景统一,干净,简介。
分离navigation bar
由于octopress基于jekyll模式,我很方便地根据文章的提示,将主题对应的源代码下载下来。没有多想。直接将这个sass/custom/_styles.scss
考入我的博客文件系统里面。
统一背景图片
octopress中背景图片是直接存于css中的。更明确点说是,主背景照片为这个文件source/images/line-tile.png
。在标题框中,我博客的例子就是sourrabbit&linpx
, 也存在一个标题背景图片。一般情况下,两张照片是不统一的,不过看起来,我个人感觉不是我想要的风格,我希望的是不会让文字阅读分心的背景图片,同时有些 minimalist风格。需要统一。octopress本身文件系统是没有定义标题框背景图片的,仅是对颜色进行了一些过渡,所以我定义标题背景照片为source/images/header_bg.png
。导入希望用的背景图片,同时命名为上述两个文件名字。
之后我们需要做些调整。我在sass/custom/_style.scss
的第13~17行中指定了标题框的背景图片。这样直接rake之后,就OK了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
// This File is imported last, and will override other styles in the cascade
// Add styles here to make changes without digging in too much
@media only screen and (min-width: 550px) {
body > header h2 { padding-left: 60px; }
body > footer { margin-bottom: 3em; }
}
header[role=”banner”] {
background-image: url(/images/header_bg.png);
background-repeat: repeat;
}
@media only screen and (min-width: 1040px) {
body > nav {
-moz-border-radius: 0.4em;
-webkit-border-radius: 0.4em;
border-radius:0.4em;
margin-bottom: 2em;
}
body > footer{
-moz-border-radius-bottomleft: 0.4em;
-moz-border-radius-bottomright: 0.4em;
-webkit-border-radius: 0 0 0.4em 0.4em;
border-radius: 0 0 0.4em 0.4em;
}
#main{
-moz-border-radius-topleft: 0.4em;
-moz-border-radius-topright: 0.4em;
-webkit-border-radius: 0.4em 0.4em 0 0;
border-radius: 0.4em 0.4em 0 0;
}
#content{
-moz-border-radius-topleft: 0.4em;
-webkit-border-radius: 0.4em 0 0 0;
border-radius: 0.4em 0 0 0;
}
#content .blog-index a[rel=”full-article”]{
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
}
}
|
字体的选择和修改
octopress的中文字体我就不修改了,因为不会。英文字体还是OK的,不过太死板,用的人太多。如果有想换字体的话,可以参考这个官方文件。我直接讲我的方法。
先寻找心仪的字体。我一般上google web fonts里找到后,寻找给出的字体使用链接即可样式如下<link href='http:// ......>
.下面这个文件是我的字体方案,供参考。于source/_includes/custom/head.html
1 2 3 4 5 |
<!–Fonts from Google”s Web font directory at http://google.com/webfonts –>
<link href=”http://fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic” rel=”stylesheet” type=”text/css”>
<link href=”http://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic” rel=”stylesheet” type=”text/css”>
<link href=’http://fonts.googleapis.com/css?family=Ruge+Boogie|Ruthie|Flavors|Rancho|Galdeano’ rel=’stylesheet’ type=’text/css’>
<link href=’http://fonts.googleapis.com/css?family=Philosopher:[object Object],[object Object],[object Object],[object Object]’ rel=’stylesheet’ type=’text/css’>
|
找到字体后,就要定义字体如何使用了。于sass/custom/_fonts.scss
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// Here you can easily change font faces which are used in your site.
// To give it a try, uncomment some of the lines below rebuild your blog, and see how it works. your sites’s.
// If you love to use Web Fonts, you also need to add some lines to source/_includes/custom/head.html
//$sans: “Optima”, sans-serif;
//$serif: “Baskerville”, serif;
//$mono: “Courier”, monospace;
//$heading-font-family: “Verdana”, sans-serif;
//$header-title-font-family: “Futura”, sans-serif;
//$header-subtitle-font-family: “Futura”, sans-serif;
$header-title-font-family: “Flavors”, sans-serif;
$header-subtitle-font-family: “Galdeano”, sans-serif;
$sans: “Philosopher”, sans-serif;
$serif: “Philosopher”, serif;
$mono: “Philosopher”, monospace;
|
背景文件的选择来源
上述的背景和字体选择完了后,octopress看上去一定会清爽很多。我个人的建议是,背景不要用大红大绿,要清淡,简约,不要过于喧宾夺主。因此留给我们的选择不会太多,还好我们有网络。我给出几个网站参考。
- Elegant Themes 的这个网页非常好,可以调字体,可以选背景pattern,所见即所得;
- Ultimate Source for tiled background patterns;
- dinpattern;
- patterncooler是我背景下载的网站,牛逼在于可以选择pattern重复的尺寸,颜色,还可以免费下载。东西选择太多,反而不知道要走哪一个了。呵呵。
结语
前些天我看到了jekyll bootstrap作者整了个ruhoh.com, 非常漂亮的jekyll博客平台。就不多说它网页上的好处了,居然可以无缝支持我octopress上的中文名permlink这点就让我当时就有移过去 的冲动了。只是整起来花些时间,如果是打算新开博客的朋友,倒是一个很好的选择。在机子上或vps上搭好ruby平台就行了。不像octopress这 样,当初为了整这个就花了好久。
博客写久了会有写博客的习惯。我和我太太就很有信心将这个博客写上60年。只是未知那时是否还是如此复杂的人机交流模式。
原文:http://colors4.us/blog/2012/09/06/%E8%B0%83%E6%95%B4octopress%E4%B8%BB%E9%A2%98%E5%B0%8F%E7%BB%93/
==========
给octopress博客添加category列表
在前几篇博客我有提到过,我还不大会设置category list。博客有这功能后,当然会更好浏览了。作为一项任务,必须攻克。于是大年初二,家里也没啥亲戚可逛,也没有太多电话短信去发,又上google搜去了,闲着也是闲着,挺好不是?
设置
当然还是先得去GitHub上去找前人做好的程序了,这里采用了nistude写的gist:1144723。 下面贴出的是我fork后修改的内容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# place this file in your plugins directory and add the tag to your sidebar
#$ cat source/_includes/asides/categories.html
#<section>
# <h1>Categories</h1>
# <ul id=”categories”>
# {% category_list %}
# </ul>
#</section>
module Jekyll
class CategoryListTag < Liquid::Tag
def render(context)
html = “”
categories = context.registers[:site].categories.keys
categories.sort.each do |category|
posts_in_category = context.registers[:site].categories[category].size
html << “<li class=’category’><a href=’http://colors4.us/blog/categories/#{category}/’>#{category} (#{posts_in_category})</a></li>\n”
end
html
end
end
end
Liquid::Template.register_tag(‘category_list’, Jekyll::CategoryListTag)
|
我解释一下用法。gist下载后放到octopress/plugins/
下即可。然后建立source/_includes/asides/categories.html
文件。内容如下:
1 2 3 4 5 6 |
<section>
<h1>Categories</h1>
<ul id=”categories”>
{% category_list %}
</ul>
</section>
|
然后我们在_config.yml
中的default_asides
条目中仿照同类,中括号内加入asides/categories.html
就设置完了。这时rake generate
一下就出来了。
需要注意的地方
- 第一个gist文件17行设置的为category的绝对路径,可按需进行修改。
- 不完善的地方是,它无法辨识带有大写字母的category或是中间有空格的单词串category。所以我昨天花了不少时间进入原来的博文,修改原有的category。既然我需要的基本功能可以使用,就不多折腾啦。
===========
利用邮件发表octopress博客
看完这篇文章,我想大伙应该就可以实现通过email直接在octopress博客上进行发文。好处相当明显,你不可能永远带着你配置有octopress的电脑,只要手里有手机发邮件,就没有问题。真正做到anytime anywhere.
写文章的初衷是,本网站是我和我太太 共同经营的博客。很多时候,她写好了文章,委托我发表时,苦于手中的工作windows电脑,发布相当不易。就开始设想有没有这么个功能,用email发布博客。答案是有。在和@lucifr交流后,发现@masukomi的方法很靠谱,可以使用,于是在不懂任何环境配置的情况下,瞎猫碰到死老鼠地运气和从windows 95
就开始养成的反复安装,反复测试的精神的鼓励下,开始了摸索。
这篇文章适用于在自己域名上布置的octopuses博客,只需rake generate
就能在nginx上完全反映出内容的变化。如果是用github的朋友,还需多加上rake deploy
和相应的git commit
。实际上从我之前所写的Octopress博客从零开始出发,到这篇文章为止,是可以做到零脑损建立octopress博客的。
和原来发布方式有个不同的地方是,原来的博文地址都是中文拼音,这次更给力,地址用上中文了。另外,在windows远程登录ssh设置时看到的都是乱码,实际上不影响的,换台mac,就没有问题。
jekymail配置
1 2 3 4 5 6 |
|
进入jekyllmail文件夹,修改_config.yml
,具体内容如下:
1 2 3 4 5 6 7 8 9 10 |
|
邮件发送博文牵涉到两个邮件,发送的邮件和接收的邮件,jekyllmail会自己登录到接守的邮件上去检查是否有需要发送的博客。所以,我建议两个都用 gmail,确认设置中已经打开了pop3支持和utf-8发送。
是不是超级简单。我们现在可以测试一下是否有用。进入自己的gmail信箱给xxx@gmail.com
发新邮件,邮件题目subject 如下,更详细的情况可参考程序作者@masukomi的git页面:
1 |
|
邮件的内容直接拷入已经写好的markdown格式的文章即可。我建议书写格式去除rich formatting
,改用plain text
(这是 gmail内置的功能)。然后点击发送。
1 |
|
如果你能够在/home/wwwroot/blog/source/_posts
中看到你刚才发过去的邮件,那么你的jekymail配置就是成功了。(这 里我首次测试是不成功的,百思不得其解,后来发现发的测试邮件在第一时间被我另一个设好crontab的服务器给接走鸟。-_-!!!)
ubuntu下cron设置
很明显,要让博文自动发送,必须有自动机制,程序作者程序作者@masukomi 也建议用cron。cron是linux下的定时器,定时运行程序。我在这里的设置相当乱,因为我对cron不熟悉,能用的原因是我一个一个试出来的,笨方法,大家别学。
- cron在运行的时候,是不会采用我们已经有的环境的。所以很多情况下,我们直接运行ruby xxx.rb可以,但是在cron下是不行的,因为没有定义rubi环境。这个很重要,我花了3个小时才捉摸出来。
- ubuntu下的cron设置很容易,在任何目录下运行
crontab -e
就行,存盘出来后应该就是已经放入到系统运行中去啦。 - cron的语法必须要了解,大家可以看看这个页面。
我直接给出我可以用的设置,修改文件夹位置后,引用即可。输入crontab -e
,加到最后一行。内容中涉及到gem
和rvw
的地址,用which gem
和which rvm
来确定。
1 2 3 |
|
cron运行时时不带环境的,所以我们必须在jekyllmail
下的两个文件run_jekyllmail.sh
和build_site.sh
定义环境。分别设定如下:
1 2 3 4 5 6 7 8 9 |
|
以及
1 2 3 4 5 6 7 8 9 10 |
|
通过cron定时进行rake generate
必须补充一下,如果你的网页是放在github上,还需来个rake deploy
。
暂时结语
上述方法不是最优的,其实我希望可以做到@masukomi所写的Serving Octopress From a Self-hosted Git Repository (中文版可参考@lucifr所写博客服务器端 Octopress 搭建及移动方案),文中的新博客文章放到特定文件夹后会主动触发rake generate
,在我看来,这远比用cron被动,反复rake来的即时和漂亮。我在做测试时,失败了,我会在以后继续跟进这个方向,有新的进展,肯定贴出。
如果对octopress这么多命令行没啥把握的话,不用怕。知难而上,做出来才爽啊。很多时候,在执行命令的时候,就直接给提示哪儿出错了。我们 需要做得就是把错误信息google一下就行啦。因为出现的错误,肯定在别人处出现过,也肯定被解决过。而在寻找解决方法的过程,本身就是一种学习。另 外,得有发散思维,一条程序线下来,出错了,有多种可能性,写下来,一个个设计试验来确定是否出错,排除。
博客整到现在还是很开心的。学到东西了,还能留下文字,如果帮助到大伙就更好了。这就是交流的好处吧。欢迎大伙在下面评论中留下各种问题,只要我知道的,会非常乐意互相沟通。
==========
Windows下发布octopress博客的尝试
多此一举
以下经证明,属多此一举。在任何需要输入中文的情况下,只需在word下写好,拷贝入terminal cocoons即可,即使表现出来是乱码也勿挂,谨记各步骤即可。
本篇文章适用于将octopress发布系统配置在服务器上的朋友。
有的时候需要发布博客,手头上只有windows电脑,还是借别人用的,异常绝望。因为我们通过windows以ssh方式登录上服务器后,发现输入中文时,出来全是乱码。rake generate不认怎么办。我想了个绕过去的方法,不用任何设置,只需要有Dropbox
即可。
先解释我的方法。先用markdown写好博客,notepad下以UTF-8格式存好,放入Dropbox的Public
文件夹,这样我们会得到一个链接,拷贝链接;在服务器端下,先设立新文档,命名新文档(建议按英文名命名,中文不识别的缘故),然后wget 拷好的链接,用cat命令将取回的博客添加到新文档后面,以保存完整的ymal的metadata。看看如下的代码就明白啦。
1 2 3 4 5 |
|
原文:http://colors4.us/blog/2012/01/16/windowsxia-fa-bu-octopressbo-ke-de-chang-shi/
==========
更换服务器后的Octopress设置
每隔一段时间,我总会有些东西跳出来。事情是这样的,公司里面有道防火墙,屏蔽了Gmail。If there are something to be got rid of my computer, I am quite positive the services from google would the last one on my list. 于是我就用了翻墙软件来上Gmail,很讽刺,是吗?在肉身翻墙之后。。。
之前购买的VPS服务也许是因为我设置的邮件发布octopress的ruby程序,一个月内服务过载警告2次。于是我开始考虑转换一个服务器。
概要,目的
- 我想实现和现在VPS一样的功能;
- 改善邮件发送功能。以前是使用cron定时器,每隔一定时间的运行,被动检查是否有新博客。我希望改善博客的发布功能;
- VPN,SSH功能正常。
服务器设置
我从这儿可以设置好在CentOS上的VPN。
然后设置LNMP,因为我有了512MB的内存。
设置好新服务器的rvm环境和ruby。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
|
实际操作
每当我需要更新博文的时候,用邮件发送博文后,我会登录服务器运行./aa.sh
,然后在有博文时,会自动rake generate
;在没有博文时,就保持原样。
===========
备份VPS内容到dropbox
我对github一筹莫展,昨晚更新了博客内容后,还是发现无法在github上备份,除非我用心去学这东西,不然问题还是会一再出现。于是就自然想到了用dropbox来备份我的vps和博客内容。
首先被否定了的是dropbox官网上贴出的linux安装教程。 运行出错,考虑到机子内存本身不大,于是就掠过了。
继续在网上晃荡,直到我看见了这篇Backup your Linux system to Dropbox。原 理是利用mysql登录dropbox,将文件打包上传,由于vps带宽的原因,我发现几乎是妙传。贴出code,供大伙参 考。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
|
完了大伙可以把这个加到crontab去,设定一个更新的循环时间就行。我的情况是,直接加在我邮件发送博客的批处理命令后,一旦邮件更新后,便自动打包上传了。很方便。
原文:http://colors4.us/blog/2012/04/14/%E5%A4%87%E4%BB%BDvps%E5%86%85%E5%AE%B9%E5%88%B0dropbox/
作者: yaohua0214 时间: 2006-7-19 16:03 进入与退出系统 (以下Linux基本命令的讲解中以TurboLinux为例) TurboLinux是一个多用户的操作系统,用户要使用该系统,首先必须登录系统,使用完系统后,必须退出系统。本章主要讨论登录和退出系统的方法。 用户登录系统时,为了使系统能够识别自己,必须输入用户名和密码,经系统验证无误后方能进入系统。在系统安装过程中可以创建两种帐号: 1)root–超级用户帐号,使用这个帐号可以在系统中做任何事情。 2)普通用户–这个帐号供普通用户使用,可以进行有限的操作。 一般的Linux使用者均为普通用户,而系统管理员一般使用超级用户帐号完成一些系统管理的工作。如果只需要完成一些由普通帐号就能完成的任务,建议不要使用超级用户帐号,以免无意中破坏系统。 用户登录分两步进行:第一步,输入用户的登录名,系统根据该登录名来识别用户;第二步,输入用户的口令,该口令是用户自己选择的一个字符串,对其他用户是保密的,是在登录时系统用来辨别真假用户的关键字。 在Linux系统中,系统管理员在为用户建立新帐号时赋给用户一个用户名和一个初始的口令。另外,Linux系统给计算机赋予一个主机名。主机名用于在网络上识别独立的计算机(即使用户的计算机没有联网,也应该有一个主机名)。TurboLinux系统给出的缺省主机名为:localhost。在下面的例子中,我们假设用户名为”xxq”,系统的主机名为”localhost”。 进入系统(登录) 超级用户登录 超级用户的用户名为root,密码在安装系统时已设定。系统启动成功后,屏幕显示下面的提示: localhost login: 这时输入超级用户名”root”,然后键入回车键。此时,用户会在屏幕上看到输入口令的提示: localhost login:root Password: 这时,需要输入口令。输入口令时,口令不会在屏幕上显示出来。如果用户输入了错误的口令,就会在屏幕上看到下列信息: login incorrect. 这时需要重新输入。 当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示: [root@loclhost /root] # 此时说明该用户已经登录到系统中,可以进行操作了。这里”#”是超级用户的系统提示符。 普通用户登录 建立了普通用户帐号以后,就可以进行登录了。 在登录时,用户会在屏幕上看到类似下面的提示: < > localhost login: 这时输入用户名”xxq”,然后键入回车键。此时,用户会在屏幕上看到输入口令的提示: localhost login:xxq Password: 这时,需要输入口令。输入口令时,口令不会在屏幕上显示出来。如果用户输入了错误的口令,就会在屏幕上看到下列信息: login incorrect. 这时需要重新输入。 当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示: [xxq@loclhost xxq] $ 此时说明该用户已经登录到系统中,可以进行操作了。 修 改 口 令 为了更好的保护用户帐号的安全,Linux允许用户随时修改自己的口令,修改口令的命令是passwd,它将提示用户输入旧口令和新口令,之后还要求用户再次确认新口令,以避免用户无意中按错键。如果用户忘记了口令,可以请系统管理员为自己重新设置一个。 虚 拟 控 制 台 Linux是一个真正的多用户操作系统,这表示它可以同时接受多个用户登录。Linux还允许一个用户进行多次登录,这是因为Linux和许多版本的UNIX一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。 虚拟控制台的选择可以通过按下Alt键和一个功能键来实现,通常使用F1-F6。 例如,用户登录后,按一下Alt-F2键,用户又可以看到”login:”提示符,说明用户看到了第二个虚拟控制台。然后只需按Alt-F1键,就可以回到第一个虚拟控制台。 一个新安装的Linux系统允许用户使用Alt-F1到Alt-F6键来访问前六个虚拟控制台。 虚拟控制台可使用户同时在多个控制台上工作,真正感受到Linux系统多用户的特性。用户可以在某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作。例如,开发软件时,可以在一个控制台上进行编辑,在另一个控制台上进行编译,在第三个控制台上查阅信息。 退 出 系 统 不论是超级用户,还是普通用户,需要退出系统时,在shell提示符下,键入下列命令即可。 下面以普通用户的退出为例,说明退出系统的过程: [xxq@loclhost xxq] $ exit 还有其他退出系统的方法,但上面一种是最安全的。