{"html_url": "https://github.com/simonw/datasette/issues/642#issuecomment-646930160", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/642", "id": 646930160, "node_id": "MDEyOklzc3VlQ29tbWVudDY0NjkzMDE2MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-20T03:20:25Z", "updated_at": "2020-06-20T03:20:25Z", "author_association": "OWNER", "body": "Shipped this today! https://github.com/simonw/datasette-plugin is a cookiecutter template for creating new plugins.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 529429214, "label": "Provide a cookiecutter template for creating new plugins"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/642#issuecomment-646930059", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/642", "id": 646930059, "node_id": "MDEyOklzc3VlQ29tbWVudDY0NjkzMDA1OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-20T03:19:57Z", "updated_at": "2020-06-20T03:19:57Z", "author_association": "OWNER", "body": "@psychemedia sorry I missed your comment before.\r\n\r\nNiche Museums is definitely the best example of custom templates at the moment: https://github.com/simonw/museums/tree/master/templates\r\n\r\nI want to comprehensively document the variables made available to custom templates before shipping Datasette 1.0 - just filed that as #857.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 529429214, "label": "Provide a cookiecutter template for creating new plugins"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/642#issuecomment-559207224", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/642", "id": 559207224, "node_id": "MDEyOklzc3VlQ29tbWVudDU1OTIwNzIyNA==", "user": {"value": 82988, "label": "psychemedia"}, "created_at": "2019-11-27T18:40:57Z", "updated_at": "2019-11-27T18:41:07Z", "author_association": "CONTRIBUTOR", "body": "Would cookie cutter approaches also work for creating various flavours of customised templates?\r\n\r\nI need to try to create a couple of sites for myself to get a feel for what sorts of thing are easily doable, and what cribbable cookie cutter items might be. I'm guessing https://simonwillison.net/2019/Nov/25/niche-museums/ is a good place to start from?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 529429214, "label": "Provide a cookiecutter template for creating new plugins"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/642#issuecomment-559146316", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/642", "id": 559146316, "node_id": "MDEyOklzc3VlQ29tbWVudDU1OTE0NjMxNg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-27T15:55:51Z", "updated_at": "2019-11-27T15:55:51Z", "author_association": "OWNER", "body": "One thing that put me off cookiecutter in the past is that I didn't think it could conditionally create files.\r\n\r\nI was wrong! You can use post- hooks to delete the files that you didn't need: https://github.com/audreyr/cookiecutter-pypackage/blob/master/hooks/post_gen_project.py\r\n\r\nI could use this mechanism to rename directories too if I needed to.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 529429214, "label": "Provide a cookiecutter template for creating new plugins"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/642#issuecomment-559143123", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/642", "id": 559143123, "node_id": "MDEyOklzc3VlQ29tbWVudDU1OTE0MzEyMw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-27T15:48:11Z", "updated_at": "2019-11-27T15:48:11Z", "author_association": "OWNER", "body": "This will also make bundling static files less error-prone.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 529429214, "label": "Provide a cookiecutter template for creating new plugins"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/642#issuecomment-559142893", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/642", "id": 559142893, "node_id": "MDEyOklzc3VlQ29tbWVudDU1OTE0Mjg5Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-27T15:47:36Z", "updated_at": "2019-11-27T15:47:42Z", "author_association": "OWNER", "body": "It can include options for quickly bootstrapping custom template function or SQL function plugins, which are really simple.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 529429214, "label": "Provide a cookiecutter template for creating new plugins"}, "performed_via_github_app": null}