# 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.