commit 1659168fc3026b91bb834843036bb515448da2bf
parent a812f09652f03ca4f51d77ee9d0a7f31683d1fcf
Author: Shimmy Xu <shimmy.xu@shimmy1996.com>
Date: Sat, 23 Jun 2018 11:36:20 -0500
Rerun hugo export and formatting changes.
Diffstat:
31 files changed, 117 insertions(+), 158 deletions(-)
diff --git a/content/_index.en.md b/content/_index.en.md
@@ -6,11 +6,11 @@ slug = "home"
## Goals for 2018 {#goals-for-2018}
-- [ ] Run 1000 miles. (`327/1000`)
+- [ ] Run 1000 miles. (`339/1000`)
- [ ] Finish a marathon. (`0/1`)
- [ ] Write at least 20 blog articles. (`4/20`)
- [ ] Get the first signature for my PGP key. (`0/1`)
- [ ] Install Gentoo. (`0/1`)
-## Recent Posts {#recent-posts}-
\ No newline at end of file
+## Recent Posts {#recent-posts}
diff --git a/content/_index.zh.md b/content/_index.zh.md
@@ -6,11 +6,11 @@ slug = "home"
## 2018 年目标 {#2018-年目标}
-- [ ] 跑 1000 英里。( `327/1000` )
+- [ ] 跑 1000 英里。( `339/1000` )
- [ ] 完成一次马拉松。( `0/1` )
- [ ] 写 20 篇以上的日志。( `4/20` )
- [ ] 获得第一个 PGP 密匙签名。( `0/1` )
- [ ] 安装 Gentoo 。( `0/1` )
-## 最新日志 {#最新日志}-
\ No newline at end of file
+## 最新日志 {#最新日志}
diff --git a/content/about.en.md b/content/about.en.md
@@ -15,4 +15,4 @@ Up and running since July 12th, 2014.
No longer a fan of the slow and clunky Wordpress, I migrated to Hugo on September 1st, 2017.
-This site is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-nc-sa/4.0/) (CC BY-NC-SA 4.0).-
\ No newline at end of file
+This site is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-nc-sa/4.0/) (CC BY-NC-SA 4.0).
diff --git a/content/about.zh.md b/content/about.zh.md
@@ -13,4 +13,4 @@ EE 狗,目前在德州放牛;技术渣, ~~WP~~ Hugo 新手; ACG 相关
建于2014年7月12日,用来放各种奇怪的东西。由于受不了笨重的 Wordpress,我在2017年9月1日把博客迁移到了 Hugo 上。
-本站所有内容使用 [Creative Commons 署名-非商业性-相同方式共享4.0国际许可协议](http://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh) (CC BY-NC-SA 4.0)。-
\ No newline at end of file
+本站所有内容使用 [Creative Commons 署名-非商业性-相同方式共享4.0国际许可协议](http://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh) (CC BY-NC-SA 4.0)。
diff --git a/content/contact.en.md b/content/contact.en.md
@@ -7,6 +7,6 @@ slug = "contact"
Feel free to shoot me an email.
If you feel like it, encrypt your message with my PGP Key:
-```sh
+```nil
5672 AC27 2669 A07A BD28 0896 ACC6 C791 312C F84D
-```-
\ No newline at end of file
+```
diff --git a/content/contact.zh.md b/content/contact.zh.md
@@ -7,6 +7,6 @@ slug = "contact"
联系我的最佳方式是电子邮件。
你可以使用我的PGP密匙来对邮件进行加密:
-```sh
-5672 AC27 2669 A07A BD28 0896 ACC6 C791 312C F84D
-```-
\ No newline at end of file
+```nil
+5672 AC27 2669 A07A BD28 0896 ACC6 C791 312C F84D
+```
diff --git a/content/friends.en.md b/content/friends.en.md
@@ -14,4 +14,4 @@ Welcome to the friendly neighborhood of Library of Trantor!
[比尔盖子](https://biergaizi.info)
-[Vacuuny/A2Clef](http://a2clef.com)-
\ No newline at end of file
+[Vacuuny/A2Clef](http://a2clef.com)
diff --git a/content/friends.zh.md b/content/friends.zh.md
@@ -14,4 +14,4 @@ slug = "friends"
[比尔盖子](https://biergaizi.info)
-[Vacuuny/A2Clef](http://a2clef.com)-
\ No newline at end of file
+[Vacuuny/A2Clef](http://a2clef.com)
diff --git a/content/posts/2017-09-25-my-server-setups-and-whatnot.en.md b/content/posts/2017-09-25-my-server-setups-and-whatnot.en.md
@@ -40,7 +40,7 @@ Apparently my information on DigitalOcean supporting Arch Linux is outdated, as
### Low Level Setup {#low-level-setup}
-Once the script finishes running, I have an Arch Linux system running on my droplet with internet access. Most of the additional setups needed can be found in [Arch Wiki](https://wiki.archlinux.org/index.php/Installation_guide). Since I am by no means a great tutorial writer, I suggest referring to Arch Wiki for detailed steps. The recorded commands here are just for book-keeping purposes and is by no means the best way to do things.
+Once the script finishes running, I have an Arch Linux system running on my droplet with internet access. Most of the additional setups needed can be found in [Arch Wiki](https://wiki.archlinux.org/index.php/Installation%5Fguide). Since I am by no means a great tutorial writer, I suggest referring to Arch Wiki for detailed steps. The recorded commands here are just for book-keeping purposes and is by no means the best way to do things.
#### System Clock {#system-clock}
@@ -157,7 +157,7 @@ We will finish the rest of the configuration using the user account.
#### Package Manager {#package-manager}
-I used to use `packer` as wrapper around AUR and `pacman`. However, after learning about [inherent insecurity](https://wiki.archlinux.org/index.php/AUR_helpers#Comparison_table) in their package building processes, I switched to a more secure AUR helper `trizen` (`pacaur` is another choice, and fun fact: there is a reddit bot that tells you to switch to `pacaur` every time `yaourt` is mentioned in a post): `trizen` prompts user to inspect `PKGBUILD`, `*.install` and other scripts before sourcing them and `trizen` is written in Perl instead of Bash. To install `trizen`, first install dependencies via `pacman` according to its [AUR Page](https://aur.archlinux.org/packages/trizen/), then clone its [git repo](https://github.com/trizen/trizen) to a local directory. Navigate to the directory containing `PKGBUILD` and run
+I used to use `packer` as wrapper around AUR and `pacman`. However, after learning about [inherent insecurity](https://wiki.archlinux.org/index.php/AUR%5Fhelpers#Comparison%5Ftable) in their package building processes, I switched to a more secure AUR helper `trizen` (`pacaur` is another choice, and fun fact: there is a reddit bot that tells you to switch to `pacaur` every time `yaourt` is mentioned in a post): `trizen` prompts user to inspect `PKGBUILD`, `*.install` and other scripts before sourcing them and `trizen` is written in Perl instead of Bash. To install `trizen`, first install dependencies via `pacman` according to its [AUR Page](https://aur.archlinux.org/packages/trizen/), then clone its [git repo](https://github.com/trizen/trizen) to a local directory. Navigate to the directory containing `PKGBUILD` and run
```sh
$ makepkg
@@ -350,4 +350,4 @@ To provide some extra credibility to the certificate, I added an `CAA` record in
## What Now? {#what-now}
-After a couple hours (mostly waiting for DNS records to populate), and my website is online again. With a VPS at my disposal, I also host my personal email now and I might organize my random notes pieced from various websites into a post as well. I am still trying to figure out an efficient workflow for writing multilingual post with `org-mode` in `hugo` and once I am convinced I have found an acceptable solution, I will also post it.-
\ No newline at end of file
+After a couple hours (mostly waiting for DNS records to populate), and my website is online again. With a VPS at my disposal, I also host my personal email now and I might organize my random notes pieced from various websites into a post as well. I am still trying to figure out an efficient workflow for writing multilingual post with `org-mode` in `hugo` and once I am convinced I have found an acceptable solution, I will also post it.
diff --git a/content/posts/2017-09-25-my-server-setups-and-whatnot.zh.md b/content/posts/2017-09-25-my-server-setups-and-whatnot.zh.md
@@ -40,7 +40,7 @@ slug = "my-server-setups-and-whatnot"
### 系统设置 {#系统设置}
-上述安装完成后,我的 droplet 上就有了带有网络的 Arch Linux 。绝大部分的额外设置都可以在 [Arch Wiki](https://wiki.archlinux.org/index.php/Installation_guide) 找到。我并没有想把这篇日志写成完整的教程,所以细节部分最好参考 Arch Wiki。记录在这篇日志里的指令只是做个人记录之用。
+上述安装完成后,我的 droplet 上就有了带有网络的 Arch Linux 。绝大部分的额外设置都可以在 [Arch Wiki](https://wiki.archlinux.org/index.php/Installation%5Fguide) 找到。我并没有想把这篇日志写成完整的教程,所以细节部分最好参考 Arch Wiki。记录在这篇日志里的指令只是做个人记录之用。
#### 系统时钟 {#系统时钟}
@@ -157,7 +157,7 @@ MODULES= "crc32 libcrc32c crc32c_generic crc32c-intel crc32-pclmul"
#### 软件包管理器 {#软件包管理器}
-我一开始使用 `packer` 来同时使用 `pacman` 和安装 AUR 软件包。但是在我了解到其软件安装过程有 [诸多安全隐患](https://wiki.archlinux.org/index.php/AUR_helpers#Comparison_table) 后,我开始改用 `trizen` ( `pacaur` 是另一个较为稳妥的选择,而且在 reddit 上有一个机器人会在所有提到 `yaourt` 的帖子下面安利 `pacaur` ): `trizen` 会提示用户在安装前检查 `PKGBUILD` , `*.install` 以及其他代码,而且 `trizen` 是用 Perl 而不是 Bash 写的。想要安装 `trizen` ,先根据 [AUR 页面](https://aur.archlinux.org/packages/trizen/) 通过 `pacman` 安装 `trizen` 所依赖的软件包,然后克隆其 [git 仓库](https://github.com/trizen/trizen) 到本地。进入包含 `PKGBUILD` 的文件夹并运行:
+我一开始使用 `packer` 来同时使用 `pacman` 和安装 AUR 软件包。但是在我了解到其软件安装过程有 [诸多安全隐患](https://wiki.archlinux.org/index.php/AUR%5Fhelpers#Comparison%5Ftable) 后,我开始改用 `trizen` ( `pacaur` 是另一个较为稳妥的选择,而且在 reddit 上有一个机器人会在所有提到 `yaourt` 的帖子下面安利 `pacaur` ): `trizen` 会提示用户在安装前检查 `PKGBUILD` , `*.install` 以及其他代码,而且 `trizen` 是用 Perl 而不是 Bash 写的。想要安装 `trizen` ,先根据 [AUR 页面](https://aur.archlinux.org/packages/trizen/) 通过 `pacman` 安装 `trizen` 所依赖的软件包,然后克隆其 [git 仓库](https://github.com/trizen/trizen) 到本地。进入包含 `PKGBUILD` 的文件夹并运行:
```sh
$ makepkg
@@ -350,4 +350,4 @@ $ sudo certbot --nginx
## 下一步? {#下一步}
-在鼓捣了几个小时后(其实大部分时间是在等 DNS 记录扩散),我的新站就上线了。既然选择了运行 VPS,我打算好好发挥它的潜能并架设了自己的电子邮箱。我正在考虑把架设邮箱过程中从各个网站七拼八凑其来的命令行笔记也整理成一篇日志。目前我仍在试图寻找使用 `org-mode` 在 `hugo` 里写多语言日志的最优工作流程。当我确信已经找到一套可以接受的解决方案的时候我会一并写成日志。-
\ No newline at end of file
+在鼓捣了几个小时后(其实大部分时间是在等 DNS 记录扩散),我的新站就上线了。既然选择了运行 VPS,我打算好好发挥它的潜能并架设了自己的电子邮箱。我正在考虑把架设邮箱过程中从各个网站七拼八凑其来的命令行笔记也整理成一篇日志。目前我仍在试图寻找使用 `org-mode` 在 `hugo` 里写多语言日志的最优工作流程。当我确信已经找到一套可以接受的解决方案的时候我会一并写成日志。
diff --git a/content/posts/2017-10-14-spam-or-ham.en.md b/content/posts/2017-10-14-spam-or-ham.en.md
@@ -12,7 +12,7 @@ As planned, I am documenting my mail server setups. Setting up the mail server i
## Setting up the mail server {#setting-up-the-mail-server}
-I really don't see how I can write anything better than [this tutorial](http://www.netarky.com/programming/arch_linux/Arch_Linux_mail_server_setup_1.html), so I will just document some of the steps that seemed missing from the tutorial.
+I really don't see how I can write anything better than [this tutorial](http://www.netarky.com/programming/arch%5Flinux/Arch%5FLinux%5Fmail%5Fserver%5Fsetup%5F1.html), so I will just document some of the steps that seemed missing from the tutorial.
### Setting DNS Record {#setting-dns-record}
@@ -118,4 +118,4 @@ The final step is to add a DMARC TXT record in DNS settings as detailed on Arch
## Ticking the Boxes {#ticking-the-boxes}
-I tested my server by sending test email to `check-auth@verifier.port25.com` and everything seems to be working. Not to mention that my email no longer gets classified as spam by gmail and I can see my emails passing SPF, DKIM and DMARC checks in 'View Original'. I also get an detailed daily report from gmail due to DMARC. At this point, I am pretty comfortable about ditching all my previous gmail addresses and sticking to my own email. I am also looking into options of self-hosting calenders. Hopefully in the near future I can completely ditch Google for my essential communication needs.-
\ No newline at end of file
+I tested my server by sending test email to `check-auth@verifier.port25.com` and everything seems to be working. Not to mention that my email no longer gets classified as spam by gmail and I can see my emails passing SPF, DKIM and DMARC checks in 'View Original'. I also get an detailed daily report from gmail due to DMARC. At this point, I am pretty comfortable about ditching all my previous gmail addresses and sticking to my own email. I am also looking into options of self-hosting calenders. Hopefully in the near future I can completely ditch Google for my essential communication needs.
diff --git a/content/posts/2017-10-14-spam-or-ham.zh.md b/content/posts/2017-10-14-spam-or-ham.zh.md
@@ -12,7 +12,7 @@ slug = "spam-or-ham"
## 搭建邮件服务器 {#搭建邮件服务器}
-我八成是写不出比 [这篇教程](http://www.netarky.com/programming/arch_linux/Arch_Linux_mail_server_setup_1.html) 更好的步骤说明的,所以我就在这里把我额外需要的一些设置记录下来。
+我八成是写不出比 [这篇教程](http://www.netarky.com/programming/arch%5Flinux/Arch%5FLinux%5Fmail%5Fserver%5Fsetup%5F1.html) 更好的步骤说明的,所以我就在这里把我额外需要的一些设置记录下来。
### 设置 DNS 记录 {#设置-dns-记录}
@@ -51,7 +51,7 @@ ssl_key = </path/to/privkey.pem
## 安全措施 {#安全措施}
-设置好邮件服务器后,我试着发了几封邮件,不过发现都被 gmail 扔进了垃圾箱。似乎 gmail 最近添加了显示邮件安全检查状态的功能(在 gmail 中点击“查看原件”即可看到)。这些检查包括 SPF , DKIM , 和 DMARC 。由于我的邮件服务器没有通过最基本的 SPF 检查,所以我的头像显示为一个标着问号的八边形。为了避免邮件被扔进垃圾箱,我进行了一系列安全设置以保证我的邮件服务器能通过网上邮箱安全测试平台(我使用的是 [intodns](https://intodns.com) 和 [mxtoolbox](https://mxtoolbox.com) )的考验。
+设置好邮件服务器后,我试着发了几封邮件,不过发现都被 gmail 扔进了垃圾箱。似乎 gmail 最近添加了显示邮件安全检查状态的功能(在 gmail 中点击“查看原件”即可看到)。这些检查包括 SPF , DKIM ,和 DMARC 。由于我的邮件服务器没有通过最基本的 SPF 检查,所以我的头像显示为一个标着问号的八边形。为了避免邮件被扔进垃圾箱,我进行了一系列安全设置以保证我的邮件服务器能通过网上邮箱安全测试平台(我使用的是 [intodns](https://intodns.com) 和 [mxtoolbox](https://mxtoolbox.com) )的考验。
### 发件人策略框架( SPF ) {#发件人策略框架-spf}
@@ -118,4 +118,4 @@ smtpd_milters=inet:127.0.0.1:<dkimsocket>, inet:127.0.0.1:<dmarcsocket>
## 通过所有测试 {#通过所有测试}
-给 `check-auth@verifier.port25.com` 发送测试邮件后,我收到了一份邮件服务器的测试报告。报告显示所有安全设置都在正常运作。除此之外, gmail 不再将我的邮件扔进垃圾箱了,而“查看原件”页面下也显示我的邮件通过了 SPF , DKIM , 和 DMARC 检查。 由于启用了 DMARC , gmail 还会每天向我的邮箱发送一份安全报告。折腾到这个地步后,我对我的新邮箱比较满意了,并准备废除我之前所使用的邮箱。我还在寻找可以自己架设的日历服务,希望不久的将来我可以完全摆脱在通讯方面对 Google 服务的依赖。-
\ No newline at end of file
+给 `check-auth@verifier.port25.com` 发送测试邮件后,我收到了一份邮件服务器的测试报告。报告显示所有安全设置都在正常运作。除此之外, gmail 不再将我的邮件扔进垃圾箱了,而“查看原件”页面下也显示我的邮件通过了 SPF , DKIM , 和 DMARC 检查。 由于启用了 DMARC , gmail 还会每天向我的邮箱发送一份安全报告。折腾到这个地步后,我对我的新邮箱比较满意了,并准备废除我之前所使用的邮箱。我还在寻找可以自己架设的日历服务,希望不久的将来我可以完全摆脱在通讯方面对 Google 服务的依赖。
diff --git a/content/posts/2017-10-22-no-more-disqusting-disqus.en.md b/content/posts/2017-10-22-no-more-disqusting-disqus.en.md
@@ -30,4 +30,4 @@ Just for shits and giggles, here's another interesting alternative: [Echochamber
The official website provides fairly good [documentation](https://posativ.org/isso/docs/) already. I installed isso from [AUR](https://aur.archlinux.org/packages/isso/) and enabled it via `systemctl`. Setting isso up was surprisingly painless(including the part with database), and I used a different [configuration](https://posativ.org/isso/docs/setup/sub-uri/) than default since I am running isso on the same server. The only issue I encountered is with `smtp`. By checking the status of `postfix`, I quickly determined the problem lies in `smtpd_helo_restrictions`: by disabling the option `reject_unknown_helo_hostname`, isso can now use the local `smtp` server without issues. I took some extra effort to customize the CSS template for isso and the comment section looks fairly good now (a lot faster as well).
-Happy Commenting!-
\ No newline at end of file
+Happy Commenting!
diff --git a/content/posts/2017-10-22-no-more-disqusting-disqus.zh.md b/content/posts/2017-10-22-no-more-disqusting-disqus.zh.md
@@ -28,12 +28,6 @@ slug = "no-more-disqusting-disqus"
## 设置 isso {#设置-isso}
-Isso 的官网有很详细的 [说明文档](https://posativ.org/isso/docs/)。我
-从 [AUR](https://aur.archlinux.org/packages/isso/) 安装了 isso 并使
-用 `systemctl` 启用了它。设置过程出奇的顺利(包括数据库的部分),因为
-我的 isso 和博客共用一台服务器,我使用了与默认不同的
-[设置](https://posativ.org/isso/docs/setup/sub-uri/) 。我所遇到的唯一
-问题在于 `smtp` 。在检查 `postfix` 的运行状态后,我很快发现问题在于
-`smtpd_helo_restrictions` :在停用 `reject_unknown_helo_hostname` 后, isso 就能使用 `smtp` 发送通知邮件了。除此之外,我稍微花了点时间修改 isso 的 CSS 模板。新的评论区看起来不仅更契合博客主题,速度也比 Disqus 快多了。
-
-祝评论愉快!-
\ No newline at end of file
+Isso 的官网有很详细的 [说明文档](https://posativ.org/isso/docs/) 。我从 [AUR](https://aur.archlinux.org/packages/isso/) 安装了 isso 并使用 `systemctl` 启用了它。设置过程出奇的顺利(包括数据库的部分),因为我的 isso 和博客共用一台服务器,我使用了与默认不同的 [设置](https://posativ.org/isso/docs/setup/sub-uri/) 。我所遇到的唯一问题在于 `smtp` 。在检查 `postfix` 的运行状态后,我很快发现问题在于 `smtpd_helo_restrictions` :在停用 `reject_unknown_helo_hostname` 后, isso 就能使用 `smtp` 发送通知邮件了。除此之外,我稍微花了点时间修改 isso 的 CSS 模板。新的评论区看起来不仅更契合博客主题,速度也比 Disqus 快多了。
+
+祝评论愉快!
diff --git a/content/posts/2017-12-31-2017-in-review.en.md b/content/posts/2017-12-31-2017-in-review.en.md
@@ -49,4 +49,4 @@ If I've learned anything from my past failed plans, it would be always
underestimate my own capabilities when planning, so I will just stop my list
here and add additional goals as I march into 2018.
-Happy new year and hopefully 2018 will be another spectacular one!-
\ No newline at end of file
+Happy new year and hopefully 2018 will be another spectacular one!
diff --git a/content/posts/2017-12-31-2017-in-review.zh.md b/content/posts/2017-12-31-2017-in-review.zh.md
@@ -38,4 +38,4 @@ slug = "2017-in-review"
如果我有从过去那些我制定后没能执行的计划里得到任何经验的话,那就是定计划时最好稍微低估自己的能力,所以我的新年目标就先列到这里。在踏入2018后我会视情况添加新的内容。
-新年快乐!希望 2018 也会是充满惊喜的一年!-
\ No newline at end of file
+新年快乐!希望 2018 也会是充满惊喜的一年!
diff --git a/content/posts/2018-01-03-my-review-of-the-last-jedi.en.md b/content/posts/2018-01-03-my-review-of-the-last-jedi.en.md
@@ -113,4 +113,4 @@ Notable plots
6. "Why did you stop me" "I saved you", okay cmon it's star wars
7. R2 playing the original Leia clip.
8. Maybe hinting so many force usages in the film is to emphasize there will be
- more jedi?-
\ No newline at end of file
+ more jedi?
diff --git a/content/posts/2018-01-15-my-very-own-avatar-icon-thingy.en.md b/content/posts/2018-01-15-my-very-own-avatar-icon-thingy.en.md
@@ -7,24 +7,24 @@ date = 2018-01-15
slug = "my-very-own-avatar-icon-thingy"
+++
-I have been using the symbol for the Old Republic from Star Wars as my goto profile picture for quite sometime. In my attempt to maintain a consistent social network profile over multiple websites, I gradually come to realize that profile picture is the most intuitive way to establish a identity (I guess this is also why services like Gravatar would ~~be so popular~~ exist ). In this case, using a picture from [Wookiepedia](http://starwars.wikia.com/wiki/Old_Republic) that everyone has access to is probably not the brightest idea. Thus, I set out to create my very own avatar icon thingy.
+I have been using the symbol for the Old Republic from Star Wars as my goto profile picture for quite sometime. In my attempt to maintain a consistent social network profile over multiple websites, I gradually come to realize that profile picture is the most intuitive way to establish a identity (I guess this is also why services like Gravatar would ~~be so popular~~ exist ). In this case, using a picture from [Wookiepedia](http://starwars.wikia.com/wiki/Old%5FRepublic) that everyone has access to is probably not the brightest idea. Thus, I set out to create my very own avatar icon thingy.
Since I don't consider myself to have even the least amount of artistic talent, I started out spending quite some time in GeoGebra trying to reconstruct the Old Republic symbol in a systematic way. Filling up my screen with circles and measurements is fun and surprisingly addicting, yet after several hours, I only ended up with a confusing hodgepodge of curves.
-<a id="org6bb1638"></a>
+<a id="org38e05d1"></a>
{{< figure src="/img/posts/2018/my-very-own-avatar-icon-thingy-01.png" caption="Figure 1: One of my failed GeoGebra attempts." >}}
It is obvious at that point that I won't be able to recreate anything nearly as complicated as the Old Republic symbol, so I started stripping out a more abstract version of it.
-<a id="org5334b3a"></a>
+<a id="orgb01dae6"></a>
{{< figure src="/img/posts/2018/my-very-own-avatar-icon-thingy-02.png" caption="Figure 2: My process of streamlining the logo." >}}
I isolated out the "rising star" part of the original logo and discarded the wing-shaped portions to center the star. Instead of a rising star, I went for the impression of a shooting star and it turned out extremely well (in my opinion at least). With delight, I settled on the logo design a few minutes later. I kept the dark red color scheme (though I actually used `#700000` instead of the original `#710100` because I hate dangling ones) and added a gray background (`#707070`) as using white seemed too bright for me.
-<a id="org9e00872"></a>
+<a id="orge70dbc8"></a>
{{< figure src="/img/posts/2018/my-very-own-avatar-icon-thingy-03.png" caption="Figure 3: Final design as shown on my Twitter profile." >}}
-I also played around with several alternative color schemes, i.e. inverted versions. Maybe I will use these as icons for other projects. So far, I have updated all my actively used social network profiles and changed the favicon of this blog. Hopefully this icon would be unique enough for others to recognize me across different social networks.-
\ No newline at end of file
+I also played around with several alternative color schemes, i.e. inverted versions. Maybe I will use these as icons for other projects. So far, I have updated all my actively used social network profiles and changed the favicon of this blog. Hopefully this icon would be unique enough for others to recognize me across different social networks.
diff --git a/content/posts/2018-01-15-my-very-own-avatar-icon-thingy.zh.md b/content/posts/2018-01-15-my-very-own-avatar-icon-thingy.zh.md
@@ -7,24 +7,24 @@ date = 2018-01-15
slug = "my-very-own-avatar-icon-thingy"
+++
-我使用星球大战中旧共和国的标志作为头像已经有不短的时间了。不过最近,当我试图统一我所有的“社交网络人格”时,我意识到独特的头像往往是最为直接的在网上认人的方式(这大概就是为何 Gravatar 这类服务 ~~如此受欢迎~~ 会存在)。这么一想,拿 [Wookiepedia](http://starwars.wikia.com/wiki/Old_Republic) 上的图片直接作为头像不是什么明智的行为。于是我决定:自己画头像!
+我使用星球大战中旧共和国的标志作为头像已经有不短的时间了。不过最近,当我试图统一我所有的“社交网络人格”时,我意识到独特的头像往往是最为直接的在网上认人的方式(这大概就是为何 Gravatar 这类服务 ~~如此受欢迎~~ 会存在)。这么一想,拿 [Wookiepedia](http://starwars.wikia.com/wiki/Old%5FRepublic) 上的图片直接作为头像不是什么明智的行为。于是我决定:自己画头像!
由于我并不觉得自己有多少艺术细胞,我最初尝试的方法是在 GeoGebra 里用尺规作图复制原来的头像。这种作图方式很是让人上瘾,但遗憾的是:在荒废几个小时后,我得到的只是一堆纠缠不清的曲线。
-<a id="org880596a"></a>
+<a id="org237322f"></a>
{{< figure src="/img/posts/2018/my-very-own-avatar-icon-thingy-01.png" caption="Figure 1: GeoGebra 中的诸多失败作之一。" >}}
事已至此,我开始意识到我是画不出像旧共和国标志的那样复杂的头像的,所以我采取了另外一种策略:从这些失败作中抽取一个更加简练的图样。
-<a id="orga165ff2"></a>
+<a id="orgaeaf2ce"></a>
{{< figure src="/img/posts/2018/my-very-own-avatar-icon-thingy-02.png" caption="Figure 2: 我逐渐简化头像的过程。" >}}
我把原图里六芒星升起的部分提取出来,并舍去了碍事的翅膀形部分使得星形能够居中。经过少许修改后更接近流星的图样看起来(至少对我来说)非常赞。在短短几分钟后,我就完成了我的头像设计。我保留了旧头像的暗红的配色(实际用的是 `#700000` 而不是原图的 `710100` ,因为我有个位数字强迫症)并加上了灰色的背景( `#707070` ,白色背景有点太刺眼了)。
-<a id="org5ca1991"></a>
+<a id="org3bb7cf2"></a>
{{< figure src="/img/posts/2018/my-very-own-avatar-icon-thingy-03.png" caption="Figure 3: 我推特资料上的完成版头像。" >}}
-我还尝试了其他不同的配色,比如反色版本,以后可能会拿来作为我其他项目的图标。我所有还活跃的社交网站都已经换上了新头像,包括网站图标。这下大家应该可以更容易地在不同网站上认出我了XD。-
\ No newline at end of file
+我还尝试了其他不同的配色,比如反色版本,以后可能会拿来作为我其他项目的图标。我所有还活跃的社交网站都已经换上了新头像,包括网站图标。这下大家应该可以更容易地在不同网站上认出我了XD。
diff --git a/content/posts/2018-02-11-trying-out-mastodon.en.md b/content/posts/2018-02-11-trying-out-mastodon.en.md
@@ -21,20 +21,20 @@ It was kinda surprising that there doesn't exist a Arch Linux specific installat
Here's a table detailing all the dependencies and their corresponding packages in Arch Linux. There really is no need to git clone anything. `npm` was also required in the installation process, but was not listed in the official guide.
-| Dependency | Package |
-|---------------------------------------|---------------------------------------------------------------------------------------------|
-| `node.js` 6.x | [`nodejs-lts-boron`](https://www.archlinux.org/packages/community/x86_64/nodejs-lts-boron/) |
-| `yarn` | [`yarn`](https://www.archlinux.org/packages/community/any/yarn/) |
-| `imagemagick` | [`imagemagick`](https://www.archlinux.org/packages/extra/x86_64/imagemagick/) |
-| `ffmpeg` | [`ffmpeg`](https://www.archlinux.org/packages/extra/x86_64/ffmpeg/) |
-| `libprotobuf` and `protobuf-compiler` | [`protobuf`](https://www.archlinux.org/packages/?sort=&q=protobuf&maintainer=&flagged=) |
-| `nginx` | [`nginx`](https://www.archlinux.org/packages/extra/x86_64/nginx/) |
-| `redis` | [`redis`](https://www.archlinux.org/packages/community/x86_64/redis/) |
-| `postgresql` | [`postgresql`](https://www.archlinux.org/packages/extra/x86_64/postgresql/) |
-| `nodejs` | [`nodejs`](https://www.archlinux.org/packages/community/x86_64/nodejs/) |
-| `rbenv` | [`rbenv`](https://aur.archlinux.org/packages/rbenv/) |
-| `ruby-build` | [`ruby-build`](https://aur.archlinux.org/packages/ruby-build/) |
-| `npm` | [`npm`](https://www.archlinux.org/packages/community/any/npm/) |
+| Dependency | Package |
+|---------------------------------------|-----------------------------------------------------------------------------------------------|
+| `node.js` 6.x | [`nodejs-lts-boron`](https://www.archlinux.org/packages/community/x86%5F64/nodejs-lts-boron/) |
+| `yarn` | [`yarn`](https://www.archlinux.org/packages/community/any/yarn/) |
+| `imagemagick` | [`imagemagick`](https://www.archlinux.org/packages/extra/x86%5F64/imagemagick/) |
+| `ffmpeg` | [`ffmpeg`](https://www.archlinux.org/packages/extra/x86%5F64/ffmpeg/) |
+| `libprotobuf` and `protobuf-compiler` | [`protobuf`](https://www.archlinux.org/packages/?sort=&q=protobuf&maintainer=&flagged=) |
+| `nginx` | [`nginx`](https://www.archlinux.org/packages/extra/x86%5F64/nginx/) |
+| `redis` | [`redis`](https://www.archlinux.org/packages/community/x86%5F64/redis/) |
+| `postgresql` | [`postgresql`](https://www.archlinux.org/packages/extra/x86%5F64/postgresql/) |
+| `nodejs` | [`nodejs`](https://www.archlinux.org/packages/community/x86%5F64/nodejs/) |
+| `rbenv` | [`rbenv`](https://aur.archlinux.org/packages/rbenv/) |
+| `ruby-build` | [`ruby-build`](https://aur.archlinux.org/packages/ruby-build/) |
+| `npm` | [`npm`](https://www.archlinux.org/packages/community/any/npm/) |
For `rbenv`, I needed to add `'eval "$(rbenv init -)"` to `.bashrc` or `.zshrc` after installation as prompted by the post installation script.
@@ -88,7 +88,7 @@ The config file is fairly self-explanatory. The only thing I got wrong the first
### Scheduling Services & Cleanups {#scheduling-services-and-cleanups}
-Again, just follow the official production guide. I installed [`cronie`](https://www.archlinux.org/packages/core/x86_64/cronie/) to schedule cron jobs.
+Again, just follow the official production guide. I installed [`cronie`](https://www.archlinux.org/packages/core/x86%5F64/cronie/) to schedule cron jobs.
## My Experience {#my-experience}
@@ -97,4 +97,4 @@ The web interface is fairly good, I like how I can write toots while browsing ti
One thing I would really like to see though is multilingual post support in Mastodon. A workaround I currently use is appending different tags for Chinese vs. English posts, which not only bloats my toots, but also fragmented my timeline so that it's only 50% comprehensible for most people. Regrettably, it seems that out of the various micro-blogging/social networking services, only [Facebook](https://code.facebook.com/posts/597373993776783) has something similar to this at the moment.
-In the footer section, I've replaced Twitter with [my Mastodon profile](https://mstdn.shimmy1996.com/@shimmy1996). Feel free to take a peek inside. :P-
\ No newline at end of file
+In the footer section, I've replaced Twitter with [my Mastodon profile](https://mstdn.shimmy1996.com/@shimmy1996). Feel free to take a peek inside. :P
diff --git a/content/posts/2018-02-11-trying-out-mastodon.zh.md b/content/posts/2018-02-11-trying-out-mastodon.zh.md
@@ -21,20 +21,20 @@ slug = "trying-out-mastodon"
我把所有依赖以及相对应的 Arch Linux 软件包都列了出来。完全没有手动克隆 git 仓库的必要。 `npm` 会在安装过程中用到,但没有在官方指南中列出。
-| 依赖 | 软件包 |
-|-----------------------------------|------------------------------------------------------------------------------------------|
-| `node.js` 6.x | [`nodejs-lts-boron`](https://www.archlinux.org/packages/community/x86_64/nodejs-lts-boron/) |
-| `yarn` | [`yarn`](https://www.archlinux.org/packages/community/any/yarn/) |
-| `imagemagick` | [`imagemagick`](https://www.archlinux.org/packages/extra/x86_64/imagemagick/) |
-| `ffmpeg` | [`ffmpeg`](https://www.archlinux.org/packages/extra/x86_64/ffmpeg/) |
-| `libprotobuf` 和 `protobuf-compiler` | [`protobuf`](https://www.archlinux.org/packages/?sort=&q=protobuf&maintainer=&flagged=) |
-| `nginx` | [`nginx`](https://www.archlinux.org/packages/extra/x86_64/nginx/) |
-| `redis` | [`redis`](https://www.archlinux.org/packages/community/x86_64/redis/) |
-| `postgresql` | [`postgresql`](https://www.archlinux.org/packages/extra/x86_64/postgresql/) |
-| `nodejs` | [`nodejs`](https://www.archlinux.org/packages/community/x86_64/nodejs/) |
-| `rbenv` | [`rbenv`](https://aur.archlinux.org/packages/rbenv/) |
-| `ruby-build` | [`ruby-build`](https://aur.archlinux.org/packages/ruby-build/) |
-| `npm` | [`npm`](https://www.archlinux.org/packages/community/any/npm/) |
+| 依赖 | 软件包 |
+|-----------------------------------|--------------------------------------------------------------------------------------------|
+| `node.js` 6.x | [`nodejs-lts-boron`](https://www.archlinux.org/packages/community/x86%5F64/nodejs-lts-boron/) |
+| `yarn` | [`yarn`](https://www.archlinux.org/packages/community/any/yarn/) |
+| `imagemagick` | [`imagemagick`](https://www.archlinux.org/packages/extra/x86%5F64/imagemagick/) |
+| `ffmpeg` | [`ffmpeg`](https://www.archlinux.org/packages/extra/x86%5F64/ffmpeg/) |
+| `libprotobuf` 和 `protobuf-compiler` | [`protobuf`](https://www.archlinux.org/packages/?sort=&q=protobuf&maintainer=&flagged=) |
+| `nginx` | [`nginx`](https://www.archlinux.org/packages/extra/x86%5F64/nginx/) |
+| `redis` | [`redis`](https://www.archlinux.org/packages/community/x86%5F64/redis/) |
+| `postgresql` | [`postgresql`](https://www.archlinux.org/packages/extra/x86%5F64/postgresql/) |
+| `nodejs` | [`nodejs`](https://www.archlinux.org/packages/community/x86%5F64/nodejs/) |
+| `rbenv` | [`rbenv`](https://aur.archlinux.org/packages/rbenv/) |
+| `ruby-build` | [`ruby-build`](https://aur.archlinux.org/packages/ruby-build/) |
+| `npm` | [`npm`](https://www.archlinux.org/packages/community/any/npm/) |
在安装 `rbenv` 后,我需要把 `'eval "$(rbenv init -)"` 加入 `.bashrc` 或 `.zshrc` 中(安装脚本也会提示这一步骤)。
@@ -88,7 +88,7 @@ $ sudo su postgres
### 计划进程和缓存清理 {#计划进程和缓存清理}
-照官方指南做就好。我安装了 [`cronie`](https://www.archlinux.org/packages/core/x86_64/cronie/) 来安排 cron 作业。
+照官方指南做就好。我安装了 [`cronie`](https://www.archlinux.org/packages/core/x86%5F64/cronie/) 来安排 cron 作业。
## 使用感受 {#使用感受}
@@ -97,4 +97,4 @@ $ sudo su postgres
我很希望看到 Mastodon 对多语言嘟文提供支持。目前我用的办法是给中文和英文的嘟文打上不同的标签,但这么做不仅使嘟文更加臃肿,也使得我的时间线对大部分人来说可读性只有 50% 。可惜的是,目前的诸多社交网络里只看到 [Facebook](https://code.facebook.com/posts/597373993776783) 对此提供了支持。
-在网站页脚,我已经把 Twitter 换成了我的[Mastodon 页面](https://mstdn.shimmy1996.com/@shimmy1996) ,随时欢迎各位来访。-
\ No newline at end of file
+在网站页脚,我已经把 Twitter 换成了我的[Mastodon 页面](https://mstdn.shimmy1996.com/@shimmy1996) ,随时欢迎各位来访。
diff --git a/content/posts/2018-03-18-my-keyboards-2018-edition.en.md b/content/posts/2018-03-18-my-keyboards-2018-edition.en.md
@@ -23,19 +23,19 @@ On a side note, I once aspired to collect keyboards of all form factors, but soo
The first keyboard ever to trigger me to give deeper thoughts into my keyboard layout is the ErgoDox. The ErgoDox boasts a layout drastically different from traditional keyboards, and because of this, offers great flexibility over key placements: I can immediately spot seven sensible locations for the Enter key (original pinky location, four 2u keys at the thumb clusters and the lower two 1.5u vertical keys in the center). I've been using ErgoDox almost exclusively since 2015, and have grown to like it even more as I started using Emacs - having access to both Control and Alt/Meta key on the home row just feels awesome.
-<a id="orgad9115d"></a>
+<a id="orgfd6a1d1"></a>
{{< figure src="/img/posts/2018/my-keyboards-2018-edition-01.png" caption="Figure 1: My ErgoDox Base Layer Layout" >}}
I still feel I am under-utilizing the keyboard's capabilities though. As you might tell, I don't know what to do with some of the thumb cluster keys. I currently have three extra layers set up: one for function keys, one for numpad, and another for a modified Dvorak layout. I haven't spend too much time on the Dvorak layer yet, but I am curious about potential benefits of decreased finger motion. Speaking of ergonomics, a perhaps uninteded benefit of ErgoDox's design is that it frees up the center of my desk, so that I can still read and write normally without a super deep desk.
-<a id="org8986c0d"></a>
+<a id="org12e30aa"></a>
{{< figure src="/img/posts/2018/my-keyboards-2018-edition-02.png" caption="Figure 2: My ErgoDox Dvorak Layer Layout" >}}
Planck is another keyboard that I've taken some thoughts designing layout for. It is pretty surprising what a 40% board is actually capable of. However, using Planck is a lot less comfortable just because of how small it is - ErgoDox on the other hand allows me to rest my arms in more natural positions, instead of cramming my hands together. That being said, I would imagine a Let's Split - basically a Planck split in halves - to work fairly well.
-<a id="org95f2e1f"></a>
+<a id="orgda073dd"></a>
{{< figure src="/img/posts/2018/my-keyboards-2018-edition-03.png" caption="Figure 3: My Planck Layout" >}}
@@ -60,12 +60,12 @@ Since I started using Emacs as my main editor, I've been taking statistics of my
Like many Geekhackers out there, I made a pixel art of my keyboards and used it as my Geekhack signature.
-<a id="orgc86b096"></a>
+<a id="org7964685"></a>
{{< figure src="/img/posts/2018/my-keyboards-2018-edition-04.png" caption="Figure 4: Pixel Art of My Keyboards I, 2015" >}}
-<a id="org24da90d"></a>
+<a id="orga3ae5f7"></a>
{{< figure src="/img/posts/2018/my-keyboards-2018-edition-05.png" caption="Figure 5: Pixel Art of My Keyboards II, 2015" >}}
-Drawing pixel art for keyboard is a fairly interesting exercise, since it is impossible to get the ratios exactly right, I needed to strike a balance between accuracy and simplicity. I will give this a long due update when I have time.-
\ No newline at end of file
+Drawing pixel art for keyboard is a fairly interesting exercise, since it is impossible to get the ratios exactly right, I needed to strike a balance between accuracy and simplicity. I will give this a long due update when I have time.
diff --git a/content/posts/2018-03-18-my-keyboards-2018-edition.zh.md b/content/posts/2018-03-18-my-keyboards-2018-edition.zh.md
@@ -23,19 +23,19 @@ slug = "my-keyboards-2018-edition"
ErgoDox 是第一个促使我真正下心思选择键盘布局的键盘。正是由于布局和传统键盘相差甚远, Ergodox 在键位布局选择上提供了很高的自由度:我一眼就能找到七个适合回车键的位置(传统右侧小拇指位,拇指区的四个 2u 键位,以及中心偏下的两个 1.5u 键位)。从 2015 开始,我就几乎只使用 ErgoDox 了。 ErgoDox 的好处在我开始使用 Emacs 后更加明显:能够轻而易举地够到控制键和转换键的感觉非常棒。
-<a id="org1d12ecb"></a>
+<a id="org63bae61"></a>
{{< figure src="/img/posts/2018/my-keyboards-2018-edition-01.png" caption="Figure 1: 我的 ErgoDox 基本层布局" >}}
ErgoDox 还有很多潜力没有被我发掘出来。如你所见,我还没有想出拇指区部分键位的最佳用处。目前除了基本层外,我额外设置了三层键位布局:一层用于功能键,一层用于数字小键盘,最后一层是经过修改的 Dvorak 布局。我还没有在 Dvorak 层上花太多时间,不过我对 Dvorak 减少手指移动次数的功效很有兴趣。说到人体工学, ErgoDox 设计有个额外的好处:我书桌的正中央终于可以从键盘的统治下空出来了,就算没有一张超级深的桌子我也可以不受键盘干扰正常看书。
-<a id="org76fa067"></a>
+<a id="org446015b"></a>
{{< figure src="/img/posts/2018/my-keyboards-2018-edition-02.png" caption="Figure 2: 我的 ErgoDox Dvorak 层布局" >}}
Planck 是另一块让我下心思设计布局的键盘。 40% 键盘所能塞下来的东西其实多的让人吃惊。但是使用 Planck 时的舒适性不可避免地被它的尺寸所妨碍了 - 相比之下,使用 ErgoDox 这种分体键盘时两手可以保持更为自然的姿势,而不是以奇怪的角度挤在一起。我觉得 Let's Split - 基本上就是分体版的 Planck - 会是个不错的选择。
-<a id="orgd0f8c1c"></a>
+<a id="orga6ef00f"></a>
{{< figure src="/img/posts/2018/my-keyboards-2018-edition-03.png" caption="Figure 3: 我的 Planck 布局" >}}
@@ -59,12 +59,12 @@ Planck 是另一块让我下心思设计布局的键盘。 40% 键盘所能塞
我之前跟风 Geekhack 众,也给我的键盘画了像素画作为签名。
-<a id="org8cd9338"></a>
+<a id="org1e3e29d"></a>
{{< figure src="/img/posts/2018/my-keyboards-2018-edition-04.png" caption="Figure 4: 我的键盘像素画 I" >}}
-<a id="org335320b"></a>
+<a id="orgdbea9ad"></a>
{{< figure src="/img/posts/2018/my-keyboards-2018-edition-05.png" caption="Figure 5: 我的键盘像素画 II" >}}
-给键盘画像素画其实挺有意思,要想保持精确的比例几乎是不可能的,这就需要在精准和简约之间作微妙的平衡。我有时间时会继续更新这些像素画的。-
\ No newline at end of file
+给键盘画像素画其实挺有意思,要想保持精确的比例几乎是不可能的,这就需要在精准和简约之间作微妙的平衡。我有时间时会继续更新这些像素画的。
diff --git a/content/posts/2018-05-16-how-to-train-your-tags.en.md b/content/posts/2018-05-16-how-to-train-your-tags.en.md
@@ -0,0 +1,8 @@
++++
+title = "驯标签高手"
+tags = ["random-thoughts"]
+categories = ["site-related"]
+draft = true
+date = 2018-05-16
+slug = "how-to-train-your-tags"
++++
diff --git a/content/posts/2018-05-21-construction-finished.en.md b/content/posts/2018-05-21-construction-finished.en.md
@@ -41,4 +41,4 @@ After eight months, my blog have finally reached a place where I feel comfortabl
## What's on Home Page Now? {#what-s-on-home-page-now}
-I already have an about page and a contact page for whatever I think people might be interested in knowing about myself, so I have no clue what I should put on home page. Since I found the old site road map to be a great way of reminding myself the stuffs I need to get done, I'll replace the road map with another to-do list: my goals for 2018. I am definitely not the most motivated kind of person, but seeing an unfinished to-do list every once in a while does get on my nerves. Let's see how well this is gonna work.-
\ No newline at end of file
+I already have an about page and a contact page for whatever I think people might be interested in knowing about myself, so I have no clue what I should put on home page. Since I found the old site road map to be a great way of reminding myself the stuffs I need to get done, I'll replace the road map with another to-do list: my goals for 2018. I am definitely not the most motivated kind of person, but seeing an unfinished to-do list every once in a while does get on my nerves. Let's see how well this is gonna work.
diff --git a/content/posts/2018-05-21-construction-finished.zh.md b/content/posts/2018-05-21-construction-finished.zh.md
@@ -41,4 +41,4 @@ slug = "construction-finished"
## 现在主页上是啥? {#现在主页上是啥}
-大部分我觉得别人会感兴趣的有关我的信息都可以在关于或联系方式页面里找到,所以对于主页应该放些什么,我实在没啥好主意。由于我感觉之前的站点施工计划是个提醒自己的不错方式,我会用另外一个任务清单来取代以完成的施工计划:我在 2018 年想实现的目标。我绝对不是那种最有干劲的人,但每每看到一张未完成的任务清单,我的强迫症神经还是会跳一跳的。那么,就让我试试看这么做效果如何吧。-
\ No newline at end of file
+大部分我觉得别人会感兴趣的有关我的信息都可以在关于或联系方式页面里找到,所以对于主页应该放些什么,我实在没啥好主意。由于我感觉之前的站点施工计划是个提醒自己的不错方式,我会用另外一个任务清单来取代以完成的施工计划:我在 2018 年想实现的目标。我绝对不是那种最有干劲的人,但每每看到一张未完成的任务清单,我的强迫症神经还是会跳一跳的。那么,就让我试试看这么做效果如何吧。
diff --git a/content/posts/2018-05-27-first-trail-half-marathon.en.md b/content/posts/2018-05-27-first-trail-half-marathon.en.md
@@ -0,0 +1,8 @@
++++
+title = "First Trail Half Marathon"
+tags = ["running", "trail-running"]
+categories = ["my-life"]
+draft = true
+date = 2018-05-27
+slug = "first-trail-half-marathon"
++++
diff --git a/content/posts/_index.en.md b/content/posts/_index.en.md
@@ -3,4 +3,4 @@ title = "Posts"
draft = false
+++
-In case you want to view by [tags](/en/tags/) or [categories](/en/categories).-
\ No newline at end of file
+In case you want to view by [tags](/en/tags/) or [categories](/en/categories).
diff --git a/content/posts/_index.zh.md b/content/posts/_index.zh.md
@@ -3,4 +3,4 @@ title = "归档"
draft = false
+++
-你也可以通过 [标签](/zh/tags/) 或 [分类](/zh/categories) 来浏览日志。-
\ No newline at end of file
+你也可以通过 [标签](/zh/tags/) 或 [分类](/zh/categories) 来浏览日志。
diff --git a/org/2017.org b/org/2017.org
@@ -17,7 +17,6 @@ Site related posts.
:END:
**** Why move the blog? And to where?
-
After putting up with the clunky WordPress blog (and Bluehost's 2003-looking admin panel for that matter) for three years, I finally decided to ditch everything I currently have and restart my blog in a more civilized manner. There was a couple of things that I was not happy about my old WordPress setup, namely:
- Clunky and eats up my server storage.
@@ -59,7 +58,6 @@ Install/update base packages.
#+END_SRC
****** Fstab
-
Generate =fstab=.
#+BEGIN_SRC sh
# genfstab -U / >> /etc/fstab
@@ -105,7 +103,6 @@ You know the drill.
Here are some additional settings to make Arch Linux more useable.
****** Creature User
-
Obviously it is not a good idea to use root account:
#+BEGIN_SRC sh
# useradd -m -G wheel -s /bin/bash <username>
@@ -113,7 +110,6 @@ Obviously it is not a good idea to use root account:
#+END_SRC
****** Add User to Sudoer
-
Edit =/etc/sudoers= and add:
#+BEGIN_SRC sh
<username> ALL=(ALL) ALL
@@ -179,7 +175,6 @@ $ ssh -p <non-std-port> <username>@<server>
#+END_SRC
***** Firewall Settings
-
I use =ufw= as my firewall and it is very easy to setup. Install =ufw= with =trizen= and enable the desired ports:
#+BEGIN_SRC sh
$ trizen -S ufw
@@ -237,7 +232,6 @@ $ mkdir ~/public_html
Make sure to give this directory (including the user =home= folder) appropriate permission with =chmod= (=755= would normally work). Populate the directory with a simple =index.html= for testing if you want.
***** Instal =nginx=
-
Install =nginx= with =trizen=, and edit =/etc/nginx/nginx.conf= to set up =http= server (the one set to =listen 80 default_server=):
#+BEGIN_SRC sh
server_name www.<domainname> <domainname>
@@ -250,7 +244,6 @@ $ sudo systemctl enable nginx.service
#+END_SRC
***** DNS Setup
-
The next step is to set up DNS records for our server. There are three types of records that need to be set up initially, =NS=, =A=, and =CNAME=. I also included some other useful records:
| Type | Hostname | Value | Usage |
@@ -285,7 +278,6 @@ After a couple hours (mostly waiting for DNS records to populate), and my websit
:END:
**** 为何要重新建站?新站建在哪里?
-
在忍受了笨重的 Wordpress 三年后(以及 Bluehost 充满2003年设计感的管理面板),我终于决定放弃旧站另起炉灶。我对 Wordpress 博客主要有这些不满:
- 体积庞大,占用很多不必要的服务器空间。
@@ -327,7 +319,6 @@ After a couple hours (mostly waiting for DNS records to populate), and my websit
#+END_SRC
****** Fstab
-
生成 =fstab= 。
#+BEGIN_SRC sh
# genfstab -U / >> /etc/fstab
@@ -446,7 +437,6 @@ $ ssh -p <non-std-port> <username>@<server>
#+END_SRC
***** 防火墙设置
-
=ufw= 作为防火墙非常方便易用。使用 =trizen= 来安装 =ufw= 并开放允许连接的端口:
#+BEGIN_SRC sh
$ trizen -S ufw
@@ -505,7 +495,6 @@ $ mkdir ~/public_html
确认该文件夹(以及用户的 =home= 文件夹)有合适的权限设置。权限设置可以用 =chmod= 修改(一般设成 =755= 就好)。可以在网页文件夹中放一个简单的 =index.html= 来方便测试。
***** 安装 =nginx=
-
用 =trizen= 安装 =nginx= ,并编辑 =/etc/nginx/nginx.conf= 来设立 =http= 服务器(带有 =listen 80 default_server= 设置的部分):
#+BEGIN_SRC sh
server_name www.<domainname> <domainname>
@@ -519,14 +508,13 @@ $ sudo systemctl enable nginx.service
#+END_SRC
***** DNS 设置
-
下一步是为服务器完成 DNS 记录的设置。一开始必须设置的记录有三种: =NS= , =A= ,和 =CNAME= 。我记下了一些比较常用的记录:
-| 记录种类 | 主机名 | 数值 | 用法 |
-| =NS= | @ | DNS 服务器的地址 | 确认用于解析域名的服务器 |
-| =A= | @ | 水滴的 IPv4 地址 | 将主机名重定向到 IP 地址 |
-| =CNAME= | www (可以是任何东西) | @ | 将 =www.<hostname>= 设为主机名的 |
-| =MX= | @ | 邮箱服务器地址 | 指定邮箱服务器 |
+| 记录种类 | 主机名 | 数值 | 用法 |
+| =NS= | @ | DNS 服务器的地址 | 确认用于解析域名的服务器 |
+| =A= | @ | 水滴的 IPv4 地址 | 将主机名重定向到 IP 地址 |
+| =CNAME= | www (可以是任何东西) | @ | 将 =www.<hostname>= 设为主机名的 |
+| =MX= | @ | 邮箱服务器地址 | 指定邮箱服务器 |
| =CAA= | @ | 标明 SSL 证书的授权机构 | 阻止其他授权机构为本站发行 SSL 证书 |
我的域名托管在 Google Domains ,但我的网站用的是 DigitalOcean 的 DNS ,所以我需要在 DigitalOcean 上完成设置并在 Google Domains 里加入 =NS= 记录。
@@ -560,7 +548,6 @@ $ sudo certbot --nginx
As planned, I am documenting my mail server setups. Setting up the mail server is probably documented everywhere, but I had to put in some effort make my setup secure enough to prevent it from been mistaked as spam.
**** Setting up the mail server
-
I really don't see how I can write anything better than [[http://www.netarky.com/programming/arch_linux/Arch_Linux_mail_server_setup_1.html][this tutorial]], so I will just document some of the steps that seemed missing from the tutorial.
***** Setting DNS Record
@@ -585,7 +572,6 @@ ssl_key = </path/to/privkey.pem
Similarly for =postfix= I also used this certificate. Do note that =dovecot= and =postfix= should be run as =root= to have read permissions to read these certificates.
***** Mail Client
-
I am using Thunderbird as my mail client and for receiving mail. I used SSL/TLS while for sending mail, I needed to set STARTTLS.
**** Security Measures
@@ -652,7 +638,6 @@ I tested my server by sending test email to =check-auth@verifier.port25.com= and
遵循之前的计划,我打算将设置邮箱的过程记录下来。设置邮箱大部分地方都有教程,不过我需要添加不少额外的安全设置来避免邮件被扔进垃圾箱。
**** 搭建邮件服务器
-
我八成是写不出比 [[http://www.netarky.com/programming/arch_linux/Arch_Linux_mail_server_setup_1.html][这篇教程]] 更好的步骤说明的,所以我就在这里把我额外需要的一些设置记录下来。
***** 设置 DNS 记录
@@ -680,7 +665,7 @@ ssl_key = </path/to/privkey.pem
我使用 Thunderbird 作为邮件客户端。收取邮件时,我使用 SSL/TLS,而发送邮件则使用 STARTTLS。
**** 安全措施
-设置好邮件服务器后,我试着发了几封邮件,不过发现都被 gmail 扔进了垃圾箱。似乎 gmail 最近添加了显示邮件安全检查状态的功能(在 gmail 中点击“查看原件”即可看到)。这些检查包括 SPF , DKIM , 和 DMARC 。由于我的邮件服务器没有通过最基本的 SPF 检查,所以我的头像显示为一个标着问号的八边形。为了避免邮件被扔进垃圾箱,我进行了一系列安全设置以保证我的邮件服务器能通过网上邮箱安全测试平台(我使用的是 [[https://intodns.com][intodns]] 和 [[https://mxtoolbox.com][mxtoolbox]] )的考验。
+设置好邮件服务器后,我试着发了几封邮件,不过发现都被 gmail 扔进了垃圾箱。似乎 gmail 最近添加了显示邮件安全检查状态的功能(在 gmail 中点击“查看原件”即可看到)。这些检查包括 SPF , DKIM ,和 DMARC 。由于我的邮件服务器没有通过最基本的 SPF 检查,所以我的头像显示为一个标着问号的八边形。为了避免邮件被扔进垃圾箱,我进行了一系列安全设置以保证我的邮件服务器能通过网上邮箱安全测试平台(我使用的是 [[https://intodns.com][intodns]] 和 [[https://mxtoolbox.com][mxtoolbox]] )的考验。
***** 发件人策略框架( SPF )
SPF TXT 记录标明了某一域名所承认的邮件服务器地址。在我的情况下,我只会用到 MX TXT 记录中所提到的邮件服务器,所以我的 SPF TXT 记录就是:
@@ -785,13 +770,7 @@ Happy Commenting!
我在寻找评论系统的过程中还发现了一个有趣的替代品:[[https://github.com/tessalt/echo-chamber-js][Echochamber.js]] 。
**** 设置 isso
-Isso 的官网有很详细的 [[https://posativ.org/isso/docs/][说明文档]]。我
-从 [[https://aur.archlinux.org/packages/isso/][AUR]] 安装了 isso 并使
-用 =systemctl= 启用了它。设置过程出奇的顺利(包括数据库的部分),因为
-我的 isso 和博客共用一台服务器,我使用了与默认不同的
-[[https://posativ.org/isso/docs/setup/sub-uri/][设置]] 。我所遇到的唯一
-问题在于 =smtp= 。在检查 =postfix= 的运行状态后,我很快发现问题在于
-=smtpd_helo_restrictions= :在停用 =reject_unknown_helo_hostname= 后, isso 就能使用 =smtp= 发送通知邮件了。除此之外,我稍微花了点时间修改 isso 的 CSS 模板。新的评论区看起来不仅更契合博客主题,速度也比 Disqus 快多了。
+Isso 的官网有很详细的 [[https://posativ.org/isso/docs/][说明文档]] 。我从 [[https://aur.archlinux.org/packages/isso/][AUR]] 安装了 isso 并使用 =systemctl= 启用了它。设置过程出奇的顺利(包括数据库的部分),因为我的 isso 和博客共用一台服务器,我使用了与默认不同的 [[https://posativ.org/isso/docs/setup/sub-uri/][设置]] 。我所遇到的唯一问题在于 =smtp= 。在检查 =postfix= 的运行状态后,我很快发现问题在于 =smtpd_helo_restrictions= :在停用 =reject_unknown_helo_hostname= 后, isso 就能使用 =smtp= 发送通知邮件了。除此之外,我稍微花了点时间修改 isso 的 CSS 模板。新的评论区看起来不仅更契合博客主题,速度也比 Disqus 快多了。
祝评论愉快!
diff --git a/org/fixed.org b/org/fixed.org
@@ -15,7 +15,7 @@
:END:
*** Goals for 2018
-- [ ] Run 1000 miles. (=327/1000=)
+- [ ] Run 1000 miles. (=339/1000=)
- [ ] Finish a marathon. (=0/1=)
- [ ] Write at least 20 blog articles. (=4/20=)
- [ ] Get the first signature for my PGP key. (=0/1=)
@@ -30,7 +30,7 @@
:END:
*** 2018 年目标
-- [ ] 跑 1000 英里。( =327/1000= )
+- [ ] 跑 1000 英里。( =339/1000= )
- [ ] 完成一次马拉松。( =0/1= )
- [ ] 写 20 篇以上的日志。( =4/20= )
- [ ] 获得第一个 PGP 密匙签名。( =0/1= )
@@ -86,7 +86,7 @@ EE 狗,目前在德州放牛;技术渣, +WP+ Hugo 新手; ACG 相关;
Feel free to shoot me an email.
If you feel like it, encrypt your message with my PGP Key:
-#+BEGIN_SRC sh
+#+BEGIN_SRC
5672 AC27 2669 A07A BD28 0896 ACC6 C791 312C F84D
#+END_SRC
@@ -98,8 +98,8 @@ If you feel like it, encrypt your message with my PGP Key:
联系我的最佳方式是电子邮件。
你可以使用我的PGP密匙来对邮件进行加密:
-#+BEGIN_SRC sh
-5672 AC27 2669 A07A BD28 0896 ACC6 C791 312C F84D
+#+BEGIN_SRC
+5672 AC27 2669 A07A BD28 0896 ACC6 C791 312C F84D
#+END_SRC
* Friends
@@ -205,9 +205,6 @@ In case you want to view by [[/en/tags/][tags]] or [[/en/categories][categories]
:END:
* Footnotes
-
-
-
* COMMENT Local Variables :ARCHIVE:
# Local Variables: