aboutsummaryrefslogtreecommitdiffstats
path: root/docs/internals.txt
diff options
context:
space:
mode:
authorLibravatarAgustin Henze <tin@sluc.org.ar>2015-07-08 07:35:02 -0300
committerLibravatarAgustin Henze <tin@sluc.org.ar>2015-07-08 07:35:02 -0300
commitb0b24795b24ee6809397fbbadf42f31f310a219f (patch)
tree46d05bb47460b4ec679211717c4ab07414b80d9c /docs/internals.txt
parent5ec02211214350ee558fd9f6bb052264fd24f75e (diff)
Imported Upstream version 7.6.0upstream/7.6.0
Diffstat (limited to 'docs/internals.txt')
-rw-r--r--docs/internals.txt20
1 files changed, 11 insertions, 9 deletions
diff --git a/docs/internals.txt b/docs/internals.txt
index a025075..448a6f7 100644
--- a/docs/internals.txt
+++ b/docs/internals.txt
@@ -26,7 +26,7 @@ Nikola is a Pile of Plugins
There are several kinds of plugins, all implementing interfaces defined in
``nikola/plugin_categories.py`` and documented in
- `Extending Nikola <http://getnikola.com/extending.html>`_
+ `Extending Nikola <https://getnikola.com/extending.html>`_
If your plugin has a dependency, please make sure it doesn't make Nikola
throw an exception when the dependency is missing. Try to fail gracefully
@@ -95,17 +95,14 @@ posts are added into RSS feeds and stories are not. All of them are in a list ca
"the timeline" formed by objects of class ``Post``.
When you are creating a task that needs the list of posts and/or stories (for example,
-the RSS creation plugin), your plugin should call ``self.site.scan_posts()`` to ensure
-the timeline is created and available in ``self.site.timeline``. You should not modify
-the timeline, because it will cause consistency issues.
+the RSS creation plugin) on task execution time, your plugin should call ``self.site.scan_posts()``
+in ``gen_tasks`` to ensure the timeline is created and available in
+``self.site.timeline``. You should not modify the timeline, because it will cause consistency issues.
.. sidebar:: scan_posts
- The scan_posts function is what reads your site and creates the timeline.
-
- I am considering moving scan_posts off the core and into its own plugin
- so it can be replaced (for example, by a version that reads a database
- instead of scanning a folder tree).
+ The ``Nikola.scan_posts`` function can be used in plugins to force the
+ timeline creation, for example, while creating the tasks.
Your plugin can use the timeline to generate "stuff" (technical term). For example,
Nikola comes with plugins that use the timeline to create a website (surprised?).
@@ -140,3 +137,8 @@ themes
To change how the generated site looks, you can create custom themes.
And of course, you can also replace or extend each of the existing plugins.
+
+Nikola Architecture
+===================
+
+.. thumbnail:: https://getnikola.com/images/architecture.png