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:
- Search existing issues to avoid duplicates
- Use the issue template when available
- 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:
- Check existing discussions first
- Describe the use case clearly
- Explain the benefits for the community
- Consider implementation complexity
Code Contributions
Getting Started
- Fork the repository on Hugging Face
- Clone your fork:
git clone git@hf.co:spaces/<your-username>/research-article-template cd research-article-template - Install dependencies:
cd app npm install - Create a feature branch:
git checkout -b feature/your-feature-name
Development Workflow
- Make your changes following our coding standards
- Test thoroughly:
npm run dev # Test locally npm run build # Ensure build works - Update documentation if needed
- Commit with clear messages:
git commit -m "feat: add new component for interactive charts"
Pull Request Process
- Push your branch:
git push origin feature/your-feature-name - 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
.mdxfiles
Commit Message Format
We follow Conventional Commits:
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
# 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
- Issues: Report bugs
- Contact: @tfrere on Hugging Face
π License
By contributing, you agree that your contributions will be licensed under the same CC-BY-4.0 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! π