Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement a new plugin manager from scratch to replace Yapsy and add Python 3.12 support (Fix #3719, Fix #3725) #3728

Merged
merged 15 commits into from
Jan 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading