Browser and install GUI for cookiecutter templates

βŒˆβŒ‹ βŽ‡ branch:  cookiedough


Update of "improve"

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

Artifact ID: 68914d93918600d6a1081d17e2d8316e34e6deea992209a0d320d737d5772b66
Page Name:improve
Date: 2021-03-22 06:16:02
Original User: mario
Mimetype:text/x-markdown
Next 2d5cf675e737b1973a52a68319fdb847e6143b9f1f0c3316325682ba35f1d421
Content

Improve your cookiecutters.json

cookiedough accepts some additional fields from cookiecutters.json. This helps both the parameter input, as well as grouping, search and scoring/sosrting of entries.

Currently following options are recognized:

Where Name Usage
cookiecutters.json _api Override the category/language (could be an app name, e.g. flask)
cookiecutters.json _keywords Add extra search keywords/tags (comma/space-separated string)
cookiecutters.json _requirements Build dependencies (JSON list)
README.* markdown Describe template variables, using a "❙varname❙Explanation...❙" table

For example:

 {
     "project_slug": "base-name",
     "_api": "django",
     "_keywords": "make-whl, xdg, pytest, mkdocs",
     "_requirements": ["poetry", "pep517"]
 }

Whereas your README should contain explanations for template vars:

 | Variable       | Explanation ...                        |
 |----------------|----------------------------------------|
 | `project_slug` | basename for created project directory |
 | `proj_license` | ...                                    |

Why "scoring"?

Ordering just alphabetically or by github stars isn't all that useful. Stars are simply accrued for older projects. It's often just bandwagon voting even.

Instead cookiedough takes multiple properties into account, and somewhat weighs them against each other. Average projects are favoured, and some contents rewarded. It's not a huge influence, but hopefully brings more contemporary templates to the top.

See cookiedough/update.py on how the default scoring works.