# 如何优雅地写博客

Date: 2020-01-24  
Author: SimonAKing  
Categories: 博客  
Tags: 博客, 写作  
Source: https://simonaking.com/blog/how-to-blog-elegantly/

> 如何优雅地写博客，hexo与外设的完美结合。

---
分享我的写作经历。## 前言

本文将以我个人写作方式的演变为主线，分三个不同的阶段讲述。

*请注意：文章的重点不在于 静态文档生成器，写作平台的选择。*

## 正文

### 安逸的PC阶段

#### 初识Hexo

在大二刚开学的时候，我便萌生了建立个人博客的念头。

当查阅很多资料后，发现了一款名叫`Hexo`的静态文档生成器广受好评，网上有关的文章也非常多，于是在大势所趋下，我走上了这漫长的建站之路。

这里闲话两句：

刚开始，我把大量的时间都用在网页交互上，现在回头一想，真是搞错了重点。

**对于一个博客来说，内容才是最重要的。**

#### CI的增持

在最初的写作流程很繁琐，主要分为下面几个步骤：

1. 调用`Hexo`命令新建文章
2. 启动`Hexo`的本地服务器
3. 编写好文章
4. 在本地服务器上检查是否有遗漏
5. 利用`Hexo`生成出站点网页
6. 将这些网页`push`到`Github Page`上

很容易看出，在`PC`阶段，与写作无关的流程会浪费不少时间，写作效率很难得到保障。

在无关流程中，第五步骤 生成网页是最占据时间的。

所以，我根据需求进一步为博客加了上持续集成工具。

由于我的博客是私有仓库，大部分的`CI`工具都是收费的。

迫不得已，我使用了`Gitlab`，不论项目是`private`或`public`，一个月都免费提供2000次持续集成，这对一个不常更新的博客来说，足矣。

后续：现在`CI`工具已选为`GithubAction`。

其对于私有仓库，一个月免费提供2000分钟会话，并且构建速度比`Gitlab`快5倍左右。

So，在持续集成的增持之后，我的写作流程简化成了如下：

1. 调用`Hexo`命令新建文章
2. 启动`Hexo`的本地服务器
3. 编写好文章
4. 在本地服务器上检查是否有遗漏
5. 直接将项目`push`到`Gitlab`

如此一来，将部署阶段彻底隔离。

#### Typora-所见即所得

在`PC`上我的写作软件是`Typora`，所见即所得，简单好用。

![typora-theme-tomotoes](./如何优雅地写博客/typora.png)

上图是我根据`Tomotoes`样式打磨的一款`Typora`主题 [typora-theme-tomotoes](https://github.com/SimonAKing/typora-theme-tomotoes) 已开源，欢迎使用。

虽然`PC`上写作很安逸，但可惜的是，对于一个没有固定自习位置的学生来说，`PC`的不易携带性会被逐渐放大，一场潜在的变革 在所难免。

### 极致的Android阶段

在大三之后，因忙于考试，我的学习设备从沉重的笔记本换成了`Android`手机。

这方便是方便了，可如何写博客呢？这成了一个难题。

在这个阶段，每当有`idea`来时，也只能记在本上。

虽说解决了基本需求，但 一纸一笔是很难分享于众的。

对于我来说，这还远远不够。

我曾听说过一句话：

> 现代人的知识库会因互联网的出现而无限增加。

即，你解决不了的事情，`Google`就是了。

#### 遗失的神器-Termux

很快的，在`Google`的帮忙下，我找到了我想要的答案—**Termux**（手机上的`Shell`）。

![termux](./如何优雅地写博客/termux.jpeg)

哈哈，乍一看 是不是很强大！

我给它安装了`zsh，hexo`等一系列软件，并且还配置了桌面化程序。

在我看来，`PC`上所有的需求几乎都可以实现，称得上一个小型操作系统了。

不过，`Termux`有个坑。

如果你的`Android`没有`root`，它是不支持访问内部文件系统的。

即，外部软件编写好的博文，无法同步到`Termux`里。

如果刷机`root`会浪费很长时间，我采取的是软连接+`npm`钩子临时复制删除的方法。

```json
{
  "scripts": {
    "preci":"rm -rf ~/blog/source/_posts && cp -r ~/storage/dcim/_posts ~/blog/source",
    "ci": "git add -A && git commit -am'add new post' && git push -f gitlab master",
    "postci": "rm -rf ~/blog/source/_posts && ln -s ~/storage/dcim/_posts ~/blog/source/_posts"
  }
}
```

如有进一步的问题，请留言。

#### 码字的进一步思考

虽说，`Android`上有如此极客风格的神器，但在写作软件的生态，却差强人意。

在我几乎找遍了`Play`商店中所有的写作软件之后，我只看上了一款叫做`Epsilon Notes`的软件。

然而，在后续发展中，一个致命问题显现了出来：**手机上码字的体验真的是次到爆！**

原本我还想写一篇文章：`《你浪费了一部手机》`，看来是我想错了。

输入外设的硬伤，写作的冲动都被浇灭了。

### 优雅的iPad阶段

虽然，在[上一篇文章](https://simonaking.com/blog/apple-a-construction-company/)中我吐槽了`Apple`的作风，但这丝毫不影响我对`Apple`设备的喜爱，生态闭环的极致便是设备体检的极致。

哈哈，本文正式开始了。

![iPad](./如何优雅地写博客/ipad.jpeg)

*本文，就是在这些工具的加持下完成的。*

下面主要讲述这些工具。

#### Logitech K380

在键盘方面，我下了不少功课，最终选择的是罗技的`K380`键盘。

因为，之前码字主要在笔记本上，所以 短间距，剪刀式的键盘，我用起来很顺手。

并且值得一提的是，该键盘很轻便，方便携带，可谓是出家旅行的必备之物。

#### Working Copy

![working-copy](./如何优雅地写博客/working-copy.png)

以`Apple`的喜欢筑墙的性格，终端模拟器是不可能出现在苹果商店里的。

但在`Testflight`，我还找到了一个类似于`Termux`的软件—`ish`。

这款软件唯一的缺点就是没有优点，连安装个`node`都几经失败，我果断弃坑。

几经辗转，我幸运地遇到了`Working Copy`，`IOS`平台上最强大的`Git`客户端。

现在我写一篇博文，只需要将`pull`下来的博客，添加上写好的文章再`push`上去即可。

并且这一切，在`Woking Copy`中只需要点几下按钮，真的是将所有流程都简化到极致。

可惜的是，`Working Copy`的价格不便宜-128元，它只提供10天的免费试用。

但如果你能通过`Github`学生认证的话，`Working Copy`还是可以继续使用的:smile:。

#### iA Writer

如果你想问我，`IOS`端有没有值得推荐的写作软件？

那很抱歉，这个问题 我无法回答。

在经过数天的寻找之后，我放弃了。

这些知名软件，真的是一个能打的都没有。

目前，我的折中方案是使用`iA Writer`，相当于简易版的`Typora`，

它有个神器功能—可直接打开`Working Copy`中的`Github`仓库进行编辑。

也就是说，我建博文，写博客这些流程全在这一个软件中就可以搞定。

明显的缺点是，对于图片 还要使用`Working Copy`进行导入，有那么一丝破环沉浸感。

### 完美的CMS阶段

CMS？静态博客还想要什么自行车🚴‍♀️。

困就一个字，溜了溜了。

---
## 结束语

这就是我的写作经历，希望对你有所帮助。

最后，新年快乐。

欢迎转载本站文章，请注明作者和出处 [SimonAKing](http://simonaking.com)。
