即便我已經開了這個部落格,我還是常常在想,該如何寫文章才能快速、簡單又有效率。WordPress 是很棒的部落格軟體也有很多我喜愛的特色,但我覺得它在上傳圖片及發表文章的速度實在很慢。

即時預覽功能也是我最想要的特色,而 HackMd 在這方便表現的很不錯,所以我決定用 HackMd 來寫我的日誌文章,然後只要複製貼上到 WordPress 部落格上即可。 (裝了一些好用的 Markdown 外掛)

HackMd 截圖:

在文章裡的圖片都會自動上傳到 imgur 圖床,所以我連備分圖片都不用理會。以這個例子,圖片是放在 imgur 而不是自己的網站上。

必備條件

  • 基礎的 linux 命列列使用。
  • 安裝 VirtualBox 在你的機器上。
  • 安裝 Vagrant 在你的機器上。

步驟

假設您以經裝了 VirtualBox 和 Vagrant 在你的機器上。

1. 啟動 Vagrant 機器

切換目前的工作目錄到放置 vagrantfile 的目錄,以這篇教學來說,目錄在 /terryl-example/vagrant

terryl-example/
├── data/             - 虛擬機和實體機的共用目錄
└── vagrant/          - Vargrant 工作目錄
    └── Vagrantfile

Vargrantfile example:

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/bionic64"
  config.vm.box_check_update = false
  config.vm.hostname = "example.terryl.in"
  config.vm.network "private_network", ip: "192.168.12.34"
  config.vm.synced_folder "../data", "/data"
  config.vm.provider "virtualbox" do |vb|
     vb.memory = "1024"
     vb.name = "terryl.in - example"
  end
end

這個例子使用 192.168.12.34 做主要的 IP 位址。
以下指令啟動 Vagrant。

vagrant up

2. 登入 Vagrant 機器

vagrant ssh

把使用者身份從 vagrant 切換至 root。

sudo su

3. 安裝 Docker 及 Docker-compose

apt-get update
apt-get install docker
apt-get install docker-compose -y

4. 複製 HackMD 存儲庫

HackMD 團隊已經有提供一個 Docker 印象檔在這裡.

cd /home
git clone https://github.com/hackmdio/codimd-container.git

這個指令會在 /home 資料夾中建立一個 codimd-container 資料夾。

5. 啟動 HackMD docker 容器

cd codimd-container
docker-compose up

一旦 docker 容器開始運作,你會看到如下的畫面。

現在可以連上 192.168.12.34:30000 使用 HackMd 寫文章了。

備份

如果你想要備份你的資料,同時 HackMd 的 docker 容器也在運行的時候,開啟一個新的終端機,並打上以下指令:

docker-compose exec database pg_dump hackmd -U hackmd  > backup.sql

還原備份檔:

cat backup.sql | docker exec -i $(docker-compose ps -q database) psql -U hackmd

其實這篇文章是拿來當這個版型 Demo 文章用的。就這樣。

後記

後來覺得這樣還是很麻煩,所以乾脆自己寫了一套在 WordPress 上使用的 Markdown 編輯器外掛名叫 WP Githuber MD,所以這篇文章我本人已經不使用了。如果您也有使用 WordPress,歡迎下載使用喔!

最後修改日期: 2021-02-11

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。