Contribution Guidelines
Ubunchuu rất vui khi bạn quyết định đóng góp cho blog của chúng mình. Để đảm bảo mọi người đều thuận tiện và dễ dàng khi đóng góp, chúng mình đã viết ra một số hướng dẫn dưới đây.
Trước khi bắt đầu
Để đảm bảo mọi thay đổi sẽ được thảo luận và review kỹ lưỡng, chúng mình khuyến khích mọi người tạo một GitHub Issue trước khi bắt đầu viết bài. Điều này giúp chúng mình hiểu rõ hơn về nội dung bạn muốn viết và cũng giúp chúng mình xây dựng một cộng đồng đóng góp chặt chẽ hơn.
- Bước 1: Tạo GitHub Issue ở repo ubunchuu-truong-us/ubunchuu-truong-us.github.io để thảo luận với chúng mình về những thay đổi bạn muốn thực hiện. Ở đây bạn chọn vào template có tên New Content Request nhé.
Sau khi template được tạo, hãy chờ chúng mình phản hồi bằng code review trong vòng 2 ngày.
- Bước 2: Ở Issue đã tạo ở Bước 1, checkout một branch/nhánh mới từ
main
(link với Issue) và đặt tên nhánh theo định dạngcontent/<mã-issue>-<tên-issue-của-bạn>
.
Đễ dễ nhất, hãy nhấn Create a branch tại vị trí 1 như hình dưới đây và chỉ cần thêm prefix content/
vào tên có sẵn.
Sau khi bạn tạo nhánh mới, một draft pull request sẽ tự động được tạo tự động bởi bot của chúng mình.
Và nó sẽ trông như thế này, lúc này mình cần mọi người Edit lại description của PR cho phù hợp với nội dung bài viết của mình nhé, chỉ cần nhấn vào biểu tượng bút chì như hình dưới đây.
Sau khi tạo xong issue và draft pull request, bạn đã hoàn thành được 20% rồi đó! 80% còn lại tập trung vào viết content thôi.
Có 2 cách để vừa viết content, vừa xem nội dung sẽ như thế nào nếu ở phiên bản web: dùng GitHub Codespace hoặc dev dưới local.
Cách 1: GitHub Codespaces
Chúng mình đã cung cấp một môi trường Codespaces để bạn có thể dễ dàng đóng góp cho blog của chúng mình. Việc này giúp bạn không cần phải cài đặt môi trường phát triển trên máy tính ở local và cũng sẽ match environment với môi trường CI của chúng mình hơn, đảm bảo tính nhất quán trong việc deployment.
GitHub Codespaces là một môi trường phát triển trên cloud, cho phép bạn viết code, push code, và thậm chí là chạy code mà không cần phải cài đặt bất kỳ thứ gì trên máy tính của bạn. Điều này giúp bạn tiết kiệm thời gian và công sức khi setup môi trường phát triển. Xem thêm
Đối với chúng mình, để dễ hiểu mà nói, GitHub Codespaces chỉ đơn thuần là một cái VSCode
chạy trên browser thôi. Có sẵn môi trường phát triển, terminal, và mọi thứ bạn cần, mà không cần phải cài bất cứ thứ gì trực tiếp vào máy.
Vậy có nhược điểm gì không nhỉ? ==> Dễ thấy nhất là vì bản chất GitHub Codespace cung cấp cho bạn 1 máy ảo để điều khiển từ xa, nên sẽ bị chậm trong quá trình tương tác hơn là chạy dưới máy của bạn.
- Bước 1: Tạo GitHub Codespaces để bắt đầu viết bài.
Hãy tạo GitHub Codespaces bằng cách nhấn vào nút "Open in GitHub Codespaces" ở đây:
Hoặc bạn có thể vào repo của chúng mình, nhấn vào nút "Code", chọn thẻ "Codespaces" nhé.
Sau đó tại mục Branch, chọn branch đã tạo ở phần Before You Start nhé.
Chỗ này sẽ cần chờ một lúc cho Codespaces được tải xong.
- Bước 2: Bắt đầu viết bài ở GitHub Codespaces thôi nào.
Mặc định Codespaces sẽ mở trình editor kèm với chạy server local và mở trang preview sẵn cho bạn. Nhưng nếu chưa mở, bạn có thể chạy lệnh sau để mở preview nhé:
yarn start
- Bước 3: Khi bạn đã hoàn thành viết bài, hãy commit và push changes của bạn lên repo của chúng mình.
Pull request sẽ tự động được cập nhật khi bạn push lên nhánh của bạn đã tạo ở bước 2 phần Before You Start.
Khi nào sẵn sàng để review bài viết của bạn, hãy mark Ready for Review ở PR của bạn nhé.
Cách 2: Local Development
Cũng giống như Cách 1, bạn hãy check qua phần Trước khi bắt đầu đã nhé.
Để viết bài ở local, hãy make sure rằng máy tính của mọi người đã cài đặt những dependencies cần thiết như sau:
node >= 22
: Download Node.jsyarn >= 1.22
:sudo npm install -g yarn
- Issue và branch được tạo như phần Trước khi bắt đầu.
- Bước 1: Clone repo của chúng mình về máy tính của bạn.
git clone [email protected]:ubunchuu-truong-us/ubunchuu-truong-us.github.io.git
- Bước 2: Checkout qua nhánh đã tạo ở phần Trước khi bắt đầu.
git checkout content/<tên-bài-viết-của-bạn>
- Bước 3: Install dependencies.
yarn install
- Bước 4: Start development server.
yarn start
- Bước 5: Push changes của bạn lên repo của chúng mình nhé, PR sẽ tự động được cập nhật khi bạn push lên nhánh của bạn đã tạo ở bước 2 phần Before You Start.
Khi nào sẵn sàng để review bài viết của bạn, hãy mark Ready for Review ở PR của bạn nhé.