diff --git a/datasette/app.py b/datasette/app.py index de6d0b91..7cd56cda 100644 --- a/datasette/app.py +++ b/datasette/app.py @@ -242,12 +242,13 @@ class BaseView(RenderMixin): **{ 'url_json': path_with_ext(request, '.json'), 'url_jsono': path_with_ext(request, '.jsono'), - 'metadata': self.ds.metadata, 'extra_css_urls': self.ds.extra_css_urls(), 'extra_js_urls': self.ds.extra_js_urls(), 'datasette_version': __version__, } } + if 'metadata' not in context: + context['metadata'] = self.ds.metadata r = self.render( templates, **context, @@ -379,6 +380,9 @@ class DatabaseView(BaseView): 'database_hash': hash, 'show_hidden': request.args.get('_show_hidden'), 'editable': True, + 'metadata': self.ds.metadata.get( + 'databases', {} + ).get(name, {}), }, ('database-{}.html'.format(to_css_class(name)), 'database.html') @@ -686,7 +690,10 @@ class TableView(RowTableShared): '_rows_and_columns-{}-{}.html'.format(to_css_class(name), to_css_class(table)), '_rows_and_columns-table-{}-{}.html'.format(to_css_class(name), to_css_class(table)), '_rows_and_columns.html', - ] + ], + 'metadata': self.ds.metadata.get( + 'databases', {} + ).get(name, {}).get('tables', {}).get(table, {}), } return { @@ -750,7 +757,10 @@ class RowView(RowTableShared): '_rows_and_columns-{}-{}.html'.format(to_css_class(name), to_css_class(table)), '_rows_and_columns-row-{}-{}.html'.format(to_css_class(name), to_css_class(table)), '_rows_and_columns.html', - ] + ], + 'metadata': self.ds.metadata.get( + 'databases', {} + ).get(name, {}).get('tables', {}).get(table, {}), } data = { diff --git a/datasette/templates/_description_source_license.html b/datasette/templates/_description_source_license.html new file mode 100644 index 00000000..eba4eb1a --- /dev/null +++ b/datasette/templates/_description_source_license.html @@ -0,0 +1,25 @@ +{% if metadata.description_html or metadata.description %} +
+{% endif %} +{% if metadata.license or metadata.license_url or metadata.source or metadata.source_url %} ++ {% if metadata.license or metadata.license_url %}Data license: + {% if metadata.license_url %} + {{ metadata.license or metadata.license_url }} + {% else %} + {{ metadata.license }} + {% endif %} + {% endif %} + {% if metadata.source or metadata.source_url %}{% if metadata.license or metadata.license_url %}·{% endif %} + Data source: {% if metadata.source_url %} + + {% endif %}{{ metadata.source or metadata.source_url }}{% if metadata.source_url %}{% endif %} + {% endif %} +
+{% endif %} diff --git a/datasette/templates/base.html b/datasette/templates/base.html index 3614a790..0c21af0e 100644 --- a/datasette/templates/base.html +++ b/datasette/templates/base.html @@ -20,19 +20,17 @@