共计 18 篇文章

手记7:从单人博客到多人博客全程记录

上一篇手记是讲“改造Gitment”的(在这里)。其实这个“改造”花了不少功夫,以至于后来还出了一个给hexo-theme-next的版本。 这是推迟了“做多人博客”的一个原因,另一个原因则是我以前的博文需要更新的太多,花了很多时间。当然,那个叫Monster的项目(在这里)也是花销时间的大户。 所以,结果就是:这篇“手记7”被推迟了很久...很久... 多人博客的功能其实我一早就做出来了——至少,大概的框架是完成了的。 ...

Monster 1.0.6开启的新功能

多人博客 经过几个版本的更新,Monster已经开始有了丰富的功能,这其中就包括对Ghost多人博客的支持。 Monster主要是在updatesite.sh模式中支持多人博客,也就是说这个功能在update模式下可用。当在.monster配置文件的EMAIL参数中使用一个列表,例如: EMAIL=("aiming@gmail.com" "qomo@gmail.com") 那么多人博客的模式就自动开启,并在--sync-removed命令中有效。 注:如果你只是删除post,或更新theme中post的风格, ...

麦秸的垛 - 多人博客上线啦

麦子的文字写得比我好看,她的博客就叫“麦秸的垛”。 很早就说要把这个博客做成多人博客,其实也一早就做了,只是一直没上线。原因是从旧博客迁移过来的时候,几乎所有的文章都得再按markdown格式重排一遍。这个确实很花时间,比如我的那部分大概做了三个月呢。 所以“麦秸的垛”就一直拖着没上线。 麦子之前在新浪、搜狐和微软MSN上发的博文其实不少,我一次全迁移过来了,也是200多篇呢。所以接下来又得花阵子功夫来做排版了,不过应该会比我的快:毕竟她的博文没代码…… 我的文字太硬气,读起来难以让人愉悦,麦子的不会。这个,相信我。 点右上方的链接就好了。 ...

博客中的系列文章

【技术类】 Qomo技术系列 从基础开始:Qomo OpenProject中的一些关键词 从基础开始:Qomo OpenProject中的一些关键词(2) JavaScript面向对象的支持(1) JavaScript面向对象的支持(2) JavaScript面向对象的支持(3) JavaScript面向对象的支持(4) JavaScript面向对象的支持(5) JavaScript面向对象的支持(6) JavaScript面向对象的支持(7) Qomolangma实现篇(一):内核载入模块system. ...

解决静态Blog中timeago显示问题的方法

因为使用的是Ghost博客的静态化页面,因此一篇文章发布到github上的时候显示的“发表于x分钟之前”,那么过了N多天再去看,还是这个“x分钟之前”。极不爽。所以,最近修改了一个timeAgo模块,用来搞定在静态博客中实时地显示timeAgo信息。 在页面中使用的时候也很简单,基本的做法是: // 在页面中添加timeAgo模块 <script src="https://aimingoo.github.io/assets/js/timeAgo.js" ...

Monster的三种工作模式

Monster有三种工作模式generate、update和preview。可以通过Monster的第一个参数来指定,在第一个参数缺省时直接使用generate模式。例如: # 下面两个指令是相同的 > monster --generate > monster generate --generate 但Monster也有自己的--help参数,所以与generate模式下的--help参数不一致,后者显示的makesite.sh的帮助: # 显示monster的帮助 > monster --help # 显示generate模式(即makesite.sh)的帮助 > ...

详解Monster的初始化及配置

尽管Monster并不强制你创建与初始化工作目录,并且也不强制依赖Ghost来工作,但是“Ghost + 工作目录”仍然 是Monster的最佳使用场景。 关于在没有Ghost的情况下使用Monster的说明请看这里:将Monster用作网站离线下载的方法。 预备工作 你需要先启动Ghost并了解它运行在的本地地址 > npm start Ghost is running in development... Listening on 127.0.0.1:2368 ...

Monster - 用Ghost写博客的终极利器

是时候从Buster转到Monster了 我最先开始用Ghost写博客时,用来生成静态页面(并发布到aimingoo.github.io)的工具是Buster。首先它确实不太好用,其次用它生成(generate)出来的页面还需要做许多的后续处理才能使用。由于这个缘故,我写了Monster这个工具的第一代产品并放在了我的ghost-utils仓库中,名为makesite.sh。 makesite.sh其实是类似Buster的。由于采用了相同的实现方案,所以也就有着Buster的最根本的问题:每次都要对全站做重新生成。为此,我另外又写了一个脚本,名为updatesite.sh,用来实现增量生成基于Ghost的静态网站。 再之后, ...

简单实现Ghost Theme的置顶效果

在《手记3:实例教学之Ghost模板定制》里面我提到了在Theme中“指定文章置顶”的方法,但说得不细致。这里便重新写一个简单的指引。 下面的内容以affinity为例,这个Theme在这里:https://github.com/Showfom/Affinity 找到loop 在affinity/partials目录中的loop.hbs是一个关键文件,它通常如下结构(代码在这里): <div class="content-cards& ...

手记6:改造Gitment

本文所述的修改请参考我在Fork Gitment项目的基础上改造的Gitmint:Gitmint: a mint on gitment 接下来我们要大力修改Gitment,打造一个『好用那么一点点儿』的博客评论。 11. 改造Gitment 折腾到现在,我们有了一个在Github pages上的博客,以及一个用来写本地博客的Ghost,以及一些相关的工具,例如makesite.sh(在这里)。 最后,我们还有了一个第三方提供的支持PHP+HTTPs的空间,这个空间只用来放Gitment的服务端,并且这个服务器事实上也只做一下API的CORS转发而已。 ...

博客迁移手记之快速导航

本来没想把《博客迁移手记》写得这么长这么多,所以写了这么久之后再来看,博客的标题感觉就很Low了。 于是决定给这一组《博客迁移手记(1~n)》写个导航,也算整理一下思路。 快速导航 博客迁移手记(一) 使用BlogToWordpress迁移你的博客 使用本地博客Ghost的快速指南与导入工具 博客迁移手记(二) 从本地博客到Github Pages的最佳指南 makesite.sh使用手册 博客迁移手记(三) 以kaldorei为例详解Ghost Theme的定制 ...

手记5:如何获得一个支持HTTPS的免费空间

下面我们讲的内容其实与Gitment没什么关系。如果你已经有了支持https的空间那就跳过去,如果没有的话,建议还是看看好的伐。 10. 让免费主页空间支持HTTPS 好象我们把问题搞得复杂了:本来我是想做个静态主页的博客网站,现在我却需要找个支持PHP+SSL的动态主页空间? 好吧。没关系。反正我闲着在养病,不做点啥岂不是辜负了时光。 免费主页空间其实挺好找的,尽管要找到一个有长期信誉的并不太容易。即使如此,当你得到这样一个免费空间之后,它多数也是不支持https的。 10.1 你的主页空间是不是支持HTTPS? 好吧,确实有很多免费空间『声称』它支持https了。 ...

手记4:谈谈Gitment中泄露secret的前因后果与解决方法

本来我接下来只是想在博客中加上一个支持评论的功能(使用Gitment),然而诸多的尝试之后,我却发现我需要创建一个支持https的web站点…… 这一切的目的,只是使得我们的Gitment有跨域访问的Api接口可用。 8. 问题出在哪里 Gitment(项目)是极棒的一个利用Github Issues来实现博客评论功能的项目,作者(https://imsun.net/)在介绍中特别提到,这种对Issues功能的使用方法是Github团队支持许可的。这也意味着只要你能接受以下两点可能存在的限制/隐患,你就可以长期地使用它: Github真的可能被屏蔽,尽管这种可能性已经越来越小 要发表评论的话必须先注册Github的账号,不过浏览评论是不受限制的 但是使用Gitment是有问题的。 ...

手记3:实例教学之Ghost模板定制

接下来我们聊一下如何定制这个博客的风格。 7. 定制Themes Ghost缺省使用的主题叫casper theme,你可以在博客管理界面Settings -> General -> Themes中找到你当前安装过的全部Themes,并任意激活/删除它们。 有两种方法来安装Themes。第一种是在这个管理界面中选最下面的『Upload A Theme』来上传你下载过的Theme .zip包,第二种是直接将.zip包解压到Ghost安装目录的content/themes/目录下。 我选择的是使用小蘿蔔丁( ...