Files
django-wiki/CONTRIBUTING.md
2025-09-17 07:52:16 -05:00

46 lines
2.5 KiB
Markdown

# Contributing
If you are a developer, please refer to the
[Developer Guide](http://django-wiki.readthedocs.io/en/latest/development/index.html)
## Support
**DO NOT USE GITHUB FOR SUPPORT INQUIRIES! USE IRC OR MAILING LIST!**
Django-wiki is community based, please try to be active. If you want help, plan
to give help, too. For instance, if you join IRC, then stay around and help
others.
## Issues
Contributions are appreciated! The following guide is a rough draft, but
please feel free to contribute to this contribution doc as well :D
When submitting an Issue, please provide the following:
* If it's a **feature request**, then write why *you* want it, but also which other
cases you find it useful for. Best way to get a new feature made by others
is to motivate.
* Think about challenges.
* Have you read the Manifesto (below) ? New features should maintain the focus
of the project.
* If you encounter a **bug**, keep in mind that it's probably easiest to fix if
a developer sat in front of your computer... but in lack of that option:
* `django-admin.py --version`
* `python --version`
* `uname -a`
* An example of how to reproduce the bug.
* The expected result.
* Does the bug happen with a checkout of django-wiki's `main` branch? To upgrade:
`pip install --upgrade git+https://github.com/django-wiki/django-wiki.git`
## Manifesto
Django needs a mature wiki system appealing to all kinds of needs, both big and small:
* **Be pluggable and light-weight.** Don't integrate optional features in the core.
* **Be open.** Make an extension API that allows the ecology of the wiki to grow. After all, Wikipedia consists of some [680 extensions](http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/) written for MediaWiki.
* **Be smart.** [This is](https://upload.wikimedia.org/wikipedia/commons/8/88/MediaWiki_database_schema_1-19_%28r102798%29.png) the map of tables in MediaWiki - we'll understand the choices of other wiki projects and make our own. After-all, this is a Django project.
* **Be simple.** The source code should *almost* explain itself.
* **Be structured.** Markdown is a simple syntax for readability. Features should be implemented either through easy coding patterns in the content field, but rather stored in a structured way (in the database) and managed through a friendly interface. This gives control back to the website developer, and makes knowledge more usable. Just ask: Why has Wikipedia never changed? Answer: Because it's knowledge is stored in a complicated way, thus it becomes very static.