| # Contributing to Research Article Template | |
| Thank you for your interest in contributing to the Research Article Template! This document provides guidelines and information for contributors. | |
| ## π€ How to Contribute | |
| ### Reporting Issues | |
| Before creating an issue, please: | |
| 1. **Search existing issues** to avoid duplicates | |
| 2. **Use the issue template** when available | |
| 3. **Provide detailed information**: | |
| - Clear description of the problem | |
| - Steps to reproduce | |
| - Expected vs actual behavior | |
| - Environment details (OS, Node.js version, browser) | |
| - Screenshots if applicable | |
| ### Suggesting Features | |
| We welcome feature suggestions! Please: | |
| 1. **Check existing discussions** first | |
| 2. **Describe the use case** clearly | |
| 3. **Explain the benefits** for the community | |
| 4. **Consider implementation complexity** | |
| ### Code Contributions | |
| #### Getting Started | |
| 1. **Fork the repository** on Hugging Face | |
| 2. **Clone your fork**: | |
| ```bash | |
| git clone git@hf.co:spaces/<your-username>/research-article-template | |
| cd research-article-template | |
| ``` | |
| 3. **Install dependencies**: | |
| ```bash | |
| cd app | |
| npm install | |
| ``` | |
| 4. **Create a feature branch**: | |
| ```bash | |
| git checkout -b feature/your-feature-name | |
| ``` | |
| #### Development Workflow | |
| 1. **Make your changes** following our coding standards | |
| 2. **Test thoroughly**: | |
| ```bash | |
| npm run dev # Test locally | |
| npm run build # Ensure build works | |
| ``` | |
| 3. **Update documentation** if needed | |
| 4. **Commit with clear messages**: | |
| ```bash | |
| git commit -m "feat: add new component for interactive charts" | |
| ``` | |
| #### Pull Request Process | |
| 1. **Push your branch**: | |
| ```bash | |
| git push origin feature/your-feature-name | |
| ``` | |
| 2. **Create a Pull Request** with: | |
| - Clear title and description | |
| - Reference related issues | |
| - Screenshots for UI changes | |
| - Testing instructions | |
| ## π Coding Standards | |
| ### Code Style | |
| - **Use Prettier** for consistent formatting | |
| - **Follow existing patterns** in the codebase | |
| - **Write clear, self-documenting code** | |
| - **Add comments** for complex logic | |
| - **Use meaningful variable names** | |
| ### File Organization | |
| - **Components**: Place in `src/components/` | |
| - **Styles**: Use CSS modules or component-scoped styles | |
| - **Assets**: Organize in `src/content/assets/` | |
| - **Documentation**: Update relevant `.mdx` files | |
| ### Commit Message Format | |
| We follow [Conventional Commits](https://www.conventionalcommits.org/): | |
| ``` | |
| type(scope): description | |
| feat: add new interactive chart component | |
| fix: resolve mobile layout issues | |
| docs: update installation instructions | |
| style: improve button hover states | |
| refactor: simplify component structure | |
| test: add unit tests for utility functions | |
| ``` | |
| **Types**: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore` | |
| ## π§ͺ Testing | |
| ### Manual Testing | |
| Before submitting: | |
| - [ ] Test on different screen sizes | |
| - [ ] Verify dark/light theme compatibility | |
| - [ ] Check browser compatibility (Chrome, Firefox, Safari) | |
| - [ ] Test with different content types | |
| - [ ] Ensure accessibility standards | |
| ### Automated Testing | |
| ```bash | |
| # Run build to catch errors | |
| npm run build | |
| # Test PDF export | |
| npm run export:pdf | |
| # Test LaTeX conversion | |
| npm run latex:convert | |
| ``` | |
| ## π Documentation | |
| ### Writing Guidelines | |
| - **Use clear, concise language** | |
| - **Provide examples** for complex features | |
| - **Include screenshots** for UI changes | |
| - **Update both English content and code comments** | |
| ### Documentation Structure | |
| - **README.md**: Project overview and quick start | |
| - **CONTRIBUTING.md**: This file | |
| - **Content files**: In `src/content/chapters/demo/` | |
| - **Component docs**: Inline comments and examples | |
| ## π― Areas for Contribution | |
| ### High Priority | |
| - **Bug fixes** and stability improvements | |
| - **Accessibility enhancements** | |
| - **Mobile responsiveness** | |
| - **Performance optimizations** | |
| - **Documentation improvements** | |
| ### Feature Ideas | |
| - **New interactive components** | |
| - **Additional export formats** | |
| - **Enhanced LaTeX import** | |
| - **Theme customization** | |
| - **Plugin system** | |
| ### Community | |
| - **Answer questions** in discussions | |
| - **Share examples** of your work | |
| - **Write tutorials** and guides | |
| - **Help with translations** | |
| ## π« What Not to Contribute | |
| - **Breaking changes** without discussion | |
| - **Major architectural changes** without approval | |
| - **Dependencies** that significantly increase bundle size | |
| - **Features** that don't align with the project's goals | |
| ## π Getting Help | |
| - **Discussions**: [Community tab](https://huggingface.co/spaces/tfrere/research-article-template/discussions) | |
| - **Issues**: [Report bugs](https://huggingface.co/spaces/tfrere/research-article-template/discussions?status=open&type=issue) | |
| - **Contact**: [@tfrere](https://huggingface.co/tfrere) on Hugging Face | |
| ## π License | |
| By contributing, you agree that your contributions will be licensed under the same [CC-BY-4.0 license](LICENSE) that covers the project. | |
| ## π Recognition | |
| Contributors will be: | |
| - **Listed in acknowledgments** (if desired) | |
| - **Mentioned in release notes** for significant contributions | |
| - **Credited** in relevant documentation | |
| Thank you for helping make scientific writing more accessible and interactive! π | |