3.7 KiB
3.7 KiB
Contribution Guide
Data Structure
1. Contributor Information (data/[lang]/contributors.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:
{
"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:
{
"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
)
{
"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
- Find the
data/[lang]/contributors.json
file. - Add or modify contributor information using the schema above.
- Ensure all provided URLs (avatar, links, etc.) are accessible.
- Submit a Pull Request.
Add/Modify Update Articles
- Create or find the corresponding month's JSON file in the
data/[lang]/updates/[year]/
directory. - Add or modify article content following the schema above.
- Article content supports Markdown format and can include:
- Titles (use #)
- Links
- Images
- Lists
- Quotes
- Code blocks
- Submit a Pull Request.
Add/Modify Featured Translations
- Edit the
data/featured-translations.json
file. - Add or modify translations following the schema above.
- Ensure translations are provided in all language versions.
- Submit a Pull Request.
Submission Guide
- Fork this repository.
- Create a feature branch (
git checkout -b feature/AmazingFeature
). - Commit your changes (
git commit -m 'Add some AmazingFeature'
). - Push to the branch (
git push origin feature/AmazingFeature
). - 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
- All text content must follow the multilingual format, ensuring translations exist in all language directories (unless the submission is language-specific).
- Upload images and other media resources to a designated image host; contact project maintainers for specifics.