2014-05-26 12:32:05 +02:00
|
|
|
Filing issues
|
2015-01-05 12:36:35 +01:00
|
|
|
=============
|
2014-05-26 12:32:05 +02:00
|
|
|
|
|
|
|
|
* Before you file an issue, try `asking for help`_ first.
|
2014-06-30 18:42:27 -07:00
|
|
|
* If determined to file an issue, first check for `existing issues`_, including
|
|
|
|
|
closed issues.
|
2014-05-26 12:32:05 +02:00
|
|
|
|
|
|
|
|
.. _`asking for help`: `How to get help`_
|
|
|
|
|
.. _`existing issues`: https://github.com/getpelican/pelican/issues
|
|
|
|
|
|
|
|
|
|
How to get help
|
2015-01-05 12:36:35 +01:00
|
|
|
===============
|
2014-05-26 12:32:05 +02:00
|
|
|
|
|
|
|
|
Before you ask for help, please make sure you do the following:
|
|
|
|
|
|
|
|
|
|
1. Read the documentation_ thoroughly. If in a hurry, at least use the search
|
2016-04-12 22:48:04 +02:00
|
|
|
field that is provided at top-left on the documentation_ pages. Make sure
|
2014-05-26 12:32:05 +02:00
|
|
|
you read the docs for the Pelican version you are using.
|
|
|
|
|
2. Use a search engine (e.g., DuckDuckGo, Google) to search for a solution to
|
|
|
|
|
your problem. Someone may have already found a solution, perhaps in the
|
|
|
|
|
form of a plugin_ or a specific combination of settings.
|
|
|
|
|
|
|
|
|
|
3. Try reproducing the issue in a clean environment, ensuring you are using:
|
|
|
|
|
|
2019-11-12 14:20:50 -08:00
|
|
|
* latest Pelican release (or an up-to-date Git clone of Pelican master)
|
2014-05-26 12:32:05 +02:00
|
|
|
* latest releases of libraries used by Pelican
|
|
|
|
|
* no plugins or only those related to the issue
|
|
|
|
|
|
2014-06-30 18:42:27 -07:00
|
|
|
**NOTE:** The most common sources of problems are anomalies in (1) themes,
|
2018-06-18 00:38:23 +02:00
|
|
|
(2) settings files, and (3) ``make``/``invoke`` automation wrappers. If you can't
|
2014-06-30 18:42:27 -07:00
|
|
|
reproduce your problem when using the following steps to generate your site,
|
|
|
|
|
then the problem is almost certainly with your chosen theme and/or settings
|
|
|
|
|
file (and not Pelican itself)::
|
|
|
|
|
|
|
|
|
|
cd ~/projects/your-site
|
|
|
|
|
git clone https://github.com/getpelican/pelican ~/projects/pelican
|
|
|
|
|
pelican content -s ~/projects/pelican/samples/pelican.conf.py -t ~/projects/pelican/pelican/themes/notmyidea
|
|
|
|
|
|
2014-05-26 12:32:05 +02:00
|
|
|
If despite the above efforts you still cannot resolve your problem, be sure to
|
2014-06-30 18:42:27 -07:00
|
|
|
include in your inquiry the following information, preferably in the form of
|
|
|
|
|
links to content uploaded to a `paste service`_, GitHub repository, or other
|
2014-05-26 12:32:05 +02:00
|
|
|
publicly-accessible location:
|
|
|
|
|
|
|
|
|
|
* Describe what version of Pelican you are running (output of ``pelican --version``
|
|
|
|
|
or the HEAD commit hash if you cloned the repo) and how exactly you installed
|
|
|
|
|
it (the full command you used, e.g. ``pip install pelican``).
|
|
|
|
|
* If you are looking for a way to get some end result, prepare a detailed
|
|
|
|
|
description of what the end result should look like (preferably in the form of
|
2014-06-30 18:42:27 -07:00
|
|
|
an image or a mock-up page) and explain in detail what you have done so far to
|
|
|
|
|
achieve it.
|
2014-05-26 12:32:05 +02:00
|
|
|
* If you are trying to solve some issue, prepare a detailed description of how
|
|
|
|
|
to reproduce the problem. If the issue cannot be easily reproduced, it cannot
|
|
|
|
|
be debugged by developers or volunteers. Describe only the **minimum steps**
|
|
|
|
|
necessary to reproduce it (no extra plugins, etc.).
|
|
|
|
|
* Upload your settings file or any other custom code that would enable people to
|
|
|
|
|
reproduce the problem or to see what you have already tried to achieve the
|
|
|
|
|
desired end result.
|
|
|
|
|
* Upload detailed and **complete** output logs and backtraces (remember to add
|
|
|
|
|
the ``--debug`` flag: ``pelican --debug content [...]``)
|
|
|
|
|
|
2019-04-25 15:08:04 +02:00
|
|
|
.. _documentation: https://docs.getpelican.com/
|
2014-05-26 12:32:05 +02:00
|
|
|
.. _`paste service`: https://dpaste.de/
|
|
|
|
|
|
|
|
|
|
Once the above preparation is ready, you can contact people willing to help via
|
|
|
|
|
(preferably) the ``#pelican`` IRC channel or send a message to ``authors at getpelican dot com``.
|
|
|
|
|
Remember to include all the information you prepared.
|
|
|
|
|
|
|
|
|
|
The #pelican IRC channel
|
2015-01-05 12:36:35 +01:00
|
|
|
------------------------
|
2014-05-26 12:32:05 +02:00
|
|
|
|
|
|
|
|
* Because of differing time zones, you may not get an immediate response to your
|
|
|
|
|
question, but please be patient and stay logged into IRC — someone will almost
|
|
|
|
|
always respond if you wait long enough (it may take a few hours).
|
2019-11-12 14:20:50 -08:00
|
|
|
* If you don't have an IRC client handy, use the webchat_.
|
2014-05-26 12:32:05 +02:00
|
|
|
* You can direct your IRC client to the channel using this `IRC link`_ or you
|
|
|
|
|
can manually join the ``#pelican`` IRC channel on the `freenode IRC network`_.
|
|
|
|
|
|
2014-06-30 18:48:46 -07:00
|
|
|
.. _webchat: https://kiwiirc.com/client/irc.freenode.net/?#pelican
|
2017-10-16 14:02:54 +02:00
|
|
|
.. _`IRC link`: irc://irc.freenode.net/pelican
|
|
|
|
|
.. _`freenode IRC network`: https://freenode.net/
|
2014-05-26 12:32:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
Contributing code
|
2015-01-05 12:36:35 +01:00
|
|
|
=================
|
2014-05-26 12:32:05 +02:00
|
|
|
|
|
|
|
|
Before you submit a contribution, please ask whether it is desired so that you
|
|
|
|
|
don't spend a lot of time working on something that would be rejected for a
|
|
|
|
|
known reason. Consider also whether your new feature might be better suited as
|
|
|
|
|
a plugin_ — you can `ask for help`_ to make that determination.
|
|
|
|
|
|
|
|
|
|
Using Git and GitHub
|
2015-01-05 12:36:35 +01:00
|
|
|
--------------------
|
2013-04-13 16:55:13 -07:00
|
|
|
|
|
|
|
|
* `Create a new git branch`_ specific to your change (as opposed to making
|
|
|
|
|
your commits in the master branch).
|
2014-05-26 12:32:05 +02:00
|
|
|
* **Don't put multiple unrelated fixes/features in the same branch / pull request.**
|
2019-11-12 14:20:50 -08:00
|
|
|
For example, if you're working on a new feature and find a bugfix that
|
2013-04-13 16:55:13 -07:00
|
|
|
doesn't *require* your new feature, **make a new distinct branch and pull
|
|
|
|
|
request** for the bugfix.
|
2019-07-28 07:15:48 +02:00
|
|
|
* Add a ``RELEASE.md`` file in the root of the project that contains the
|
|
|
|
|
release type (major, minor, patch) and a summary of the changes that will be
|
|
|
|
|
used as the release changelog entry. For example::
|
|
|
|
|
|
|
|
|
|
Release type: minor
|
|
|
|
|
|
|
|
|
|
Reload browser window upon changes to content, settings, or theme
|
|
|
|
|
|
2013-04-13 16:55:13 -07:00
|
|
|
* Check for unnecessary whitespace via ``git diff --check`` before committing.
|
|
|
|
|
* First line of your commit message should start with present-tense verb, be 50
|
|
|
|
|
characters or less, and include the relevant issue number(s) if applicable.
|
|
|
|
|
*Example:* ``Ensure proper PLUGIN_PATH behavior. Refs #428.`` If the commit
|
|
|
|
|
*completely fixes* an existing bug report, please use ``Fixes #585`` or ``Fix
|
|
|
|
|
#585`` syntax (so the relevant issue is automatically closed upon PR merge).
|
2013-04-14 07:57:13 -07:00
|
|
|
* After the first line of the commit message, add a blank line and then a more
|
2013-04-13 16:55:13 -07:00
|
|
|
detailed explanation (when relevant).
|
2014-02-14 14:37:54 -08:00
|
|
|
* `Squash your commits`_ to eliminate merge commits and ensure a clean and
|
|
|
|
|
readable commit history.
|
2013-04-14 07:57:13 -07:00
|
|
|
* If you have previously filed a GitHub issue and want to contribute code that
|
|
|
|
|
addresses that issue, **please use** ``hub pull-request`` instead of using
|
|
|
|
|
GitHub's web UI to submit the pull request. This isn't an absolute
|
|
|
|
|
requirement, but makes the maintainers' lives much easier! Specifically:
|
2014-02-14 14:37:54 -08:00
|
|
|
`install hub <https://github.com/github/hub/#installation>`_ and then run
|
2019-11-12 14:13:43 -08:00
|
|
|
`hub pull-request -i [ISSUE] <https://hub.github.com/hub-pull-request.1.html>`_
|
|
|
|
|
to turn your GitHub issue into a pull request containing your code.
|
|
|
|
|
* After you have issued a pull request, the continuous integration (CI) system
|
|
|
|
|
will run the test suite for all supported Python versions and check for PEP8
|
|
|
|
|
compliance. If any of these checks fail, you should fix them. (If tests fail
|
|
|
|
|
on the CI system but seem to pass locally, ensure that local test runs aren't
|
|
|
|
|
skipping any tests.)
|
2013-04-13 16:55:13 -07:00
|
|
|
|
2014-05-26 12:32:05 +02:00
|
|
|
Contribution quality standards
|
2015-01-05 12:36:35 +01:00
|
|
|
------------------------------
|
2014-05-26 12:32:05 +02:00
|
|
|
|
2018-06-21 15:03:00 +02:00
|
|
|
* Adhere to `PEP8 coding standards`_. This can be eased via the `pycodestyle
|
|
|
|
|
<https://pypi.org/project/pycodestyle>`_ or `flake8
|
2019-04-25 15:08:04 +02:00
|
|
|
<https://pypi.org/project/flake8/>`_ tools, the latter of which in
|
2014-05-26 12:32:05 +02:00
|
|
|
particular will give you some useful hints about ways in which the
|
2020-04-27 09:44:09 +02:00
|
|
|
code/formatting can be improved. We try to keep line length within the
|
|
|
|
|
79-character maximum specified by PEP8. Because that can sometimes compromise
|
|
|
|
|
readability, the hard/enforced maximum is 88 characters.
|
2019-11-09 09:43:55 -08:00
|
|
|
* Ensure your code is compatible with the `officially-supported Python releases`_.
|
2014-05-26 12:32:05 +02:00
|
|
|
* Add docs and tests for your changes. Undocumented and untested features will
|
|
|
|
|
not be accepted.
|
|
|
|
|
* `Run all the tests`_ **on all versions of Python supported by Pelican** to
|
|
|
|
|
ensure nothing was accidentally broken.
|
|
|
|
|
|
|
|
|
|
Check out our `Git Tips`_ page or `ask for help`_ if you
|
2013-04-13 16:55:13 -07:00
|
|
|
need assistance or have any questions about these guidelines.
|
|
|
|
|
|
2019-04-25 15:08:04 +02:00
|
|
|
.. _`plugin`: https://docs.getpelican.com/en/latest/plugins.html
|
|
|
|
|
.. _`#pelican IRC channel`: https://webchat.freenode.net/?channels=pelican&uio=d4
|
2013-04-13 16:55:13 -07:00
|
|
|
.. _`Create a new git branch`: https://github.com/getpelican/pelican/wiki/Git-Tips#making-your-changes
|
2014-02-14 14:37:54 -08:00
|
|
|
.. _`Squash your commits`: https://github.com/getpelican/pelican/wiki/Git-Tips#squashing-commits
|
2019-04-25 15:08:04 +02:00
|
|
|
.. _`Run all the tests`: https://docs.getpelican.com/en/latest/contribute.html#running-the-test-suite
|
2013-04-13 16:55:13 -07:00
|
|
|
.. _`Git Tips`: https://github.com/getpelican/pelican/wiki/Git-Tips
|
2019-04-25 15:08:04 +02:00
|
|
|
.. _`PEP8 coding standards`: https://www.python.org/dev/peps/pep-0008/
|
2014-05-26 12:32:05 +02:00
|
|
|
.. _`ask for help`: `How to get help`_
|
2019-11-09 09:43:55 -08:00
|
|
|
.. _`officially-supported Python releases`: https://devguide.python.org/#status-of-python-branches
|