diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..39e47f5b0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,95 @@ +# Contributing to MoinMoin + +Thank you for your interest in contributing to MoinMoin! We welcome contributions +and appreciate your support in improving this project. This guide outlines how +you can contribute, whether through bug reports, code contributions or help with +documentation. + + +## How to contribute + +Find out how you can start reporting bugs, fixing bugs, adding new features or +improving the documentation. + +### Reporting bugs + +If you've encountered a bug, please report it by following these steps: + + 1. Search the issue tracker to see if the bug has already been reported. + 2. Open a new issue in GitHub if it has not been reported yet. + 3. Provide as much detail as possible, including: + - A description of the bug + - Steps to reproduce the issue + - Any relevant logs or error messages + +### Suggesting enhancements + +If you have an idea for a new feature or improvement: + + 1. Check the issue tracker to see if the enhancement has already been suggested. + 2. Open a new issue with a detailed description of the suggested enhancement. + 3. Include a rough idea of how the enhancement could be implemented if possible. + +### Submitting code or documentation enhancements + +To submit code or documentation updates, follow these steps: + + * Setup your development environment, see next chapter. + * Create a new branch for your changes: + ``` + git checkout -b feature-branch + ``` + * Implement your changes locally. + * Run tests and ensure everything works before submitting your changes. + * Commit your changes and push them to your fork on GitHub: + ``` + git commit -am "Description of changes" + git push --set-upstream origin feature-branch + ``` + * Create a pull request against the master MoinMoin repository. + +We encourage you to split complex changes into smaller, focused pull requests. +This makes it easier to review and merge your contributions. + +## Development setup + +To begin contributing, you need to set up your development environment. Follow +the steps below to get started: + + * Fork the main moin repository from GitHub + * Clone your repo to your local development system + * Create a virtualenv and download Python packages + * Activate the virtualenv + * Create a wiki instance with help data and a welcome page + * Start the built-in server + +For details on setting up your environment, please refer to the MoinMoin +development documentation at +[moin-20.readthedocs.io](https://moin-20.readthedocs.io/en/latest/devel/development.html#create-your-development-environment) + + +## Code Style and Best Practices + +MoinMoin follows some common coding standards to ensure the consistency of the +code base. Here are some major things to keep in mind: + + * Python Version: MoinMoin is based on Python 3. Make sure your changes work + with the versions specified in pyproject.toml. + * Code Formatting: Follow PEP 8 standards for Python code. + * Testing: Write tests for your changes to ensure stability. Tests should be + added under the corresponding _tests directory. + * Documentation: Ensure that your changes are well-documented. Add docstrings + to your functions and classes where appropriate. + +We have added Git pre-commit hooks to ensure a consistent code quality. +The checks include the use of the tools black, ruff and bandit. For details please see +[moin-20.readthedocs.io](https://moin-20.readthedocs.io/en/latest/devel/development.html#install-pre-commit-hooks) + + +## Licensing + +By submitting code to MoinMoin, you agree that your contributions are licensed +under the GNU General Public License, the license used by the MoinMoin project. + +We appreciate your contributions to MoinMoin! If you have any questions that +are not covered in the docs, feel free to ask. diff --git a/README.md b/README.md new file mode 100644 index 000000000..9acceaf20 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +MoinMoin - a lightweight open source wiki engine +================================================ + +MoinMoin Logo + +MoinMoin is an easy to use, full-featured and extensible wiki software package +written in Python. You can run it on all common operating systems (Windows, +macOS, Linux, etc.). + +This wiki software can fulfill a wide range of roles, such as a personal notes +organizer deployed on a laptop or home web server, a company knowledge base +deployed on an intranet, or an Internet server open to individuals sharing the +same interests, goals or projects. + + +Documentation and Support +========================= + +> [!NOTE] + moin2 is not released yet. + +You will find the latest docs at https://moin-20.readthedocs.io/en/latest. + +There is a wiki page collecting all moin2 specific information, links to +support resources and info about MoinMoin development status and plans: +https://moinmo.in/MoinMoin2.0 + +In general, you should make sure that the documentation you are reading +is written for the moin version you are using. Much of the information +you find in the wiki refers to moin 1.9 and does not apply to moin2. + +For support, please try the documentation, the homepage, the irc channel, +the mailing lists and the github issues before contacting the MoinMoin +authors directly. + +If you have trouble with any web server configuration, please try reading +the web server's documentation. Same thing applies for any other 3rd party +software usually used with moin, but not written by the MoinMoin developers. + + +Contributing +============ + +You're welcome to help us make MoinMoin even better! Whether you have experience +with Python, HTML or CSS or are just starting out, there are many ways you +can contribute - please see [CONTRIBUTING.md](./CONTRIBUTING.md). + + +Acknowledgements +================ + +We have to thank a lot of people for their valuable ideas, time and +contributions - please see [contributors](https://github.com/moinwiki/moin/graphs/contributors). diff --git a/README.rst b/README.rst deleted file mode 100644 index 551d816e5..000000000 --- a/README.rst +++ /dev/null @@ -1,47 +0,0 @@ -MoinMoin - a wiki engine in Python -================================== - -MoinMoin is an easy to use, full-featured and extensible wiki software -package written in Python. - -It can fulfill a wide range of roles, such as a personal notes organizer -deployed on a laptop or home web server, a company knowledge base deployed -on an intranet, or an Internet server open to individuals sharing the same -interests, goals or projects. - - -Documentation and Support -========================= - -NOTE: moin2 is not released yet. - -You will find the latest docs at https://moin-20.readthedocs.io/en/latest. - -There is a wiki page collecting all moin2 specific information, links to -support resources and info about MoinMoin development status and plans: -https://moinmo.in/MoinMoin2.0 - - - -In general, please make sure that documentation you read on the wiki or -somewhere else on the web is written for the moin version you are using. -Much information you find on the wiki (and elsewhere) will be about -moin 1.9 (and NOT applicable to moin2). - - -For support, please try the documentation, the homepage, the irc channel -and the mailing list before contacting the MoinMoin authors directly. - -If you have trouble with apache (or other webserver) configuration, please -try reading the web server's documentation. Same thing applies for any other -3rd party software usually used with moin, but not written by the MoinMoin -developers. - - -ACKNOWLEDGEMENTS -================ - -We have to thank a lot of people for their valuable ideas, time and -contributions - please see there: - -https://moinmo.in/MoinMoinAcknowledgements diff --git a/docs/devel/development.rst b/docs/devel/development.rst index 9ac68ecdb..c26eac102 100644 --- a/docs/devel/development.rst +++ b/docs/devel/development.rst @@ -5,23 +5,24 @@ Development Useful Resources ================ -IRC channels on chat.freenode.net (quick communication and discussion): - -* #moin-dev (core development topics) -* #moin (user support, extensions) - -Wikis: - -* https://moinmo.in/ (production wiki, using moin 1.9) +If you have any questions about MoinWiki you can use the following resources: Documentation (installation, configuration, user docs, api reference): * https://moin-20.readthedocs.io/en/latest/ -Repository, Issue tracker (bugs, proposals, todo), Code Review, etc.: +Repository, Issue tracker (bugs, proposals, todo), Code Review, Discussions, etc.: * https://github.com/moinwiki/moin +Wiki: + +* https://moinmo.in/MoinMoin2.0 (production wiki, using moin 1.9) + +IRC channel on libera.chat (quick communication and discussion): + +* #moin (Web Chat: https://web.libera.chat/?#moin) + Requirements for development ============================ @@ -44,7 +45,7 @@ You can also find GUI clients there. Typical development workflow ============================ -This is the typical workflow for anyone that wants to contribute to the development of Moin2. +This is the typical workflow for anyone who wants to contribute to the development of Moin2. create your development environment ----------------------------------- diff --git a/pyproject.toml b/pyproject.toml index 906a9ce23..e13a1c78b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ maintainers = [ {name="Thomas Waldmann", email="tw@waldmann-edv.de"}, ] description = "MoinMoin is an easy to use, full-featured and extensible wiki software package" -readme = {file="README.rst", content-type="text/x-rst"} +readme = {file="README.md", content-type="text/markdown"} requires-python = ">=3.9" keywords = ["wiki", "web"] classifiers = [