{"html_url": "https://github.com/simonw/datasette/issues/687#issuecomment-647258199", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/687", "id": 647258199, "node_id": "MDEyOklzc3VlQ29tbWVudDY0NzI1ODE5OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-22T03:55:20Z", "updated_at": "2020-06-22T03:55:20Z", "author_association": "OWNER", "body": "https://datasette.readthedocs.io/en/latest/testing_plugins.html", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 572896293, "label": "Expand plugins documentation to multiple pages"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/687#issuecomment-647237091", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/687", "id": 647237091, "node_id": "MDEyOklzc3VlQ29tbWVudDY0NzIzNzA5MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-22T02:44:10Z", "updated_at": "2020-06-22T02:44:10Z", "author_association": "OWNER", "body": "Now split into four pages:\r\n\r\n- https://datasette.readthedocs.io/en/latest/plugins.html\r\n- https://datasette.readthedocs.io/en/latest/writing_plugins.html\r\n- https://datasette.readthedocs.io/en/latest/plugin_hooks.html\r\n- https://datasette.readthedocs.io/en/latest/internals.html\r\n\r\nStill need to add the \"Testing plugins\" page, then I can close this issue.\r\n\r\nI should also do #855, documenting the new `datasette-plugin` cookiecutter template. That can go in `writing_plugins.rst`.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 572896293, "label": "Expand plugins documentation to multiple pages"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/687#issuecomment-647203845", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/687", "id": 647203845, "node_id": "MDEyOklzc3VlQ29tbWVudDY0NzIwMzg0NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-22T00:32:42Z", "updated_at": "2020-06-22T00:32:42Z", "author_association": "OWNER", "body": "Maybe add this to the plugins.rst page near the top:\r\n```\r\n\r\n.. toctree::\r\n :caption: See also\r\n :maxdepth: 1\r\n\r\n plugin_hooks\r\n internals\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 572896293, "label": "Expand plugins documentation to multiple pages"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/687#issuecomment-647190177", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/687", "id": 647190177, "node_id": "MDEyOklzc3VlQ29tbWVudDY0NzE5MDE3Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-21T22:32:36Z", "updated_at": "2020-06-21T22:32:36Z", "author_association": "OWNER", "body": "I'm going to break out the plugin hooks first in a single commit to make for a cleaner commit history (since that way git can hopefully detect that the content moved).", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 572896293, "label": "Expand plugins documentation to multiple pages"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/687#issuecomment-647190144", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/687", "id": 647190144, "node_id": "MDEyOklzc3VlQ29tbWVudDY0NzE5MDE0NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-21T22:32:13Z", "updated_at": "2020-06-21T22:32:13Z", "author_association": "OWNER", "body": "So the new plan is NOT to have a `plugins/` folder, but instead have several top-level pages:\r\n\r\n- Plugins (exists)\r\n- Writing plugins\r\n- Plugin hooks\r\n- Testing plugins\r\n- Internals for plugins (exists)", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 572896293, "label": "Expand plugins documentation to multiple pages"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/687#issuecomment-646938984", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/687", "id": 646938984, "node_id": "MDEyOklzc3VlQ29tbWVudDY0NjkzODk4NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-20T04:22:25Z", "updated_at": "2020-06-20T04:23:02Z", "author_association": "OWNER", "body": "I think I want the \"Plugin hooks\" page to be top-level, parallel to \"Plugins\" and \"Internals for Plugins\". It's the page of documentation refer to most often so I don't want to have to click down a hierarchy from the side navigation to find it.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 572896293, "label": "Expand plugins documentation to multiple pages"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/687#issuecomment-646930455", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/687", "id": 646930455, "node_id": "MDEyOklzc3VlQ29tbWVudDY0NjkzMDQ1NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-20T03:22:21Z", "updated_at": "2020-06-20T03:22:21Z", "author_association": "OWNER", "body": "The tutorial can start by showing how to use the new cookiecutter template from #642.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 572896293, "label": "Expand plugins documentation to multiple pages"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/687#issuecomment-592814610", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/687", "id": 592814610, "node_id": "MDEyOklzc3VlQ29tbWVudDU5MjgxNDYxMA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-02-29T02:08:49Z", "updated_at": "2020-02-29T02:08:49Z", "author_association": "OWNER", "body": "Eventually I can also document what to do if your plugin needs to include its own CLI tool. I'm goong it show how to ship a CLI tool with the same name as the plugin using Click and `setup.py`. ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 572896293, "label": "Expand plugins documentation to multiple pages"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/687#issuecomment-592814114", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/687", "id": 592814114, "node_id": "MDEyOklzc3VlQ29tbWVudDU5MjgxNDExNA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-02-29T02:07:03Z", "updated_at": "2020-02-29T02:07:03Z", "author_association": "OWNER", "body": "The tutorial should start by taking about development environments - how to get a new fresh copy of Datasette that you can start hacking plugins for, in a fresh virtual environment.\r\n\r\nIt should then explain the `--plugins-dir` mechanism, and show how to use it to create a simple plugin that adds a custom SQL function.\r\n\r\nDoes `--reload` work against plugins in the `plugins/` directory? It should.\r\n\r\nThen it should demonstrate a more complex plugin that uses the `datasette` argument to render a template.\r\n\r\nIt should promote the next page which lists the plugin hooks.\r\n\r\nThe hooks page should include links next to each hook to examples of plugins that use them.\r\n\r\nThe packaging page can explain `setup.py` for distributing packages (let's not bother explaining single modules) and also needs to show how to bundle package data such as templates.\r\n\r\nIt should also show how to use `pip install -e .[test]` for development, and mention that this works with `--reload`.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 572896293, "label": "Expand plugins documentation to multiple pages"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/687#issuecomment-592626515", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/687", "id": 592626515, "node_id": "MDEyOklzc3VlQ29tbWVudDU5MjYyNjUxNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-02-28T17:27:08Z", "updated_at": "2020-02-28T17:27:46Z", "author_association": "OWNER", "body": "Suggested pages:\r\n\r\n- `plugins/tutorial.html`\r\n- `plugins/hooks.html`\r\n- `plugins/testing.html`\r\n- `plugins/packaging.html`", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 572896293, "label": "Expand plugins documentation to multiple pages"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/687#issuecomment-592625825", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/687", "id": 592625825, "node_id": "MDEyOklzc3VlQ29tbWVudDU5MjYyNTgyNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-02-28T17:26:43Z", "updated_at": "2020-02-28T17:26:43Z", "author_association": "OWNER", "body": "Current plugin docs: https://datasette.readthedocs.io/en/0.37/plugins.html", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 572896293, "label": "Expand plugins documentation to multiple pages"}, "performed_via_github_app": null}