คู่มือผู้ร่วมให้ข้อมูล
ยินดีต้อนรับสู่ Casdoor! เอกสารนี้เป็นแนวทางเกี่ยวกับวิธีการมีส่วนร่วมกับ Casdoor
หากคุณพบข้อมูลที่ไม่ถูกต้องหรือขาดหายไป กรุณาฝากความคิดเห็นหรือข้อเสนอแนะของคุณ
เข้าร่วม
มีหลายวิธีที่จะมีส่วนร่วมกับ Casdoor นี่คือบางไอเดียเพื่อเริ่มต้น:
- ใช้ Casdoor และรายงานปัญหา เมื่อใช้ Casdoor รายงานปัญหาใด ๆ ไม่ว่าจะเป็นบั๊กหรือข้อเสนอแนะ บน GitHub Discussions หรือ Discord ก่อนที่จะยื่นปัญหาบน GitHub
กรุณาใช้ภาษาอังกฤษในการอธิบายรายละเอียดของปัญหาเมื่อรายงานปัญหา
ช่วยเหลือกับเอกสาร เริ่มต้นงานมีส่วนร่วมของคุณด้วยเอกสารเป็นตัวเลือกที่ดี
ช่วยแก้ไขปัญหา เรามีตารางที่มีงานง่ายๆ ที่เหมาะสำหรับผู้เริ่มต้นภายใต้ Casdoor Easy Tasks โดยมีป้ายกำกับระดับความท้าทายที่แตกต่างกัน
การมีส่วนร่วม
หากคุณพร้อมที่จะสร้าง PR นี่คือกระบวนการทำงานสำหรับผู้ร่วมให้ข้อมูล:
Fork ไปยัง repository ของคุณเอง
Clone fork ของคุณไปยัง repository ในเครื่อง
สร้าง branch ใหม่และทำงานบนนั้น
รักษา branch ของคุณให้ตรงกัน
Commit การเปลี่ยนแปลงของคุณ ตรวจสอบให้แน่ใจว่าข้อความ commit ของคุณกระชับ
Push commits ของคุณไปยัง repository ที่คุณ fork
สร้าง pull request จาก branch ของคุณไปยัง branch master ของเรา
Pull Requests
ก่อนที่คุณจะเริ่มต้น
Casdoor ใช้ GitHub เป็นแพลตฟอร์มการพัฒนา และ pull requests เป็นแหล่งของการมีส่วนร่วมหลัก
นี่คือสิ่งที่คุณต้องรู้ก่อนที่จะเปิด pull request:
คุณต้องลงนามใน CLA เมื่อคุณสร้าง pull request ครั้งแรก
อธิบายว่าทำไมคุณถึงส่ง pull request และมันจะทำอะไรกับ repo
อนุญาตให้มีเพียงหนึ่ง commit หาก PR ทำมากกว่าหนึ่งอย่าง กรุณาแยกมันออก
หากมีไฟล์ใหม่ที่เพิ่มเข้ามา กรุณาใส่ใบอนุญาต Casdoor ที่ด้านบนของไฟล์ใหม่
// Copyright 2022 The Casdoor Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
Semantic PRs
Pull requests ของคุณควรตามมาตรฐาน Conventional Commits ข้อกำหนดพื้นฐานคือเฉพาะชื่อ PR หรืออย่างน้อยหนึ่งข้อความ commit ตัวอย่างเช่น มีชื่อ PR ที่ใช้กันทั่วไปสามชื่อด้านล่างนี้:
ชื่อ PR ต้องเป็นตัวพิมพ์เล็ก
fix: commit ประเภท type
fix
แก้ไขบั๊กในฐานโค้ดของคุณfix: prevent racing of requests
feat: commit ประเภท type
feat
นำเสนอฟีเจอร์ใหม่ในฐานโค้ดfeat: allow provided config object to extend other configs
docs: commit ประเภท type
docs
เพิ่มหรือปรับปรุงเอกสารdocs: correct spelling of CHANGELOG
สำหรับรายละเอียดเพิ่มเติม กรุณาดูที่หน้า Conventional Commits
การเชื่อมโยง PRs กับ Issues
คุณสามารถเชื่อมโยง pull request กับ issue เพื่อแสดงว่ามีการแก้ไขที่กำลังดำเนินการ และเพื่อปิด issue โดยอัตโนมัติเมื่อ pull request ถูกผสาน
การเชื่อมโยง Pull Request กับ Issue โดยใช้คำสำคัญ
คุณสามารถเชื่อมโยง pull request กับ issue โดยใช้คำสำคัญที่รองรับในคำอธิบายของ pull request หรือในข้อความ commit Pull request ต้องอยู่บน branch หลัก
- close
- fix
- resolve
Issue ใน repository เดียวกัน ตัวอย่างเช่น:
Fix: #902
สำหรับรายละเอียดเพิ่มเติม กรุณาดูที่ Linking a Pull Request to an Issue
การแก้ไข PRs
PR ของคุณอาจต้องการการแก้ไข กรุณาแก้ไข PR เดียวกันเมื่อโค้ดต้องการการเปลี่ยนแปลง อย่าปิด PR และเปิดใหม่ นี่คือตัวอย่าง:
แก้ไขโค้ดบนเครื่องของคุณ
แก้ไข commit ของคุณ
git commit --amend
- Push ไปยัง repository ระยะไกลของคุณ
git push --force
จากนั้น คุณจะได้แก้ไข PR อย่างสำเร็จ!
เกี่ยวกับโค้ด
หลักการบางประการ:
- การอ่าน: โค้ดที่สำคัญควรมีเอกสารอย่างดี สไตล์โค้ดควรสอดคล้องกับที่มีอยู่
การตั้งชื่อ
ตัวอย่างเช่น signupUrl
สำหรับชื่อตัวแปร Signup URL
สำหรับ UI
วิธีการอัปเดตข้อมูล i18n?
โปรดทราบว่าเราใช้ Crowdin เป็นแพลตฟอร์มการแปลและ i18next เป็นเครื่องมือการแปล เมื่อคุณเพิ่มสตริงโดยใช้ i18next ในไดเรกทอรี web/
คุณสามารถรัน i18n/generate_test.go
เพื่อสร้างไฟล์ web/src/locales/**/data.json
โดยอัตโนมัติ
รัน i18n/generate_test.go
:
cd i18n && go test
ภาษาทั้งหมดจะถูกกรอกเป็นภาษาอังกฤษโดยค่าเริ่มต้น หลังจาก PR ของคุณถูกผสานแล้ว คุณจะได้รับการสนับสนุนให้ช่วยแปลสตริงที่เพิ่มใหม่ใน web/src/locales/zh/data.json
โดย Crowdin
หากคุณไม่คุ้นเคยกับภาษาใด ๆ กรุณาอย่าแปล ให้เก็บไฟล์ไว้เหมือนเดิม
ใบอนุญาต
โดยการมีส่วนร่วมกับ Casdoor คุณยอมรับว่าการมีส่วนร่วมของคุณจะได้รับการอนุญาตภายใต้ใบอนุญาต Apache