diff options
| author | 2015-07-08 07:35:02 -0300 | |
|---|---|---|
| committer | 2015-07-08 07:35:02 -0300 | |
| commit | b0b24795b24ee6809397fbbadf42f31f310a219f (patch) | |
| tree | 46d05bb47460b4ec679211717c4ab07414b80d9c /docs/internals.txt | |
| parent | 5ec02211214350ee558fd9f6bb052264fd24f75e (diff) | |
Imported Upstream version 7.6.0upstream/7.6.0
Diffstat (limited to 'docs/internals.txt')
| -rw-r--r-- | docs/internals.txt | 20 |
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 |
