File size: 5,174 Bytes
6afedde |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
# 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 [email protected]: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! π
|