Contributing to MakeAWiki
We welcome contributions to MakeAWiki! This page outlines how you can help make MakeAWiki even better.
Ways to Contribute
There are many ways to contribute to MakeAWiki:
- Code Contributions: Help improve the MakeAWiki codebase
- Documentation: Help improve or translate the documentation
- Theme Creation: Create and share custom themes
- Bug Reports: Report issues you encounter
- Feature Requests: Suggest new features or improvements
- Community Support: Help other users in the forums or chat
Development Setup
To set up a development environment for MakeAWiki:
- Clone the repository:
git clone https://github.com/crizmo/MakeAWiki.git
cd MakeAWiki
- Install dependencies:
npm install
- Run the development server:
npm start
Pull Request Workflow
- Fork the repository on GitHub
- Create a new branch for your feature or bugfix
- Make your changes and commit them
- Push your branch to your fork
- Create a pull request from your branch to the main repository
Contributing Features
To add a new feature to MakeAWiki:
- Decide what type of feature you want to add
# Example: Adding a new theme
mkdir -p static/themes/my-theme
- Create the necessary files for your feature
- CSS files for themes
- JavaScript for new functionality
- EJS template modifications if needed
- Document your changes in the appropriate guide:
touch pages/guides/my-feature-guide.md
- Submit a pull request with your changes
Coding Standards
- Use 4 spaces for indentation
- Follow the existing code style
- Add comments for complex logic
- Write tests for new features
- Update documentation for user-facing changes
Documentation Contributions
The MakeAWiki documentation is written in Markdown and stored in the pages directory. To contribute:
- Edit the appropriate Markdown files
- Preview your changes by running the MakeAWiki server locally
- Submit a pull request with your changes
Creating and Maintaining Themes
If you're interested in creating or maintaining themes:
- Follow the Custom Themes guide
- Test your themes thoroughly across different devices
- Submit them to the official MakeAWiki repository or share them with the community
Community Guidelines
- Be respectful and kind to other contributors
- Provide constructive feedback
- Help newcomers get started
- Follow the code of conduct
Recognition
All contributors are recognized on our Contributors page and on the GitHub repository. We appreciate every contribution, no matter how small!