Перейти до основного вмісту

Посібник для учасників

Ласкаво просимо до Casdoor! Цей документ служить керівництвом з участі у Casdoor.

Якщо ви знайдете будь-яку неправильну або відсутню інформацію, будь ласка, залиште свої коментарі або пропозиції.

Долучайтеся

Є багато способів внести свій вклад до Casdoor. Ось деякі ідеї для початку:

  • Використовуйте Casdoor та повідомляйте про проблеми. При використанні Casdoor повідомляйте про будь-які проблеми - чи то помилки, чи пропозиції - на GitHub Discussions або на Discord перед тим, як подавати проблему на GitHub.
інформація

Будь ласка, використовуйте англійську мову для опису деталей вашої проблеми при повідомленні про проблему.

  • Допоможіть з документацією. Почати роботу з документацією - хороший вибір.

  • Допоможіть вирішити проблеми. У нас є таблиця, яка містить легкі завдання, підходящі для початківців, під Casdoor Easy Tasks, з різними рівнями викликів, позначеними різними тегами.

Участь

Якщо ви готові створити PR, ось робочий процес для учасників:

  1. Зробіть форк до вашого власного репозиторію.

  2. Клонуйте ваш форк до локального репозиторію.

  3. Створіть нову гілку та працюйте на ній.

  4. Тримайте вашу гілку синхронізованою.

  5. Здійсніть коміт ваших змін. Переконайтеся, що ваше повідомлення коміту є лаконічним.

  6. Запуште ваші коміти до вашого форкнутого репозиторію.

  7. Створіть запит на витягнення з вашої гілки до нашої основної гілки.

Запити на витягнення

Перед тим, як ви почнете

Casdoor використовує GitHub як платформу для розробки, і запити на витягнення є основним джерелом внесків.

Ось деякі речі, які вам потрібно знати перед тим, як відкрити запит на витягнення:

  • Вам потрібно підписати CLA, коли ви вперше створюєте запит на витягнення.

  • Поясніть, чому ви подаєте запит на витягнення та що він зробить з репозиторієм.

  • Дозволяється лише один коміт. Якщо 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.

Семантичні PR

Ваші запити на витягнення повинні відповідати специфікації Conventional Commits. Основна вимога полягає в тому, що тільки назва PR або принаймні одне повідомлення коміту. Наприклад, нижче наведено три поширені назви PR:

обережно

Назви PR повинні бути написані маленькими літерами.

  1. fix: коміт типу fix виправляє помилку у вашій кодовій базі.

    fix: prevent racing of requests
  2. feat: коміт типу feat вводить нову функцію до кодової бази.

    feat: allow provided config object to extend other configs
  3. docs: коміт типу docs додає або покращує документацію.

    docs: correct spelling of CHANGELOG

Для отримання додаткової інформації, будь ласка, зверніться до сторінки Conventional Commits.

Зв'язування PR з проблемами

Ви можете пов'язати запит на витягнення з проблемою, щоб показати, що виправлення в процесі та автоматично закрити проблему, коли запит на витягнення буде злитий.

Зв'язування запиту на витягнення з проблемою за допомогою ключового слова

Ви можете пов'язати запит на витягнення з проблемою, використовуючи підтримуване ключове слово в описі запиту на витягнення або в повідомленні коміту. Запит на витягнення повинен бути на гілці за замовчуванням.

  • close
  • fix
  • resolve

Проблема в тому ж репозиторії, наприклад:

Fix: #902

Для отримання додаткової інформації, будь ласка, зверніться до Linking a Pull Request to an Issue.

Модифікація PR

Ваш PR може потребувати ревізії. Будь ласка, модифікуйте той самий PR, коли код потребує змін; не закривайте PR та не відкривайте новий. Ось приклад:

  • Модифікуйте код на вашому локальному.

  • Модифікуйте ваш коміт.

git commit --amend
  • Запуште до вашого віддаленого репозиторію.
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 License.