Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
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! π