Skip to content

Commit

Permalink
Implement a new plugin manager from scratch to replace Yapsy and add …
Browse files Browse the repository at this point in the history
…Python 3.12 support (Fix #3719, Fix #3725) (#3728)
  • Loading branch information
Kwpolska committed Jan 7, 2024
1 parent b28c2bc commit f80fc97
Show file tree
Hide file tree
Showing 41 changed files with 733 additions and 201 deletions.
9 changes: 5 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ jobs:
strategy:
fail-fast: false
matrix:
python: ['3.7', '3.8', '3.9', '3.10', '3.11']
python: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
image:
- ubuntu-latest
include:
- python: '3.11'
- python: '3.12'
image: macos-latest
- python: '3.11'
- python: '3.12'
image: windows-latest
runs-on: '${{ matrix.image }}'
steps:
Expand Down Expand Up @@ -84,7 +84,7 @@ jobs:
strategy:
matrix:
python:
- '3.11'
- '3.12'
runs-on: ubuntu-latest
steps:
- name: Check out code
Expand Down Expand Up @@ -112,6 +112,7 @@ jobs:
matrix:
python:
- '3.11'
- '3.12'
runs-on: ubuntu-latest
steps:
- name: Check out code
Expand Down
13 changes: 13 additions & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,31 @@ New in master
Features
--------

* Implement a new plugin manager from scratch to replace Yapsy,
which does not work on Python 3.12 due to Python 3.12 carelessly
removing parts of the standard library (Issue #3719)
* Support for Discourse as comment system (Issue #3689)

Bugfixes
--------

* Fix loading of templates from plugins with ``__init__.py`` files
(Issue #3725)
* Fix margins of paragraphs at the end of sections (Issue #3704)
* Ignore ``.DS_Store`` files in listing indexes (Issue #3698)
* Fix baguetteBox.js invoking in the base theme (Issue #3687)
* Fix development (preview) server `nikola auto`
for non-root SITE_URL, in particular when URL_TYPE is full_path.
(Issue #3715)

For plugin developers
---------------------

Nikola now requires the ``.plugin`` file to contain a ``[Nikola]``
section with a ``PluginCategory`` entry set to the name of the plugin
category class. This was already required by ``plugins.getnikola.com``,
but you may have custom plugins that don’t have this set.

New in v8.2.4
=============

Expand Down
4 changes: 2 additions & 2 deletions docs/internals.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ So, this is a short document explaining what each piece of Nikola does and
how it all fits together.

Nikola is a Pile of Plugins
Most of Nikola is implemented as plugins using `Yapsy <http://yapsy.sourceforge.net/>`_.
Most of Nikola is implemented as plugins (using a custom plugin manager inspired by Yapsy).
You can ignore that they are plugins and just think of them as regular python
modules and packages with a funny little ``.plugin`` file next to them.

Expand Down Expand Up @@ -65,7 +65,7 @@ basename:name

If you ever want to do your own tasks, you really should read the doit
`documentation on tasks <https://pydoit.org/tasks.html>`_.

Notably, by default doit redirects ``stdout`` and ``stderr``. To get a
proper PDB debugging shell, you need to use doit's own
`set_trace <https://pydoit.org/tools.html#set-trace>`_ function.
Expand Down

0 comments on commit f80fc97

Please sign in to comment.