{"html_url": "https://github.com/simonw/datasette/issues/690#issuecomment-593247614", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/690", "id": 593247614, "node_id": "MDEyOklzc3VlQ29tbWVudDU5MzI0NzYxNA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-03-02T06:49:12Z", "updated_at": "2020-03-02T06:49:12Z", "author_association": "OWNER", "body": "The answer may lie in a plugin hook which returns a list of HTML fragments to be added to the page in a particular place.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/692#issuecomment-593446034", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/692", "id": 593446034, "node_id": "MDEyOklzc3VlQ29tbWVudDU5MzQ0NjAzNA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-03-02T15:03:48Z", "updated_at": "2020-03-02T15:03:48Z", "author_association": "OWNER", "body": "Workaround I used:\r\n```python\r\n@hookimpl\r\ndef extra_template_vars(datasette, database, table):\r\n async def is_hidden_table():\r\n if database and table:\r\n try:\r\n db = datasette.databases[database]\r\n except KeyError:\r\n return {\"is_hidden_table\": False}\r\n return {\"is_hidden_table\": table in (await db.hidden_table_names())}\r\n else:\r\n return {\"is_hidden_table\": False}\r\n\r\n return is_hidden_table\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 574035432, "label": "is_hidden_table context variable on table.html page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/693#issuecomment-593452830", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/693", "id": 593452830, "node_id": "MDEyOklzc3VlQ29tbWVudDU5MzQ1MjgzMA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-03-02T15:16:20Z", "updated_at": "2020-03-02T15:16:20Z", "author_association": "OWNER", "body": "Here's why:\r\nhttps://github.com/simonw/datasette/blob/613f6fad7249da547c06ebc46616aba0f74259a4/datasette/views/base.py#L84-L96\r\nIt's bypassing the `.ds.render_template()` call - and that's where the plugin hook is executed:\r\nhttps://github.com/simonw/datasette/blob/613f6fad7249da547c06ebc46616aba0f74259a4/datasette/app.py#L520-L564", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 574043218, "label": "Variables from extra_template_vars() not exposed in _context=1"}, "performed_via_github_app": null}