Skip to content

Commit

Permalink
Merge pull request #1843 from UlrichB22/contrib
Browse files Browse the repository at this point in the history
Rename and update README, add CONTRIBUTING.md
  • Loading branch information
RogerHaase authored Feb 26, 2025
2 parents 76c451f + 1705080 commit ae7df14
Show file tree
Hide file tree
Showing 5 changed files with 160 additions and 58 deletions.
95 changes: 95 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -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.
53 changes: 53 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
MoinMoin - a lightweight open source wiki engine
================================================

<img src="src/moin/static/logos/moinmoin.svg" alt="MoinMoin Logo" width="120" align="right">

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).
47 changes: 0 additions & 47 deletions README.rst

This file was deleted.

21 changes: 11 additions & 10 deletions docs/devel/development.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
============================
Expand All @@ -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
-----------------------------------
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ maintainers = [
{name="Thomas Waldmann", email="[email protected]"},
]
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 = [
Expand Down

0 comments on commit ae7df14

Please sign in to comment.