From 9b0e86a8e74768c4fe848fb5ce8d754292db4e3e Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Tue, 23 Apr 2024 00:37:58 -0400 Subject: New upstream version 8.3.0. --- docs/internals.rst | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'docs/internals.rst') diff --git a/docs/internals.rst b/docs/internals.rst index 6b49e92..a3b7af2 100644 --- a/docs/internals.rst +++ b/docs/internals.rst @@ -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 `_. + 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. @@ -44,7 +44,7 @@ The Build Command Nikola's goal is similar, deep at heart, to a Makefile. Take sources, compile them into something, in this case a website. Instead of a Makefile, Nikola uses -`doit `_ +`doit `_. Doit has the concept of "tasks". The 1 minute summary of tasks is that they have: @@ -64,7 +64,11 @@ basename:name .. sidebar:: More about tasks If you ever want to do your own tasks, you really should read the doit - `documentation on tasks `_ + `documentation on tasks `_. + + Notably, by default doit redirects ``stdout`` and ``stderr``. To get a + proper PDB debugging shell, you need to use doit's own + `set_trace `_ function. So, what Nikola does, when you use the build command, is to read the configuration ``conf.py`` from the current folder, instantiate -- cgit v1.2.3