Anh vọc caddy vì tò mò, thấy hay nhưng chưa ý định gì cụ thể với nó. Documentation của caddy không viết cho tay mơ, trình anh đọc đéo hiểu mẹ gì sất. Mò mẫm suốt cả ngày mới tạm gọi là chạy được.

Hugo (và static site nói chung), không có giao diện biên bài như những ông CMS các bạn thường thấy. Ta phải biên mọi thứ tại local computer bằng text editor 1, chạy thử để xem trước bằng local webserver tích hợp sẵn, sau cùng là gererate và deploy 2 lên host. Đặc điểm chung của static site, là vậy 3.

Nếu muốn biên bài trên trình duyệt thay vì text editor, các bạn phải dùng đến dịch vụ của thằng khác. Có 2 lựa chọn khá ổn thời điểm hiện tại là Forestry.ioNetlify CMS. Dĩ nhiên site của bạn phải là một git repo mới dùng được.

Giao thừa. Giải lao chúc mừng năm mới!

Không muốn dùng Git, không muốn dùng dịch vụ của bên thứ ba, mà vẫn muốn hugo site có giao diện biên bài trên browser? Vậy thử dùng Caddy xem.

Caddy là một webserver viết bằng Go, cái hay là nó có mấy plugin 4 hỗ trợ quản lý file/folder, biên tập và chạy hugo trực tiếp trên server. Anh làm thử trên localhost phục vụ cơn tò mò thoy.

1
2
3
4
5
:2019 #port 2019, happy new year!!!
	tls self_signed #https
	root public
	hugo
	gzip

Bên trên là nội dung caddyfile anh để ở thư mục gốc của hugo. Khi chạy mở terminal cd vào đó, lệnh caddy là được.

Mở browser vào địa chỉ https://localhost:2019/admin để vào giao diện quản trị 5 với username & password đều là admin (mặc định). Vào được rồi thì quẩy thoải mái. Nhớ sau khi sửa thì lưu bài và bấm Publish ở góc trên bên phải (icon hình tàu bay giấy) để hugo generate nội dung mới vào public folder.

Đây là giao diện quản trị của nó (dùng Filebrowser)

Hay:

Giao diện gần như CMS xịn (tạo mới, xem, xoá, sửa, upload, download…). Anh đang hình dung sẽ cài nó trên con Rapberry Pi để đút túi mang theo. Cũng không loại trừ khả năng chơi hẳn một con server xịn nếu có điều kiện.

Chạy Hugo trực tiếp trên server đỡ ngại khi sửa typo. Dùng Git rất ngại sửa, mỗi lần sửa lại phải mất công commit rồi push lên Git. Bực nhất là vừa push xong lại phát hiện thêm lỗi khác.

Dở:

Giao diện biên tập xấu vãi đái. Được cái nó dùng CodeMirror nên cũng có chỗ để tham khảo và nhồi thêm tí customize style cho đỡ ngứa mắt.

1
2
3
4
5
.CodeMirror {
  font-family: "IBM Plex Mono", monospace;
  font-size: 16px;
  line-height: 1.5;
}

Tìm host cho cài đặt và chạy Golang không dễ, trừ khi bạn có một con VPS hoặc bỏ 5$/tháng thuê host của Digital Ocean. Mặt khác nếu chạy production phải cấu hình nhiều thứ rất phiền phức.


  1. Tạng phần mềm xử lý text thuần tuý (plain text), không thêm những trang trí nhố nhăng khác như màu sắc, kích cỡ, làm đậm, nghiêng vân vân…
  2. xem định nghĩa deploy/deployment
  3. tham khảo tại sao nên dùng static site generator
  4. Lưu ý đám plugin cần được chọn & download cùng với bản cài đặt caddy. Chưa thấy chỗ nào nhắc đến việc cài đặt bổ sung, mặc dù theo nguyên tắc là có thể. Chúng được gọi là plugins, cơ mà. Mới tập toẹ dùng nên chưa biết hết.
  5. Browser sẽ phát một cái cảnh báo bảo mật gì đó, kệ cụ nó, bỏ qua thoy