Мы очень благодарны за ваш вклад в развитие ScriptCat! Это руководство призвано помочь вам вносить вклад в ScriptCat более стандартизированным образом, поэтому, пожалуйста, обязательно внимательно его прочитайте.
Перед созданием Issue мы рекомендуем сначала проверить существующие Issues, чтобы избежать дублирования.
ScriptCat — это постоянно развивающийся проект. Если вы столкнетесь с проблемами в процессе использования и уверены, что они вызваны ScriptCat, вы можете создать Issue. При создании, приложите подробные шаги для воспроизведения и информацию о среде выполнения.
Мы приветствуем ваши предложения по новым функциям в Issues. Чтобы мы лучше поняли ваши потребности, максимально подробно опишите функцию и предложите возможные решения.
ScriptCat использует pnpm для управления зависимостями проекта. Если у вас уже установлен npm, следующие команды помогут вам быстро настроить среду разработки:
# Установка зависимостей node.js
pnpm installМы рекомендуем использовать прокси для решения сетевых проблем pnpm, а не зеркала.
pnpm config set proxy http://127.0.0.1:7890
pnpm config set https-proxy https://127.0.0.1:7890Мы хотим, чтобы каждый коммит четко описывал свою цель, и каждый коммит по возможности содержал только одно изменение. Наше соглашение по сообщениям коммитов следует gitmoji. Например:
git commit -m "✨ add login feature"Этот пример показывает добавление новой функции: входа в систему.
Ветка main является основной веткой ScriptCat. Для сохранения целостности кода, не изменяйте напрямую ветку main.
Вам следует создать новую ветку, внести изменения в этой ветке, а затем создать Pull Request с целевой веткой main.
Заголовок Pull Request, по возможности пишите на китайском языке для удобства автоматического создания журнала изменений.
Если вы не являетесь участником команды ScriptCat, вы можете сначала сделать fork этого репозитория, а затем создать Pull Request
в ветку main этого репозитория. При создании коммитов, следуйте указанному выше соглашению по сообщениям коммитов.
Мы объединим ваш вклад в main ветку после проведения code review.
Документация ScriptCat находится в другом репозитории: scriptcat.org, она написана с использованием docusaurus, вот некоторые особенности Markdown, которые могут вам помочь. Если вам нужно предпросмотреть измененную документацию локально, вы можете использовать следующие команды для установки зависимостей документации и запуска dev сервера:
pnpm install
pnpm startCrowdin — это онлайн-платформа для многозначного перевода. Если вы заинтересованы помочь нам с переводом контента, связанного с ScriptCat, вы можете найти проект ScriptCat на Crowdin и начать работу по переводу.
src/locales— каталог файлов перевода для расширения
В новой версии еще не добавлено
Перейдите на страницу хранилища скриптов: https://scriptcat.org/ach-UG чтобы включить режим WYSIWYG (What You See Is What You Get).
ScriptCat использует ESLint для стандартизации стиля кода и Vitest для модульного тестирования. Вы можете использовать следующие команды для запуска:
pnpm test
pnpm run lintДля разработки страниц ScriptCat используются следующие технологии:
Если вы хотите запустить ScriptCat локально, вы можете использовать следующую команду:
pnpm run dev
# Обратите внимание: по неизвестным причинам, если вам нужно использовать режим инкогнито, используйте следующую команду для разработки
pnpm run dev:noMapЕсли вы хотите собрать расширение, вы можете использовать следующую команду:
pnpm run packПеред сборкой убедитесь, что в каталоге dist создан файл scriptcat.pem.
- После выполнения
pnpm run devнеобходимо импортировать содержимое каталогаdist/extв расширение браузера, а затем начать изменять код и сохранять — браузер будет обновляться в реальном времени. Однако изменения, затрагивающиеmanifest.json,service_worker,offscreen,sandbox, требуют перезагрузки расширения.