[pluginlist-update] Basically finishing tags templates, tweaking other plugin templates, starting to add content, tweaking content in plugin docs pages.

This commit is contained in:
Joseph Nix 2018-05-05 01:34:17 -05:00
parent 8a7393715a
commit 13a290aff5
11 changed files with 73 additions and 28 deletions

View File

@ -10,19 +10,9 @@ Lektor can be extended through the use of plugins. This is something that
can be done on a per-project basis. This gives a quick overview of how can be done on a per-project basis. This gives a quick overview of how
to use plugins and how to build your own. to use plugins and how to build your own.
## Loading Plugins ## Installing Published Plugins
Plugins can be added to a Lektor project in two different ways:
1. Plugins can be added to the `[packages]` section of the project. In that
case Lektor will automatically download and enable the plugin next time
you build the project or run the server.
2. Plugins can be added to the `packages/` folder in your project. Each
plugin has to go into a separate folder. This method is especially useful
for project specific plugins or for plugin development.
## Installing Plugins
Lektor can find and install plugins that have been published to [PyPI :ext](https://pypi.org/) fo you.
For completely automated plugin management just open your project file in a For completely automated plugin management just open your project file in a
text editor and edit or extend the `[packages]` section. Just add a line text editor and edit or extend the `[packages]` section. Just add a line
for each plugin in the form `name = version`: for each plugin in the form `name = version`:
@ -34,7 +24,20 @@ lektor-other-plugin = 1.2
``` ```
It's also possible to use the [plugins add :ref](../cli/plugins/add/) command It's also possible to use the [plugins add :ref](../cli/plugins/add/) command
to automatically add the latest version of a plugin to the project file. `lektor plugin add NAME` to automatically add the latest version of a plugin
to the project file.
To upgrade a plugin just increase the version number to the release you want To upgrade a plugin just increase the version number to the release you want
and Lektor will do the rest. and Lektor will do the rest.
## Loading Plugins
Plugins can be added to a Lektor project in two different ways:
1. Plugins can be added to the `[packages]` section of the project. In that
case Lektor will automatically download and enable the plugin next time
you build the project or run the server. This can be accomplished for you
with the automatic install above, or it can be done manually.
2. Plugins can be added to the `packages/` folder in your project. Each
plugin has to go into a separate folder. This method is especially useful
for project specific plugins or for plugin development.

View File

@ -1,8 +1,12 @@
body: body:
#### text-block #### #### text-block ####
text: par text: These plugins primarily deal with Lektor's build process, adding build tools or processes.
---- ----
class: default class: default
--- ---
title: Build title: Build
---
_discoverable: yes
---
_hidden: no

View File

@ -3,6 +3,6 @@ title: Content
body: body:
#### text-block #### #### text-block ####
text: adsf text: These plugins primarily deal with adding or modifying available content in Lektor.
---- ----
class: default class: default

View File

@ -1,3 +1,12 @@
_model: plugin-categories _model: plugin-categories
--- ---
_slug: plugins/categories _slug: plugins/categories
---
body:
#### text-block ####
text: estate
----
class: default
---
title: Plugin Categories

View File

@ -1,7 +1,7 @@
body: body:
#### text-block #### #### text-block ####
text: ds text: These plugins primarily deal with Lektor's deployment abilities. They may add a deployment service or location.
---- ----
class: default class: default
--- ---

View File

@ -1,7 +1,7 @@
body: body:
#### text-block #### #### text-block ####
text: saf text: These plugins primarily deal with Lektor's [Templates :ref](/docs/templates/). They may add or modify [context :ref](docs/templates/#template-context), filters, api, globals, modify images, change navigation, or many other functionalities available to templates.
---- ----
class: default class: default
--- ---

View File

@ -7,7 +7,7 @@ body:
#### text-block #### #### text-block ####
text: text:
Lektor is a young project but it has a growing list of both official and community supported plugins. Official plugins were developed by the authors of Lektor and kept in good shape together with the rest of the project. Community plugins are moderated and updated regularly, but they might not keep pace with development on Lektor. They are maintained by the community. Lektor is a young project but it has a growing list of both official and community supported plugins. Official plugins were developed by the authors of Lektor and kept in good shape together with the rest of the project. Community plugins are moderated and updated regularly, but they might not keep pace with development on Lektor. They are maintained by the community. Install them with `lektor plugins add NAME`.
This is a list of currently known plugins. Official plugins are prefixed with as asterisk (*) and are listed first in each section and separated by an underline. This is a list of currently known plugins. Official plugins are prefixed with as asterisk (*) and are listed first in each section and separated by an underline.

View File

@ -1,6 +1,7 @@
[model] [model]
name = Plugin Categories name = Plugin Categories
label = Plugin Categories inherits = page
label = {{ this.name }}
hidden = yes hidden = yes
protected = yes protected = yes

View File

@ -1,7 +1,15 @@
{% extends "layout.html" %} {% extends "plugins.html" %}
{% from "macros/plugins.html" import render_category_nav %} {% from "macros/plugins.html" import render_category_nav %}
{% block title %}Plugin Categories{% endblock %}
{% block body %} {% block body %}
<h1>Plugin Categories</h1> <h1>{{ this.title }}</h1>
{{ render_category_nav(active=none) }} {% call render_full_width_blocks(this.body.blocks, classes='col-md-12') %}
{% endcall %}
<ul>
{% for category in site.query('/plugin-categories') %}
<li><h3>
<a href="{{ category|url }}">{{ category.title }}</a>
</h3></li>
{% endfor %}
</ul>
{% endblock %} {% endblock %}

View File

@ -2,12 +2,32 @@
{% block body %} {% block body %}
<h1>Tag: {{ this.tag }}</h1> <h1>Tag: {{ this.tag }}</h1>
{% for event in site.get('/docs/api/plugins/events').children.all() %}
{% if this.tag == event.title %}
<p>
This is an event emitted by Lektor for plugins to hook.
The following plugins hook this event.
Take a look at their source code to see how they work!
</p>
<p>
<a href="{{ '/docs/plugins'|url }}" class="ref">Intro to Plugins</a>
||
<a href="{{ '/docs/cli/plugins/'|url }}" class="ref">Plugin Commands</a>
||
<a href="{{ '/docs/api/plugins'|url }}" class="ref">Plugin API</a>
||
<a href="{{ event|url }}" class="ref">This Event</a>
</p>
{% endif %}
{% endfor %}
<h2>Plugins:</h2> <h2>Plugins:</h2>
<ul> <ul>
{% for i in this.items %} {% for plugin in this.items %}
<li><a href="{{ i|url }}">{{ i._id }}</a></li> <li>
{% else %} <a href="{{ plugin|url }}">{{ plugin._id }}</a>
<li><em>No items.</em></li> </li>
{% endfor %} {% endfor %}
</ul> </ul>
{% endblock %} {% endblock %}

View File

@ -60,7 +60,7 @@
<h4>Tags</h4> <h4>Tags</h4>
</div> </div>
{% if this.tags %} {% if this.tags %}
{% for t in this.tags -%} {% for t in this.tags %}
{{ "and " if loop.last }} {{ "and " if loop.last }}
<a href="{{ ('/plugins/tag/' ~ t.lower() ~ '/')|url }}">{{ t }}</a>{{ ", " if not loop.last }} <a href="{{ ('/plugins/tag/' ~ t.lower() ~ '/')|url }}">{{ t }}</a>{{ ", " if not loop.last }}
{% endfor %} {% endfor %}