mirror of
https://github.com/evennia/evennia.git
synced 2026-03-18 13:56:30 +01:00
233 lines
No EOL
15 KiB
HTML
233 lines
No EOL
15 KiB
HTML
|
||
<!DOCTYPE html>
|
||
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||
|
||
<title>Contributing — Evennia 0.9.5 documentation</title>
|
||
<link rel="stylesheet" href="_static/nature.css" type="text/css" />
|
||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||
<script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
|
||
<script src="_static/jquery.js"></script>
|
||
<script src="_static/underscore.js"></script>
|
||
<script src="_static/doctools.js"></script>
|
||
<script src="_static/language_data.js"></script>
|
||
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
||
<script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"processClass": "tex2jax_process|mathjax_process|math|output_area"}})</script>
|
||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||
<link rel="index" title="Index" href="genindex.html" />
|
||
<link rel="search" title="Search" href="search.html" />
|
||
</head><body>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="genindex.html" title="General Index"
|
||
accesskey="I">index</a></li>
|
||
<li class="right" >
|
||
<a href="py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="index.html">Evennia 0.9.5</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">Contributing</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
<div class="body" role="main">
|
||
|
||
<section class="tex2jax_ignore mathjax_ignore" id="contributing">
|
||
<h1>Contributing<a class="headerlink" href="#contributing" title="Permalink to this headline">¶</a></h1>
|
||
<p>Wanna help out? Great! Here’s how.</p>
|
||
<section id="spreading-the-word">
|
||
<h2>Spreading the word<a class="headerlink" href="#spreading-the-word" title="Permalink to this headline">¶</a></h2>
|
||
<p>Even if you are not keen on working on the server code yourself, just spreading the word is a big
|
||
help - it will help attract more people which leads to more feedback, motivation and interest.
|
||
Consider writing about Evennia on your blog or in your favorite (relevant) forum. Write a review
|
||
somewhere (good or bad, we like feedback either way). Rate it on places like <a class="reference external" href="http://www.ohloh.net/p/evennia">ohloh</a>. Talk
|
||
about it to your friends … that kind of thing.</p>
|
||
</section>
|
||
<section id="donations">
|
||
<h2>Donations<a class="headerlink" href="#donations" title="Permalink to this headline">¶</a></h2>
|
||
<p>The best way to support Evennia is to become an <a class="reference external" href="https://www.patreon.com/griatch">Evennia patron</a>. Evennia is a free,
|
||
open-source project and any monetary donations you want to offer are completely voluntary. See it as
|
||
a way of announcing that you appreciate the work done - a tip of the hat! A patron donates a
|
||
(usually small) sum every month to show continued support. If this is not your thing you can also
|
||
show your appreciation via a <a class="reference external" href="https://www.paypal.com/en/cgi-bin/webscr?cmd=_flow&SESSION=TWy_epDPSWqNr4UJCOtVWxl-">one-time donation</a> (this is a PayPal link but you don’t need
|
||
PayPal yourself).</p>
|
||
</section>
|
||
<section id="help-with-documentation">
|
||
<h2>Help with Documentation<a class="headerlink" href="#help-with-documentation" title="Permalink to this headline">¶</a></h2>
|
||
<p>Evennia depends heavily on good documentation and we are always looking for extra eyes and hands to
|
||
improve it. Even small things such as fixing typos are a great help!</p>
|
||
<p>The documentation is a wiki and as long as you have a GitHub account you can edit it. It can be a
|
||
good idea to discuss in the chat or forums if you want to add new pages/tutorials. Otherwise, it
|
||
goes a long way just pointing out wiki errors so we can fix them (in an Issue or just over
|
||
chat/forum).</p>
|
||
</section>
|
||
<section id="contributing-through-a-forked-repository">
|
||
<h2>Contributing through a forked repository<a class="headerlink" href="#contributing-through-a-forked-repository" title="Permalink to this headline">¶</a></h2>
|
||
<p>We always need more eyes and hands on the code. Even if you don’t feel confident with tackling a
|
||
[bug or feature][issues], just correcting typos, adjusting formatting or simply <em>using</em> the thing
|
||
and reporting when stuff doesn’t make sense helps us a lot.</p>
|
||
<p>The most elegant way to contribute code to Evennia is to use GitHub to create a <em>fork</em> of the
|
||
Evennia repository and make your changes to that. Refer to the [Forking Evennia](Version-
|
||
Control#forking-evennia) version
|
||
control instructions for detailed instructions.</p>
|
||
<p>Once you have a fork set up, you can not only work on your own game in a separate branch, you can
|
||
also commit your fixes to Evennia itself. Make separate branches for all Evennia additions you do -
|
||
don’t edit your local <code class="docutils literal notranslate"><span class="pre">master</span></code> or <code class="docutils literal notranslate"><span class="pre">develop</span></code> branches directly. It will make your life a lot easier.
|
||
If you have a change that you think is suitable for the main Evennia repository, you issue a [Pull
|
||
Request][pullrequest]. This will let Evennia devs know you have stuff to share. Bug fixes should
|
||
generally be done against the <code class="docutils literal notranslate"><span class="pre">master</span></code> branch of Evennia, while new features/contribs should go into
|
||
the <code class="docutils literal notranslate"><span class="pre">develop</span></code> branch. If you are unsure, just pick one and we’ll figure it out.</p>
|
||
</section>
|
||
<section id="contributing-with-patches">
|
||
<h2>Contributing with Patches<a class="headerlink" href="#contributing-with-patches" title="Permalink to this headline">¶</a></h2>
|
||
<p>To help with Evennia development it’s recommended to do so using a fork repository as described
|
||
above. But for small, well isolated fixes you are also welcome to submit your suggested Evennia
|
||
fixes/addendums as a [patch][patch].</p>
|
||
<p>You can include your patch in an Issue or a Mailing list post. Please avoid pasting the full patch
|
||
text directly in your post though, best is to use a site like <a class="reference external" href="http://pastebin.com/">Pastebin</a> and
|
||
just supply the link.</p>
|
||
</section>
|
||
<section id="contributing-with-contribs">
|
||
<h2>Contributing with Contribs<a class="headerlink" href="#contributing-with-contribs" title="Permalink to this headline">¶</a></h2>
|
||
<p>While Evennia’s core is pretty much game-agnostic, it also has a <code class="docutils literal notranslate"><span class="pre">contrib/</span></code> directory. The <code class="docutils literal notranslate"><span class="pre">contrib</span></code>
|
||
directory contains game systems that are specialized or useful only to certain types of games. Users
|
||
are welcome to contribute to the <code class="docutils literal notranslate"><span class="pre">contrib/</span></code> directory. Such contributions should always happen via a
|
||
Forked repository as described above.</p>
|
||
<ul class="simple">
|
||
<li><p>If you are unsure if your idea/code is suitable as a contrib, <em>ask the devs before putting any
|
||
work into it</em>. This can also be a good idea in order to not duplicate efforts. This can also act as
|
||
a check that your implementation idea is sound. We are, for example, unlikely to accept contribs
|
||
that require large modifications of the game directory structure.</p></li>
|
||
<li><p>If your code is intended <em>primarily</em> as an example or shows a concept/principle rather than a
|
||
working system, it is probably not suitable for <code class="docutils literal notranslate"><span class="pre">contrib/</span></code>. You are instead welcome to use it as
|
||
part of a [new tutorial][tutorials]!</p></li>
|
||
<li><p>The code should ideally be contained within a single Python module. But if the contribution is
|
||
large this may not be practical and it should instead be grouped in its own subdirectory (not as
|
||
loose modules).</p></li>
|
||
<li><p>The contribution should preferably be isolated (only make use of core Evennia) so it can easily be
|
||
dropped into use. If it does depend on other contribs or third-party modules, these must be clearly
|
||
documented and part of the installation instructions.</p></li>
|
||
<li><p>The code itself should follow Evennia’s [Code style guidelines][codestyle].</p></li>
|
||
<li><p>The code must be well documented as described in our <a class="reference external" href="https://github.com/evennia/evennia/blob/master/CODING_STYLE.md#doc-strings">documentation style
|
||
guide</a>. Expect that your
|
||
code will be read and should be possible to understand by others. Include comments as well as a
|
||
header in all modules. If a single file, the header should include info about how to include the
|
||
contrib in a game (installation instructions). If stored in a subdirectory, this info should go into
|
||
a new <code class="docutils literal notranslate"><span class="pre">README.md</span></code> file within that directory.</p></li>
|
||
<li><p>Within reason, your contribution should be designed as genre-agnostic as possible. Limit the
|
||
amount of game-style-specific code. Assume your code will be applied to a very different game than
|
||
you had in mind when creating it.</p></li>
|
||
<li><p>To make the licensing situation clear we assume all contributions are released with the same
|
||
<a class="reference internal" href="Licensing.html"><span class="doc std std-doc">license as Evennia</span></a>. If this is not possible for some reason, talk to us and we’ll
|
||
handle it on a case-by-case basis.</p></li>
|
||
<li><p>Your contribution must be covered by <a class="reference internal" href="Unit-Testing.html"><span class="doc std std-doc">unit tests</span></a>. Having unit tests will both help
|
||
make your code more stable and make sure small changes does not break it without it being noticed,
|
||
it will also help us test its functionality and merge it quicker. If your contribution is a single
|
||
module, you can add your unit tests to <code class="docutils literal notranslate"><span class="pre">evennia/contribs/tests.py</span></code>. If your contribution is bigger
|
||
and in its own sub-directory you could just put the tests in your own <code class="docutils literal notranslate"><span class="pre">tests.py</span></code> file (Evennia will
|
||
find it automatically).</p></li>
|
||
<li><p>Merging of your code into Evennia is not guaranteed. Be ready to receive feedback and to be asked
|
||
to make corrections or fix bugs. Furthermore, merging a contrib means the Evennia project takes on
|
||
the responsibility of maintaining and supporting it. For various reasons this may be deemed to be
|
||
beyond our manpower. However, if your code were to <em>not</em> be accepted for merger for some reason, we
|
||
will instead add a link to your online repository so people can still find and use your work if they
|
||
want.</p></li>
|
||
</ul>
|
||
<p>pO1X1jbKiv_-
|
||
UBBFWIuVDEZxC0M_2pM6ywO&dispatch=5885d80a13c0db1f8e263663d3faee8d66f31424b43e9a70645c907a6cbd8fb4
|
||
[forking]: <a class="reference external" href="https://github.com/evennia/evennia/wiki/Version-Control#wiki-forking-from-evennia">https://github.com/evennia/evennia/wiki/Version-Control#wiki-forking-from-evennia</a>
|
||
[pullrequest]: <a class="reference external" href="https://github.com/evennia/evennia/pulls">https://github.com/evennia/evennia/pulls</a>
|
||
[issues]: <a class="reference external" href="https://github.com/evennia/evennia/issues">https://github.com/evennia/evennia/issues</a>
|
||
[patch]: <a class="reference external" href="https://secure.wikimedia.org/wikipedia/en/wiki/Patch_%28computing%29">https://secure.wikimedia.org/wikipedia/en/wiki/Patch_(computing)</a>
|
||
[codestyle]: <a class="reference external" href="https://github.com/evennia/evennia/blob/master/CODING_STYLE.md">https://github.com/evennia/evennia/blob/master/CODING_STYLE.md</a>
|
||
[tutorials]: <a class="reference external" href="https://github.com/evennia/evennia/wiki/Tutorials">https://github.com/evennia/evennia/wiki/Tutorials</a></p>
|
||
</section>
|
||
</section>
|
||
|
||
|
||
<div class="clearer"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||
<div class="sphinxsidebarwrapper">
|
||
<p class="logo"><a href="index.html">
|
||
<img class="logo" src="_static/evennia_logo.png" alt="Logo"/>
|
||
</a></p>
|
||
<div id="searchbox" style="display: none" role="search">
|
||
<h3 id="searchlabel">Quick search</h3>
|
||
<div class="searchformwrapper">
|
||
<form class="search" action="search.html" method="get">
|
||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||
<input type="submit" value="Go" />
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<script>$('#searchbox').show(0);</script>
|
||
<p><h3><a href="index.html">Table of Contents</a></h3>
|
||
<ul>
|
||
<li><a class="reference internal" href="#">Contributing</a><ul>
|
||
<li><a class="reference internal" href="#spreading-the-word">Spreading the word</a></li>
|
||
<li><a class="reference internal" href="#donations">Donations</a></li>
|
||
<li><a class="reference internal" href="#help-with-documentation">Help with Documentation</a></li>
|
||
<li><a class="reference internal" href="#contributing-through-a-forked-repository">Contributing through a forked repository</a></li>
|
||
<li><a class="reference internal" href="#contributing-with-patches">Contributing with Patches</a></li>
|
||
<li><a class="reference internal" href="#contributing-with-contribs">Contributing with Contribs</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
|
||
<div role="note" aria-label="source link">
|
||
<!--h3>This Page</h3-->
|
||
<ul class="this-page-menu">
|
||
<li><a href="_sources/Contributing.md.txt"
|
||
rel="nofollow">Show Page Source</a></li>
|
||
</ul>
|
||
</div><h3>Links</h3>
|
||
<ul>
|
||
<li><a href="https://www.evennia.com">Home page</a> </li>
|
||
<li><a href="https://github.com/evennia/evennia">Evennia Github</a> </li>
|
||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||
<li><a href="http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb">IRC</a> -
|
||
<a href="https://discord.gg/NecFePw">Discord</a> -
|
||
<a href="https://groups.google.com/forum/#%21forum/evennia">Forums</a>
|
||
</li>
|
||
<li><a href="http://evennia.blogspot.com/">Evennia Dev blog</a> </li>
|
||
</ul>
|
||
<h3>Versions</h3>
|
||
<ul>
|
||
<li><a href="../1.0-dev/Contributing.html">1.0-dev (develop branch)</a></li>
|
||
<li><a href="Contributing.html">0.9.5 (v0.9.5 branch)</a></li>
|
||
</ul>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="genindex.html" title="General Index"
|
||
>index</a></li>
|
||
<li class="right" >
|
||
<a href="py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="index.html">Evennia 0.9.5</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">Contributing</a></li>
|
||
</ul>
|
||
</div>
|
||
<div class="footer" role="contentinfo">
|
||
© Copyright 2020, The Evennia developer community.
|
||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||
</div>
|
||
</body>
|
||
</html> |