Hexo là một hệ thống tạo và quản lý trang web tĩnh được viết bằng JavaScript, chủ yếu được sử dụng để tạo ra các blog cá nhân, trang web cá nhân hoặc trang web tĩnh khác. Hexo là một trong những công cụ phổ biến nhất cho việc tạo và quản lý các trang web tĩnh do tính đơn giản và hiệu suất cao của nó.

Điểm nổi bật của Hexo

  1. Tính linh hoạt: Hexo cho phép người dùng tùy chỉnh các chủ đề, bố cục và các plugin để tạo ra trang web tùy chỉnh theo nhu cầu của họ.
  2. Hiệu suất cao: Với việc sử dụng Markdown để viết nội dung và tạo ra các trang web tĩnh, Hexo cung cấp hiệu suất cao hơn so với các hệ thống quản lý nội dung động (CMS) như WordPress.
  3. Hỗ trợ Markdown: Markdown là một ngôn ngữ đánh dấu văn bản dễ đọc và dễ viết, Hexo sử dụng Markdown làm ngôn ngữ chính để viết nội dung trên trang web.
  4. Quản lý bài viết dễ dàng: Hexo cung cấp các lệnh dòng lệnh để tạo, chỉnh sửa và quản lý các bài viết, giúp người dùng dễ dàng thực hiện các thao tác quản lý nội dung.
  5. Hỗ trợ Git: Hexo tích hợp tốt với Git, cho phép bạn lưu trữ mã nguồn của trang web trên các nền tảng như GitHub, GitLab hoặc Bitbucket.
  6. Plugin mạnh mẽ: Hexo có một hệ sinh thái plugin phong phú, giúp người dùng mở rộng tính năng của trang web của họ một cách dễ dàng.
  7. Hỗ trợ nhiều ngôn ngữ: Hexo hỗ trợ nhiều ngôn ngữ, cho phép người dùng tạo ra các trang web đa ngôn ngữ một cách dễ dàng.

Với những tính năng và ưu điểm trên, Hexo là một lựa chọn phổ biến cho việc tạo và quản lý các trang web tĩnh hiệu quả.

Cách tạo blog với Hexo

Cách 1: Cài đặt trực tiếp với NPM

Trước tiên bạn phải cài đặt Node và NPM vào máy của bạn, mình đang sử dụng Node v14.21.3 và NPM 6.14.18, sau đó bạn chạy đoạn bash dưới.

1
npm install -g hexo-cli

Hoặc có thể chạy bash sau với người dùng nâng cao có thể thích cài đặt và sử dụng gói Hexo thay thế.

1
npm install hexo

Sau khi cài đặt, bạn có thể chạy Hexo theo hai cách:

  1. npx hexo
  2. Người dùng Linux có thể đặt đường dẫn tương đối của thư mục node_modules/ bằng cách dưới và chạy hexo để khởi động Hexo
1
echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.profile

Cách 2: Cài đặt Hexo trên Docker

Ứu điểm khi sử dụng Docker là tiện cập nhật và chuyển đổi máy chủ.
Bắt đầu cài đặt nhé ACE.

Thuan QT

Bắt đầu cài đặt nhé ACE.

  1. Tạo file có tên Dockerfile với nội dung bên dưới
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
FROM node:14.21

MAINTAINER Thuanqt <info@thuanqt.com>
ENV HEXO_SERVER_PORT=4000

# Install requirements: Git, Hexo cli
RUN \
apt-get update && \
apt-get install git -y && \
npm install -g hexo-cli

# Set workdir
WORKDIR /app

# Expose Server Port
EXPOSE ${HEXO_SERVER_PORT}

# Nếu thư mục có chứa giữ liệu thì bỏ qua, nếu chưa thì tạo mới project hexo
CMD \
if [ "$(ls -A /app)" ]; then \
echo "***** App directory exists and has content, continuing *****" && \
npm install; \
else \
echo "***** App directory is empty, initialising with hexo *****" && \
hexo init && \
npm install; \
fi; \
echo "***** Starting server on port ${HEXO_SERVER_PORT} *****" && \
hexo server -d -p ${HEXO_SERVER_PORT}
  1. Chạy lệnh sau trên thư mục có chưa file Dockerfile để build image.
1
docker build -t hexo-thuanqt .
  1. Tạo container từ image vừa build xong.
1
2
3
4
5
docker create --name=hexo \
-e HEXO_SERVER_PORT=4000 \
-v /www/wwwroot/thuanqt.com/hexo:/app \
-p 4000:4000 \
hexo-thuanqt:latest

Nhớ thay /www/wwwroot/thuanqt.com/hexo thành đường dẫn lưu nội dung Hexo của bạn nhé.

Lần đầu Container hexo vừa tạo sẽ bị dừng, bạn start Container hexo sẽ hoạt động bình thường nhé.

Bạn đọc thêm thông tin tại đây:

  1. https://hexo.io/docs/

Một số Plugin dành cho Hexo

  1. Hexo Admin - Giao diện người dùng quản trị cho công cụ blog Hexo. Dựa trên giao diện Ghost, lấy cảm hứng từ svbtle và prose.io.
  2. Hexo Myadmin - Cũng là một plugin bảng điều khiển hexo được viết bởi vue3, dành cho máy chủ blog trực tiếp Hexo, Hexo myadmin cải tiến từ Hexo Admin có giao diện khá là đẹp nhưng lại không có chức năng Upload hình ảnh và 1 vài chức năng khác, bù lại có thể can thiệp sâu hơn tệp bài viết.

Lệnh PM2 sử dụng hexo server

Khởi chạy Hexo server với PM2: pm2 start npx --name "hexo" -- hexo server

Lưu cấu hình PM2: pm2 save

Thiết lập PM2 khởi động cùng hệ thống: pm2 startup