aboutsummaryrefslogtreecommitdiffstats
path: root/docs/internals.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/internals.rst')
-rw-r--r--docs/internals.rst10
1 files changed, 7 insertions, 3 deletions
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 <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.
@@ -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 <https://pydoit.org>`_
+`doit <https://pydoit.org>`_.
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 <https://pydoit.org/tasks.html>`_
+ `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.
So, what Nikola does, when you use the build command, is to read the
configuration ``conf.py`` from the current folder, instantiate