130 lines
3.7 KiB
Markdown
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.
|