Cách quản lý và tùy chỉnh theme Ghost bằng Github

Hướng dẫn cách quản lý theme Ghost tiện lợi với Github.

Cường Trần
Cường Trần
5 phút đọc . bình luận

Ghost không hề có các tính năng quản lý theme cho bạn mà chỉ "nhận" theme bạn tải lên và chạy dựa theo đó mà thôi.

Không cập nhật tự động, không license, không kiểm tra lỗi và sẵn tiện cũng không maleware.

Khi người dùng muốn thay đổi chỉnh sửa theme, thông thường phải download về máy tính, giải nén, chỉnh sửa, nén lại và tải lên.

Tổng cộng 5 bước và rất lãng phí thời gian nếu bạn chỉnh sửa theme thường xuyên.

Có một cách cực kỳ tiện lợi, có thể nói tý nữa hoàn hảo, không chỉ giúp gộp 5 bước lại thành một mà còn bonus thêm bước thứ 6 là backup theme.

Bài viết này sẽ hướng dẫn bạn cách dùng Github Action để lưu theme bên ngoài, chỉnh sửa bên ngoài và cập nhật theme bên ngoài luôn, không cần đăng nhập vào Ghost Admin. Tất cả sẽ tự động tải vào Ghost của bạn.

Tạo Github Repo và cài đặt cấu hình liên kết

Trước tiên bạn cần tài khoản Github để tạo Github Repo (như một Folder) để chứa theme. Bạn nên tạo Private Repo thay vì Public.

Tạo Github Private Repository
Tạo Github Private Repository

Kế tiếp, bạn sẽ tạo mới Github Action. Bạn đặt tên cho Github Action tùy thích, nhưng tôi khuyến khích bạn dùng tên theme-deploy.yml.

Dán đoạn code dưới đây để cấu hình cho theme-deploy.yml.

name: Theme Deploy
on:
  push:
    branches:
      - master
      - main
jobs:
  deploy:
    runs-on: ubuntu-18.04
    steps:
      - uses: actions/[email protected]
      - name: Deploy theme to site
        uses: TryGhost/[email protected]
        with:
          api-url: ${{ secrets.GHOST_ADMIN_API_URL }}
          api-key: ${{ secrets.GHOST_ADMIN_API_KEY }}
Tạo Github Action theme-deploy.yml

Tiếp theo, bạn tạo Secret cho Github Repo để liên kết với Ghost. Vào Setting > Secrects > New repository secret

Có 2 Secret bạn cần thêm vào:

  1. GHOST_ADMIN_API_KEY
  2. GHOST_ADMIN_API_URL
Github Secrets
Github Secrets

Để có Admin API, bạn phải tạo mới Integration trong Ghost. Vào Ghost Admin > Integration > Add New

Tạo mới Custom Integration và lấy Admin API Key
Tạo mới Custom Integration và lấy Admin API Key

Sau khi xong, bạn tải theme bạn lên bằng folder upload (giải nén theme bạn ra folder và tải lên folder đó từ máy tính).

Nếu bạn chưa thấy nội dung sau đăng nhập, hãy refresh trình duyệt...

Cường Trần

Cường Trần

Mình muốn chia sẻ với bạn những bí quyết và kiến thức quan trọng để bạn có thể tạo ra một blog chất lượng với Ghost CMS. Hãy cùng khám phá những điều thú vị trong quá trình xây dựng nhé!

Cường Trần

@Cường Trần