ข้ามไปยังเนื้อหาหลัก

คู่มือผู้ร่วมให้ข้อมูล

ยินดีต้อนรับสู่ Casdoor! เอกสารนี้เป็นแนวทางเกี่ยวกับวิธีการมีส่วนร่วมกับ Casdoor

หากคุณพบข้อมูลที่ไม่ถูกต้องหรือขาดหายไป กรุณาฝากความคิดเห็นหรือข้อเสนอแนะของคุณ

เข้าร่วม

มีหลายวิธีที่จะมีส่วนร่วมกับ Casdoor นี่คือบางไอเดียเพื่อเริ่มต้น:

  • ใช้ Casdoor และรายงานปัญหา เมื่อใช้ Casdoor รายงานปัญหาใด ๆ ไม่ว่าจะเป็นบั๊กหรือข้อเสนอแนะ บน GitHub Discussions หรือ Discord ก่อนที่จะยื่นปัญหาบน GitHub
ข้อมูล

กรุณาใช้ภาษาอังกฤษในการอธิบายรายละเอียดของปัญหาเมื่อรายงานปัญหา

  • ช่วยเหลือกับเอกสาร เริ่มต้นงานมีส่วนร่วมของคุณด้วยเอกสารเป็นตัวเลือกที่ดี

  • ช่วยแก้ไขปัญหา เรามีตารางที่มีงานง่ายๆ ที่เหมาะสำหรับผู้เริ่มต้นภายใต้ Casdoor Easy Tasks โดยมีป้ายกำกับระดับความท้าทายที่แตกต่างกัน

การมีส่วนร่วม

หากคุณพร้อมที่จะสร้าง PR นี่คือกระบวนการทำงานสำหรับผู้ร่วมให้ข้อมูล:

  1. Fork ไปยัง repository ของคุณเอง

  2. Clone fork ของคุณไปยัง repository ในเครื่อง

  3. สร้าง branch ใหม่และทำงานบนนั้น

  4. รักษา branch ของคุณให้ตรงกัน

  5. Commit การเปลี่ยนแปลงของคุณ ตรวจสอบให้แน่ใจว่าข้อความ commit ของคุณกระชับ

  6. Push commits ของคุณไปยัง repository ที่คุณ fork

  7. สร้าง 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 ต้องเป็นตัวพิมพ์เล็ก

  1. fix: commit ประเภท type fix แก้ไขบั๊กในฐานโค้ดของคุณ

    fix: prevent racing of requests
  2. feat: commit ประเภท type feat นำเสนอฟีเจอร์ใหม่ในฐานโค้ด

    feat: allow provided config object to extend other configs
  3. 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