[pluginlist-update] Adding project data plugin and using it to retrieve info about plugins.
This commit is contained in:
parent
efafc6e60f
commit
ac23ef384a
|
@ -1,5 +0,0 @@
|
||||||
title: Disqus Comments
|
|
||||||
---
|
|
||||||
official: yes
|
|
||||||
---
|
|
||||||
categories: templates
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
name: flask
|
||||||
|
---
|
||||||
|
categories: content
|
|
@ -1,4 +0,0 @@
|
||||||
title: Jinja Content
|
|
||||||
---
|
|
||||||
categories: content
|
|
||||||
---
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
name: lektor-htmlmin
|
||||||
|
---
|
||||||
|
categories: build
|
|
@ -0,0 +1,3 @@
|
||||||
|
name: lektor-i18n
|
||||||
|
---
|
||||||
|
categories: build
|
|
@ -0,0 +1,3 @@
|
||||||
|
name: lektor-jinja-content
|
||||||
|
---
|
||||||
|
categories: content
|
|
@ -0,0 +1,3 @@
|
||||||
|
name: lektor-make
|
||||||
|
---
|
||||||
|
categories: build
|
|
@ -0,0 +1,3 @@
|
||||||
|
name: lektor-npm-support
|
||||||
|
---
|
||||||
|
categories: build
|
|
@ -0,0 +1,5 @@
|
||||||
|
name: lektor-webpack-support
|
||||||
|
---
|
||||||
|
categories: build
|
||||||
|
---
|
||||||
|
official: yes
|
|
@ -1,7 +0,0 @@
|
||||||
title: Markdown Admonition
|
|
||||||
---
|
|
||||||
categories: content
|
|
||||||
---
|
|
||||||
link: https://pypi.org/project/lektor-markdown-admonition/
|
|
||||||
---
|
|
||||||
official: yes
|
|
|
@ -1,7 +0,0 @@
|
||||||
title: Markdown Highlighter
|
|
||||||
---
|
|
||||||
categories: content
|
|
||||||
---
|
|
||||||
link: https://pypi.org/project/lektor-markdown-highlighter/
|
|
||||||
---
|
|
||||||
official: yes
|
|
|
@ -1,7 +0,0 @@
|
||||||
title: Webpack Support
|
|
||||||
---
|
|
||||||
categories: build
|
|
||||||
---
|
|
||||||
link: https://pypi.org/project/lektor-webpack-support/
|
|
||||||
---
|
|
||||||
official: yes
|
|
|
@ -1,13 +1,12 @@
|
||||||
[model]
|
[model]
|
||||||
name = Plugin
|
name = Plugin
|
||||||
inherit = page
|
|
||||||
label = {{ this.title }}
|
label = {{ this.title }}
|
||||||
|
|
||||||
[children]
|
[children]
|
||||||
enabled = no
|
enabled = no
|
||||||
|
|
||||||
[fields.title]
|
[fields.name]
|
||||||
label = Title
|
label = Plugin Name (as it appears when you install it)
|
||||||
type = string
|
type = string
|
||||||
size = large
|
size = large
|
||||||
|
|
||||||
|
@ -17,10 +16,6 @@ type = boolean
|
||||||
checkbox_label = If true, then the plugin will be marked as official.
|
checkbox_label = If true, then the plugin will be marked as official.
|
||||||
default = false
|
default = false
|
||||||
|
|
||||||
[fields.link]
|
|
||||||
label = PyPI Link. We use this to scrape information about your project and display it on this site.
|
|
||||||
type = url
|
|
||||||
|
|
||||||
[fields.categories]
|
[fields.categories]
|
||||||
label = Categories
|
label = Categories
|
||||||
type = select
|
type = select
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
dist
|
||||||
|
build
|
||||||
|
*.pyc
|
||||||
|
*.pyo
|
||||||
|
*.egg-info
|
|
@ -0,0 +1,27 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from qypi.api import QyPI
|
||||||
|
|
||||||
|
from lektor.pluginsystem import Plugin
|
||||||
|
|
||||||
|
class ProjectDataPlugin(Plugin):
|
||||||
|
name = 'Project Data'
|
||||||
|
description = u'Retrieve project information from PyPI.'
|
||||||
|
|
||||||
|
data = {}
|
||||||
|
|
||||||
|
def package_data(self, name, entry_point=None):
|
||||||
|
if not entry_point:
|
||||||
|
entry_point = 'https://pypi.org/pypi'
|
||||||
|
|
||||||
|
q = QyPI(entry_point)
|
||||||
|
pkg = q.get_package(name)
|
||||||
|
self.data.update(pkg['info'])
|
||||||
|
|
||||||
|
def project_data(self, name):
|
||||||
|
self.package_data(name)
|
||||||
|
# self.github_data
|
||||||
|
# self.bitbucket_data
|
||||||
|
return self.data
|
||||||
|
|
||||||
|
def on_setup_env(self, **extra):
|
||||||
|
self.env.jinja_env.globals['project_data'] = self.project_data
|
|
@ -0,0 +1,18 @@
|
||||||
|
from setuptools import setup
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name='lektor-project-data',
|
||||||
|
version='0.1',
|
||||||
|
author='Joseph Nix',
|
||||||
|
author_email='nixjdm@terminallabs.com',
|
||||||
|
license='MIT',
|
||||||
|
py_modules=['lektor_project_data'],
|
||||||
|
install_requires=[
|
||||||
|
'qypi==0.4.1',
|
||||||
|
],
|
||||||
|
entry_points={
|
||||||
|
'lektor.plugins': [
|
||||||
|
'project-data = lektor_project_data:ProjectDataPlugin',
|
||||||
|
]
|
||||||
|
}
|
||||||
|
)
|
|
@ -8,19 +8,22 @@
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
{% macro render_plugin_list(plugins, active=none) %}
|
{% macro render_plugin_list(plugins, active=none) %}
|
||||||
<ul>
|
|
||||||
{% for category in site.query('/plugin-categories') %}
|
{% for category in site.query('/plugin-categories') %}
|
||||||
<li{% if category._id == active %} class="active"{% endif
|
<h2><a href="{{ category|url }}">{{ category.name }}</a></h2>
|
||||||
%}><a href="{{ category|url }}">{{ category.name }}</a></li>
|
|
||||||
<ul>
|
<ul>
|
||||||
{% for plugin in category.children.order_by('-official', 'title') %}
|
{% for plugin in category.children.order_by('-official', 'title') %}
|
||||||
{% if plugin.official %}
|
{% if plugin.official %}
|
||||||
<li><a href="{{ plugin|url }}">* {{ plugin.title }}</a></li>
|
<li><a href="{{ plugin|url }}">* {{ plugin.name }}</a></li>
|
||||||
|
{% if loop.nextitem %}
|
||||||
|
{% if not loop.nextitem.official %}
|
||||||
|
---
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<li><a href="{{ plugin|url }}">{{ plugin.title }}</a></li>
|
<li><a href="{{ plugin|url }}">{{ plugin.name }}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
|
@ -2,7 +2,10 @@
|
||||||
{% from 'macros/blocksupport.html' import render_full_width_blocks %}
|
{% from 'macros/blocksupport.html' import render_full_width_blocks %}
|
||||||
{% block title %}{{ this.title }}{% endblock %}
|
{% block title %}{{ this.title }}{% endblock %}
|
||||||
{% block outerbody %}
|
{% block outerbody %}
|
||||||
<h1>{{ this.title }}</h1>1111
|
<h1>{{ this.name }}</h1>
|
||||||
{{ this.summary }}2222
|
{% set pd = project_data(this.name) %}
|
||||||
{{ this.repo }}333
|
{{ pd }}
|
||||||
|
<br>
|
||||||
|
{{ pd.description }}
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
Loading…
Reference in New Issue