homepage/docs/en-US/CONTRIBUTING.md
CDN e0c65a1517
All checks were successful
Deploy / Deploy (push) Successful in 1m8s
chore: add README and docs
closes #5
2025-02-03 15:53:55 +08:00

130 lines
3.7 KiB
Markdown

# Contribution Guide
## Data Structure
### 1. Contributor Information (`data/[lang]/contributors.json`)
```json
{
"members": [
{
"name": "Contributor Name",
"role": "Role Description",
"avatar": "Avatar URL",
"links": [
{
"name": "Link Name",
"url": "Link URL",
"color": "Text Color Class Name",
"icon": "Icon Name"
}
],
"isCore": true/false // Whether they are a core contributor
}
]
}
```
### 2. Project Update Articles
Updates are organized by year and stored in corresponding JSON files.
In `data/[lang]/updates.json`, reference the index of yearly updates:
```json
{
"years": [
"index/2025.json",
"index/2024.json",
"index/2023.json",
"index/2022.json",
"index/2021.json",
"index/2020.json"
]
}
```
`data/[lang]/updates/index/[YYYY].json` includes the update list for that year:
```json
{
"updates": [
{
"id": "journal-2020q3", // Article ID, forming a URL like `https://mirror.starset.fans/updates/journal-2020q3`
"date": "2020-10-07", // Release date
"title": "Q3 2020 Project Update", // Article title
"summary": "This quarter, we evolved from a bilibili account into a goal-driven project. We experienced site migration, independent finance, multiple app updates, and community management adjustments, and dealt with a security attack.", // Article summary
"tags": ["journal"] // Article tags
}
]
}
```
For specific article content, use Markdown format in `/data/[lang]/updates/[YYYY]/[id].md`. Markdown files contain only the body, not titles or tables of contents.
### 3. Featured Translations (`data/featured-translations.json`)
```json
{
"translations": [
{
"id": "ID",
"en": "Original English",
"zh_CN": "Simplified Chinese Translation",
"zh_TW": "Traditional Chinese Translation"
}
]
}
```
### 4. Site Translations (`data/[lang]/index.json`)
If your Pull Request involves modifying site components, ensure any used text is separated into the above translation files and add new translations to the appropriate location in these files.
## How to Contribute
### Update Contributor Information
1. Find the `data/[lang]/contributors.json` file.
2. Add or modify contributor information using the schema above.
3. Ensure all provided URLs (avatar, links, etc.) are accessible.
4. Submit a Pull Request.
### Add/Modify Update Articles
1. Create or find the corresponding month's JSON file in the `data/[lang]/updates/[year]/` directory.
2. Add or modify article content following the schema above.
3. Article content supports Markdown format and can include:
- Titles (use #)
- Links
- Images
- Lists
- Quotes
- Code blocks
4. Submit a Pull Request.
### Add/Modify Featured Translations
1. Edit the `data/featured-translations.json` file.
2. Add or modify translations following the schema above.
3. Ensure translations are provided in all language versions.
4. Submit a Pull Request.
## Submission Guide
1. Fork this repository.
2. Create a feature branch (`git checkout -b feature/AmazingFeature`).
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`).
4. Push to the branch (`git push origin feature/AmazingFeature`).
5. Open a Pull Request.
## Code Style
- Use 2-space indentation for JSON files and avoid comments.
- Use lowercase for filenames, separating multiple words with hyphens (-).
- Date format: YYYY-MM-DD.
## Notes
1. All text content must follow the multilingual format, ensuring translations exist in all language directories (unless the submission is language-specific).
2. Upload images and other media resources to a designated image host; contact project maintainers for specifics.