Đầu tiên, cảm ơn bạn vì đã muốn chia sẻ ý tưởng, hiểu biết, và quan điểm của mình 🎉🎉 Bạn là một người tuyệt vời và chúng tôi yêu bạn 😍😍

❤️🧡💛💚💙💜🖤

Dưới đây là một số hướng dẫn về cách đóng góp bài viết cho blog của chúng tôi. Chúng tôi đã cố gắng hết sức để tránh thiếu sót, nhưng nếu bạn nghĩ có điều gì cần bổ sung, đừng ngần ngại góp ý cho chúng tôi bằng một pull request.

Mục lục

Đóng góp bằng bài viết

Đóng góp bằng dịch thuật

Bonus: Trang cá nhân của tác giả

Hỏi đáp thắc mắc

I. Đóng góp bằng bài viết

Hướng dẫn đóng góp bài viết cho TheCodeCousins

Thiết lập môi trường làm việc

Bắt đầu bằng việc fork repo này của chúng tôi về máy tính của bạn

git clone https://github.com/YOUR-USERNAME/thecodecousins --recursive
cd thecodecousins/

Kiểm tra xem bạn đã cài hugo chưa bằng cách chạy hugo version. Nếu mà bạn chưa cài hugo, hãy xem hướng dẫn cài đặt và cách sử dụng trên trang của họ.

Viết bài

Tạo một bài mới từ mẫu trong chủ đề bằng cách chạy

hugo new posts/YOUR-POST-NAME/index.vi.md # Chúng tôi sẽ giải thích vì sao dùng index.vi.md trong phần sau

Điền vào các mục:

  • title: chủ để của bài - hãy viết nó ngắn và hay.
  • date: bạn phải dùng định dạng ISO-8601, hãy dùng máy tạo dấu thời gian này để theo đúng tiêu chuẩn một cách dễ dàng.
  • authors: Danh sách tên hoặc biệt hiệu của các tác gỉa bài viết. Nếu bạn muốn trang tác giả của mình, hãy làm theo hướng dẫn ở phần sau
  • cover: bức ảnh sẽ được hiển thị ở trang chủ và đầu bài viết của bạn.
  • tags: những chủ đề chính của bài
  • keywords: như trên nhưng cụ thể hơn
  • description: tóm tắt ngắn gọn của bài, sẽ được hiển thị ở trang chủ
  • showFullContent: hãy để nó là false để dành diện tích trên trang chủ cho nhiều tác giả khác.

Viết bài của bạn bằng markdown với các tính năng bổ sung từ hugo. Nếu bạn không chỉ muốn dùng markdown (md) cơ bản, xem thêm bản hướng dẫn của hugo.

Assets tĩnh

Hệ thống file bài viết trên TheCodeCousins được sắp xếp theo dạng “leaf bundle”, đây cũng là lí do mà file bài viết được để trong tệp với tên bài và có tên file là index.vi.md. Sau khi làm các bước trên, bạn sẽ thấy tệp bài viết của mình như ví dụ sau

Example source tree

Assets của bạn sau đó có thể được thêm vào bài viết bằng đường link đầy đủ với content là tệp gốc (ví dụ, /posts/test-posts/img/cover.jpg là đường link chỉ đến file cover.jpg như trong ví dụ trên).

Nhắn cho chúng tôi 🎉🎉

Sau khi hoàn thành bài viết, hãy mở một Pull Request trên repo của chúng tôi và bài viết của bạn sẽ nhanh chóng được đăng. 🥳🥳

II. Đóng góp bằng dịch thuật

Hướng dẫn đóng góp bài dịch cho TheCodeCousins

Xin ý kiến từ tác giả gốc

Mở một issue với tiêu đề translation với đường link trong phần description tới bài viết gốc trên repo của chúng tôi. Chúng tôi sẽ liên lạc với tác giả gốc và họ cho phép bài được dịch 👌👌.

Dịch bài

Xác định ID của bài viết bằng cách nhìn vào tên của tệp chứa (v.d. nếu mà đường dẫn đến file markdown là /content/posts/example/index.md thì ID của bài viết sẽ là example) Tạo bài viết bằng ngôn ngữ mới bằng câu lệnh sau với key của ngôn ngữ lấy từ file config của chúng tôi (v.d. vi cho tiếng Việt)

# For English as target language, there's no need for language key
# as English is the default language
hugo new posts/<POST-ID>/index.<LANGUAGE-KEY>.md

Điền vào các mục:

  • title: dịch từ bài gốc
  • date: bạn phải dùng định dạng ISO-8601, hãy dùng máy tạo dấu thời gian này để theo đúng tiêu chuẩn một cách dễ dàng.
  • authors: Danh sách tên hoặc biệt hiệu của các tác gỉa bài viết. Nếu bạn muốn trang tác giả của mình, hãy làm theo hướng dẫn ở phần sau
  • cover: lấy từ bài gốc
  • tags: lấy hoặc dịch từ bài gốc
  • keywords: lấy hoặc dịch từ bài gốc
  • description: dịch từ bài gốc
  • showFullContent: hãy để nó là false để dành diện tích trên trang chủ cho nhiều tác giả khác.

Mở đầu bài viết với đường link đến bài gốc và nhắc đến tác giả gốc. Ví dụ, bạn có thể bắt đầu bài viết như sau “Bài viết này được dịch từ bài viết ví dụ bởi Stanley Nguyen”.

Viết bài của bạn bằng markdown với các tính năng bổ sung từ hugo. Nếu bạn không chỉ muốn dùng markdown (md) cơ bản, xem thêm bản hướng dẫn của hugo.

Nhắn cho chúng tôi 🎉🎉

Sau khi hoàn thành bài viết, hãy mở một Pull Request trên repo của chúng tôi và bài viết của bạn sẽ nhanh chóng được đăng. 🥳🥳

III. Bonus: Trang cá nhân của tác giả

Phần này dành cho những ai muốn một trang tác giả đẹp hơn là chỉ một danh sách bài viết đơn điệu khi người đọc click vào tên tác giả trên bài của mình.

Dùng tên tài khoản Github của bạn để tạo một file tác giả để tránh đụng hàng với các tác giả khác.

touch data/authors/YOUR-USERNAME.yaml

Có 3 thông tin mà bạn có thể điền trong file tác giả của mình:

  • name: cái này chắc ai cũng hiểu 😁😆
  • img: avatar của bạn (cũng dùng tên tài khoản Github), để file ở trong tệp /static và dẫn link đến từ gốc của TheCodeCousins (v.d. nếu file ở /static/stanleynguyen.jpg, hãy dùng đường link /stanleynguyen.jpg trong file tác giả)
  • url: đường link đến trang cá nhân của bạn
  • bio: giới thiệu ngắn về bản thân, dưới 100 chữ

Sau đó hãy diền tên file vào mục author của bài viết. (ví dụ, file tác giả của mình là stanleynguyen.yml thì trong bài viết của mình mục author sẽ là stanleynguyen)

IV. Hỏi đáp thắc mắc

Hăy mở một issue mới với tiêu đề question trên repo của thecodecousins.