From a562f2965552fb2dbbbd74df245c9965ee23d886 Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Wed, 27 Nov 2019 11:19:11 -0800 Subject: [PATCH] Examples of things you can do with plugins --- docs/ecosystem.rst | 2 ++ docs/index.rst | 2 +- docs/plugins.rst | 20 ++++++++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/docs/ecosystem.rst b/docs/ecosystem.rst index 193c6c60..9f95e0bd 100644 --- a/docs/ecosystem.rst +++ b/docs/ecosystem.rst @@ -53,6 +53,8 @@ For example, to create a SQLite database of the `City of Dallas Payment Register $ socrata2sql insert www.dallasopendata.com 64pp-jeba +.. _ecosystem_plugins: + Datasette Plugins ================= diff --git a/docs/index.rst b/docs/index.rst index 4e6f2660..c82f2ccd 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -5,7 +5,7 @@ Datasette Datasette is a tool for exploring and publishing data. It helps people take data of any shape or size and publish that as an interactive, explorable website and accompanying API. -Datasette is aimed at data journalists, museum curators, archivists, local governments and anyone else who has data that they wish to share with the world. It is part of a :ref:`wider ecosystem of tools ` dedicated to make working with structured data as productive as possible. +Datasette is aimed at data journalists, museum curators, archivists, local governments and anyone else who has data that they wish to share with the world. It is part of a :ref:`wider ecosystem of tools and plugins ` dedicated to making working with structured data as productive as possible. `Explore a demo `__, watch `a presentation about the project `__ or :ref:`glitch`. diff --git a/docs/plugins.rst b/docs/plugins.rst index 9bceb961..1ecc5238 100644 --- a/docs/plugins.rst +++ b/docs/plugins.rst @@ -7,6 +7,26 @@ Datasette's plugin system allows additional features to be implemented as Python code (or front-end JavaScript) which can be wrapped up in a separate Python package. The underlying mechanism uses `pluggy `_. +See :ref:`ecosystem_plugins` for a list of existing plugins, or take a look at the +`datasette-plugin `__ topic on GitHub. + +Things you can do with plugins include: + +* Add visualizations to Datasette, for example + `datasette-cluster-map `__ and + `datasette-vega `__. +* Make new custom SQL functions available for use within Datasette, for example + `datasette-haversine `__ and + `datasette-jellyfish `__. +* Add template functions that can be called within your Jinja custom templates, + for example `datasette-render-markdown `__. +* Customize how database values are rendered in the Datasette interface, for example + `datasette-render-binary `__ and + `datasette-pretty-json `__. +* Wrap the entire Datasette application in custom ASGI middleware to add new pages + or implement authentication, for example + `datasette-auth-github `__. + Using plugins -------------