[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
to use plugins and how to build your own.
## 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.
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
## Installing Published 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
text editor and edit or extend the `[packages]` section. Just add a line
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
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
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:
#### text-block ####
text: par
text: These plugins primarily deal with Lektor's build process, adding build tools or processes.
----
class: default
---
title: Build
---
_discoverable: yes
---
_hidden: no

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
body:
#### 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
---

View File

@ -7,7 +7,7 @@ body:
#### text-block ####
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.

View File

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

View File

@ -1,7 +1,15 @@
{% extends "layout.html" %}
{% extends "plugins.html" %}
{% from "macros/plugins.html" import render_category_nav %}
{% block title %}Plugin Categories{% endblock %}
{% block body %}
<h1>Plugin Categories</h1>
{{ render_category_nav(active=none) }}
<h1>{{ this.title }}</h1>
{% 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 %}

View File

@ -2,12 +2,32 @@
{% block body %}
<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>
<ul>
{% for i in this.items %}
<li><a href="{{ i|url }}">{{ i._id }}</a></li>
{% else %}
<li><em>No items.</em></li>
{% for plugin in this.items %}
<li>
<a href="{{ plugin|url }}">{{ plugin._id }}</a>
</li>
{% endfor %}
</ul>
{% endblock %}

View File

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