Simon Willison 2019-11-25 18:31:42 -08:00
rodzic aca41618f8
commit df2879ee2a
9 zmienionych plików z 54 dodań i 9 usunięć

Wyświetl plik

@ -159,7 +159,7 @@ def plugins(all, plugins_dir):
@click.option(
"--static",
type=StaticMount(),
help="mountpoint:path-to-directory for serving static files",
help="Serve static files from this directory at /MOUNT/...",
multiple=True,
)
@click.option(
@ -281,7 +281,7 @@ def package(
@click.option(
"--static",
type=StaticMount(),
help="mountpoint:path-to-directory for serving static files",
help="Serve static files from this directory at /MOUNT/...",
multiple=True,
)
@click.option("--memory", is_flag=True, help="Make :memory: database available")

Wyświetl plik

@ -33,7 +33,7 @@ def add_common_publish_arguments_and_options(subcommand):
click.option(
"--static",
type=StaticMount(),
help="mountpoint:path-to-directory for serving static files",
help="Serve static files from this directory at /MOUNT/...",
multiple=True,
),
click.option(

Wyświetl plik

@ -730,7 +730,7 @@ def remove_infinites(row):
class StaticMount(click.ParamType):
name = "static mount"
name = "mount:directory"
def convert(self, value, param, ctx):
if ":" not in value:

Wyświetl plik

@ -45,6 +45,9 @@ You can also specify a SRI (subresource integrity hash) for these assets::
Modern browsers will only execute the stylesheet or JavaScript if the SRI hash
matches the content served. You can generate hashes using `www.srihash.org <https://www.srihash.org/>`_
CSS classes on the <body>
~~~~~~~~~~~~~~~~~~~~~~~~~
Every default template includes CSS classes in the body designed to support
custom styling.
@ -102,6 +105,48 @@ database column they are representing, for example::
</tbody>
</table>
Serving static files
~~~~~~~~~~~~~~~~~~~~
Datasette can serve static files for you, using the ``--static`` option.
Consider the following directory structure::
metadata.json
static/styles.css
static/app.js
You can start Datasette using ``--static static:static/`` to serve those
files from the ``/static/`` mount point::
$ datasette -m metadata.json --static static:static/ --memory
The following URLs will now serve the content from those CSS and JS files::
http://localhost:8001/static/styles.css
http://localhost:8001/static/app.js
You can reference those files from ``metadata.json`` like so::
{
"extra_css_urls": [
"/static/styles.css"
],
"extra_js_urls": [
"/static/app.js"
]
}
Publishing static assets
~~~~~~~~~~~~~~~~~~~~~~~~
The :ref:`cli_publish` command can be used to publish your static assets,
using the same syntax as above::
$ datasette publish cloudrun mydb.db --static static:static/
This will upload the contents of the ``static/`` directory as part of the
deployment, and configure Datasette to correctly serve the assets.
.. _customization_custom_templates:
Custom templates

Wyświetl plik

@ -12,7 +12,7 @@ Options:
--branch TEXT Install datasette from a GitHub branch e.g. master
--template-dir DIRECTORY Path to directory containing custom templates
--plugins-dir DIRECTORY Path to directory containing custom plugins
--static STATIC MOUNT mountpoint:path-to-directory for serving static files
--static MOUNT:DIRECTORY Serve static files from this directory at /MOUNT/...
--install TEXT Additional packages (e.g. plugins) to install
--spatialite Enable SpatialLite extension
--version-note TEXT Additional note to show on /-/versions

Wyświetl plik

@ -8,7 +8,7 @@ Options:
--branch TEXT Install datasette from a GitHub branch e.g. master
--template-dir DIRECTORY Path to directory containing custom templates
--plugins-dir DIRECTORY Path to directory containing custom plugins
--static STATIC MOUNT mountpoint:path-to-directory for serving static files
--static MOUNT:DIRECTORY Serve static files from this directory at /MOUNT/...
--install TEXT Additional packages (e.g. plugins) to install
--plugin-secret <TEXT TEXT TEXT>...
Secrets to pass to plugins, e.g. --plugin-secret

Wyświetl plik

@ -8,7 +8,7 @@ Options:
--branch TEXT Install datasette from a GitHub branch e.g. master
--template-dir DIRECTORY Path to directory containing custom templates
--plugins-dir DIRECTORY Path to directory containing custom plugins
--static STATIC MOUNT mountpoint:path-to-directory for serving static files
--static MOUNT:DIRECTORY Serve static files from this directory at /MOUNT/...
--install TEXT Additional packages (e.g. plugins) to install
--plugin-secret <TEXT TEXT TEXT>...
Secrets to pass to plugins, e.g. --plugin-secret

Wyświetl plik

@ -8,7 +8,7 @@ Options:
--branch TEXT Install datasette from a GitHub branch e.g. master
--template-dir DIRECTORY Path to directory containing custom templates
--plugins-dir DIRECTORY Path to directory containing custom plugins
--static STATIC MOUNT mountpoint:path-to-directory for serving static files
--static MOUNT:DIRECTORY Serve static files from this directory at /MOUNT/...
--install TEXT Additional packages (e.g. plugins) to install
--plugin-secret <TEXT TEXT TEXT>...
Secrets to pass to plugins, e.g. --plugin-secret

Wyświetl plik

@ -20,7 +20,7 @@ Options:
-m, --metadata FILENAME Path to JSON file containing license/source metadata
--template-dir DIRECTORY Path to directory containing custom templates
--plugins-dir DIRECTORY Path to directory containing custom plugins
--static STATIC MOUNT mountpoint:path-to-directory for serving static files
--static MOUNT:DIRECTORY Serve static files from this directory at /MOUNT/...
--memory Make :memory: database available
--config CONFIG Set config option using configname:value
datasette.readthedocs.io/en/latest/config.html