Browser and install GUI for cookiecutter templates

⌈⌋ ⎇ branch:  cookiedough


Check-in [c279d910dd]

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

Overview
Comment:Move *.page descriptions to online wiki as <meta> tag.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | trunk
Files: files | file ages | folders
SHA3-256: c279d910dd19bb81ce2d2d6caf01b142534de1f6be748d5b28abad126efcfb7a
User & Date: mario 2021-05-03 19:12:54
Context
2021-05-03
19:12
Move *.page descriptions to online wiki as <meta> tag. Leaf check-in: c279d910dd user: mario tags: trunk
2021-04-06
09:07
Release as 0.3.0 check-in: a1f0f2a8f5 user: mario tags: trunk, 0.3.0
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to cookiedough/help/Makefile.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Note this requires a bit of post-editing.
# The titles from the fossil wiki have a redundant prefix,
# and the first <title> might be empty even, or else even duplicated.

pages:
	html2mallard https://fossil.include-once.org/cookiedough/wiki/contribute > contribute.page
	html2mallard https://fossil.include-once.org/cookiedough/wiki/improve > improve.page
	html2mallard https://fossil.include-once.org/cookiedough/wiki/rollout > rollout.page
	html2mallard https://fossil.include-once.org/cookiedough/wiki/search > search.page
	html2mallard https://fossil.include-once.org/cookiedough/wiki/settings > settings.page
	html2mallard https://fossil.include-once.org/cookiedough/wiki/usage > usage.page

desc:
	# fix default extractions
	fr '<desc></desc>' '<desc>todo list, dev/ scripts, fossil, cookiecutter authors</desc>'  contribute.page
	fr '<desc></desc>' '<desc>template vars, extra parameters for cookiedough</desc>' improve.page
	fr '<desc></desc>' '<desc>project overview</desc>' index.page
	fr '<desc></desc>' '<desc>available features</desc>' menu.page
	fr '<desc></desc>' '<desc>XDG patch and paths</desc>' patch.page
	fr '<desc></desc>' '<desc>installation of tempaltes, input prompts</desc>' rollout.page
	fr '<desc></desc>' '<desc>filter options</desc>' search.page
	fr '<desc></desc>' '<desc>config options per module</desc>' settings.page
	fr '<desc></desc>' '<desc>internal tempalte database, config[] format</desc>' uidata.page
	fr '<desc></desc>' '<desc>start, browsing, search, roll out</desc>' usage.page
	fr '<title>cookiedough: ' '<title>' *.page
	fr '<title>contribute</title>' '<title>How to contribute / ToDo</title>' contribute.page
	fr '<title>improve</title>' '<title>Improve your cookiecutter.json</title>' improve.page
	fr '<title>menu</title>' '<title>Menu structure</title>' menu.page
	fr '<title>patch</title>' '<title>Cookiecutter patch</title>' patch.page
	fr '<title>rollout</title>' '<title>Roll out</title>' rollout.page:
	fr '<title>search</title>' '<title>Search bar</title>' search.page
	fr '<title>uidata</title>' '<title>internal "database" structure</title>' uidata.page













|
<
<
<
<

<
<
<
<
<








1
2
3
4
5
6
7
8
9
10
11
12
13
14




15





16
17
18
19
20
21
22
23
# Note this requires a bit of post-editing.
# The titles from the fossil wiki have a redundant prefix,
# and the first <title> might be empty even, or else even duplicated.

pages:
	html2mallard https://fossil.include-once.org/cookiedough/wiki/contribute > contribute.page
	html2mallard https://fossil.include-once.org/cookiedough/wiki/improve > improve.page
	html2mallard https://fossil.include-once.org/cookiedough/wiki/rollout > rollout.page
	html2mallard https://fossil.include-once.org/cookiedough/wiki/search > search.page
	html2mallard https://fossil.include-once.org/cookiedough/wiki/settings > settings.page
	html2mallard https://fossil.include-once.org/cookiedough/wiki/usage > usage.page

desc:
	# fix default extractions    <meta name="description" content="">




	fr '<desc></desc>' '<desc>XDG patch and paths</desc>' patch.page





	fr '<title>cookiedough: ' '<title>' *.page
	fr '<title>contribute</title>' '<title>How to contribute / ToDo</title>' contribute.page
	fr '<title>improve</title>' '<title>Improve your cookiecutter.json</title>' improve.page
	fr '<title>menu</title>' '<title>Menu structure</title>' menu.page
	fr '<title>patch</title>' '<title>Cookiecutter patch</title>' patch.page
	fr '<title>rollout</title>' '<title>Roll out</title>' rollout.page:
	fr '<title>search</title>' '<title>Search bar</title>' search.page
	fr '<title>uidata</title>' '<title>internal "database" structure</title>' uidata.page

Changes to cookiedough/help/contribute.page.

1
2
3
4
5
6
7
8
9
10

11
12














13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
42
43
<page xmlns="http://projectmallard.org/1.0/"
 type="guide" id="contribute">

<info>
    <link type="guide" xref="index#nav"/>

    <desc>todo list, dev/ scripts, fossil, cookiecutter authors</desc>
    <?http header="X-Generator: html2mallard" ?>
</info>


<title>How to contribute / ToDo</title>
















<section>
 <title>Contributions</title>
 <p>This project hinges on an updated cookiecutters database. Unfortunately
 that's quite time-consuming. So new templates might not find their way
 in here - without feedback/submissions from authors.</p>

 <p>Not sure if there's enough interest, but this would require either
 automating the database build, or providing a submission API. Or both.</p>
</section>

<section>
 <subtitle>Automation</subtitle>
 <list>
 <item><p>There's the <link type="seealso" href="https://fossil.include-once.org/cookiedough/wiki/dev">dev/ scripts</link>
 as basis.</p></item>
 <item><p>Ideally it would be rewritten to also support BitBucket/GitLab/etc.


 The lack of common API is a real showstopper though.</p></item>
 <item><p>(I don't blame GitHub alone.)</p></item>
 <item><p>And obviously there's no library that interfaces with all alike.</p></item>

 </list>
 <item><p>Wouldn't be too difficult to bring this into the GUI even. (Though it
 takes around half an hour to collect project repositories on GH.)</p></item>
</section>

<section>
 <subtitle>Submit API</subtitle>
 <list>
 <item><p>It might be easiest to query individual projects, and just provide a










>
|

>
>
>
>
>
>
>
>
>
>
>
>
>
>
















|





>

|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<page xmlns="http://projectmallard.org/1.0/"
 type="guide" id="contribute">

<info>
    <link type="guide" xref="index#nav"/>

    <desc>todo list, dev/ scripts, fossil, cookiecutter authors</desc>
    <?http header="X-Generator: html2mallard" ?>
</info>

<title>contribute</title>


          
<section>
 <title>contribute</title>
          





 


 <p></p>
</section>

<section>
 <title>Contributions</title>
 <p>This project hinges on an updated cookiecutters database. Unfortunately
 that's quite time-consuming. So new templates might not find their way
 in here - without feedback/submissions from authors.</p>

 <p>Not sure if there's enough interest, but this would require either
 automating the database build, or providing a submission API. Or both.</p>
</section>

<section>
 <subtitle>Automation</subtitle>
 <list>
 <item><p>There's the <link type="seealso" href="https://fossil.include-once.org/cookiedough/wiki/dev">dev/ scripts</link>
 as basis.</p></item>
 <item><p>Ideally it would be rewritten to also support BitBucket/GitLab/Launchpad/Sourceforge/etc.


 The lack of common API is a real showstopper though.</p></item>
 <item><p>(I don't blame GitHub alone.)</p></item>
 <item><p>And obviously there's no library that interfaces with all alike.</p></item>
 <item><p>Big hosters also seem to believe everyone appreciates registritis and OAuth tokens.</p></item>
 </list>
 <item><p>Wouldn't be too difficult to bring this into the GUI however. (Though it
 takes around half an hour to collect project repositories on GH.)</p></item>
</section>

<section>
 <subtitle>Submit API</subtitle>
 <list>
 <item><p>It might be easiest to query individual projects, and just provide a
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 </list>
</section>

<section>
 <subtitle>Join</subtitle>
 <list>
 <item><p>If interested, register a repository account here (no email necessary).</p></item>
 <item><p>Drop a mail for developer elevation;</p></item>
 <item><p>Read up on <link type="seealso" href="https://fossil-scm.org/home/doc/trunk/www/quickstart.wiki">fossil usage</link>.</p></item>
 <item><p>It's significantly easier than git, and you can't easily break things.</p></item>
 </list>
</section>

<section>
 <subtitle>Manual submissions</subtitle>







|







68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 </list>
</section>

<section>
 <subtitle>Join</subtitle>
 <list>
 <item><p>If interested, register a repository account here (no email necessary).</p></item>
 <item><p>But send me a mail for developer elevation (See LICENSE);</p></item>
 <item><p>Read up on <link type="seealso" href="https://fossil-scm.org/home/doc/trunk/www/quickstart.wiki">fossil usage</link>.</p></item>
 <item><p>It's significantly easier than git, and you can't easily break things.</p></item>
 </list>
</section>

<section>
 <subtitle>Manual submissions</subtitle>
74
75
76
77
78
79
80
81


  



</page>








<
90
91
92
93
94
95
96



  



</page>

Changes to cookiedough/help/improve.page.

1
2
3
4
5
6
7
8
9
10

11
12
13
14














15
16
17
18
19
20
21
22
23
<page xmlns="http://projectmallard.org/1.0/"
 type="guide" id="improve">

<info>
    <link type="guide" xref="index#nav"/>

    <desc>template vars, extra parameters for cookiedough</desc>
    <?http header="X-Generator: html2mallard" ?>
</info>


<title>Improve your cookiecutter.json</title>


<section>














 <subtitle>Supported additions for cookiecutter.json</subtitle>
 <p>cookiedough accepts some additional fields from <code>cookiecutters.json</code>. This
 helps both the parameter input, as well as grouping, search and scoring/sorting
 of entries.</p>

 <p>Currently following options are recognized:</p>

 <table shade="rows cols" rules="rows cols"><tbody>











>
|

|

>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<page xmlns="http://projectmallard.org/1.0/"
 type="guide" id="improve">

<info>
    <link type="guide" xref="index#nav"/>

    <desc>template vars, extra parameters for cookiedough</desc>
    <?http header="X-Generator: html2mallard" ?>
</info>

<title>improve</title>


          
<section>
 <title>improve</title>
          





 


 <p></p>
</section>

<section>
 <subtitle>Improve your cookiecutter.json</subtitle>
 <p>cookiedough accepts some additional fields from <code>cookiecutter.json</code>. This
 helps both the parameter input, as well as grouping, search and scoring/sorting
 of entries.</p>

 <p>Currently following options are recognized:</p>

 <table shade="rows cols" rules="rows cols"><tbody>

96
97
98
99
100
101
102
103


  



</page>








<
111
112
113
114
115
116
117



  



</page>

Changes to cookiedough/help/rollout.page.

1
2
3
4
5
6
7
8
9
10
11
12


13















14
15
16
17
18
19
20
<page xmlns="http://projectmallard.org/1.0/"
 type="guide" id="rollout">

<info>
    <link type="guide" xref="index#nav"/>

    <desc>installation of tempaltes, input prompts</desc>
    <?http header="X-Generator: html2mallard" ?>
</info>

<title>Roll out</title>



<section>















 <p>When you hit the <em style="strong">Roll out</em> button, an input window for the cookiecutter
 template will first pop up. Before you the project template gets created,
 first edit its properties here.</p>

 <list>
 <item><p>Most input fields are strings. For dropdown boxes it's best to stick
 to the default options.</p></item>










|

>
>

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<page xmlns="http://projectmallard.org/1.0/"
 type="guide" id="rollout">

<info>
    <link type="guide" xref="index#nav"/>

    <desc>installation of tempaltes, input prompts</desc>
    <?http header="X-Generator: html2mallard" ?>
</info>

<title>rollout</title>


          
<section>
 <title>rollout</title>
          





 


 <p> </p>
</section>

<section>
 <title>Roll out</title>
 <p>When you hit the <em style="strong">Roll out</em> button, an input window for the cookiecutter
 template will first pop up. Before you the project template gets created,
 first edit its properties here.</p>

 <list>
 <item><p>Most input fields are strings. For dropdown boxes it's best to stick
 to the default options.</p></item>
40
41
42
43
44
45
46
47
48
49







 or shorten error messages for what's essentially a programming tool.</p>


 <p>When the --verbose setting is enabled, additional output will appear
 in any case.</p>
</section>


</page>















|
|

>
>
>
>
>
>
>
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 or shorten error messages for what's essentially a programming tool.</p>


 <p>When the --verbose setting is enabled, additional output will appear
 in any case.</p>
</section>

  




  



</page>

Changes to cookiedough/help/search.page.

1
2
3
4
5
6
7
8
9
10

11
12
13
14













15
16
17
18
19
20
21
<page xmlns="http://projectmallard.org/1.0/"
 type="guide" id="search">

<info>
    <link type="guide" xref="index#nav"/>

    <desc>filter options</desc>
    <?http header="X-Generator: html2mallard" ?>
</info>


<title>Search bar</title>

          
<section>













 <p>Click the search field top left. Enter something to search for,
 and press ENTER. The category list will collapse and show filtered
 results.</p>


 <p>The old behaviour (search/filtering starts on any keypress) can be
 enabled in the settings still.</p>






|



>
|



>
>
>
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<page xmlns="http://projectmallard.org/1.0/"
 type="guide" id="search">

<info>
    <link type="guide" xref="index#nav"/>

    <desc></desc>
    <?http header="X-Generator: html2mallard" ?>
</info>

<title>search</title>


          
<section>
 <title>search</title>
          





 


 <code>&lt;meta name="description" content="filter options"&gt;
 </code>

 <p>Click the search field top left. Enter something to search for,
 and press ENTER. The category list will collapse and show filtered
 results.</p>


 <p>The old behaviour (search/filtering starts on any keypress) can be
 enabled in the settings still.</p>
41
42
43
44
45
46
47
48


  



</page>








<
55
56
57
58
59
60
61



  



</page>

Changes to cookiedough/help/settings.page.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15












16
17
18
19
20
21
22
<page xmlns="http://projectmallard.org/1.0/"
 type="guide" id="settings">

<info>
    <link type="guide" xref="index#nav"/>

    <desc>config options per module</desc>
    <?http header="X-Generator: html2mallard" ?>
</info>

<title>Settings</title>


          
<section>












 <p>Use →File→Settings to access the cookiedough options menu.</p>

 <list>
 <item><p>Options are grouped by modules there.</p></item>
 <item><p>Some may only take effect after a restart (e.g. hook_prompt).</p></item>
 <item><p>Stored in ~/.config/cookiedough/settings.json.</p></item>
 <item><p>There is no plugin handling in CD, so ticking the modules has no effect.</p></item>










|




>
>
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<page xmlns="http://projectmallard.org/1.0/"
 type="guide" id="settings">

<info>
    <link type="guide" xref="index#nav"/>

    <desc>config options per module</desc>
    <?http header="X-Generator: html2mallard" ?>
</info>

<title>settings</title>


          
<section>
 <title>settings</title>
          





 


 <p> </p>

 <p>Use →File→Settings to access the cookiedough options menu.</p>

 <list>
 <item><p>Options are grouped by modules there.</p></item>
 <item><p>Some may only take effect after a restart (e.g. hook_prompt).</p></item>
 <item><p>Stored in ~/.config/cookiedough/settings.json.</p></item>
 <item><p>There is no plugin handling in CD, so ticking the modules has no effect.</p></item>
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51




52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
         <td><p>name</p></td>
         <td><p>description</p></td>
   </tr>


   <tr>
         <td><p>colorize</p></td>
         <td><p>Colorize the readme preview a bit</p></td>
   </tr>
   <tr>
         <td><p>sort</p></td>
         <td><p>Primary scoring/sorting property</p></td>
   </tr>
   <tr>
         <td><p>show_counts</p></td>
         <td><p>Show number of entries per language/api category</p></td>
   </tr>
   <tr>
         <td><p>editor</p></td>
         <td><p>Text editor (only used for cookiecutters config editing)</p></td>
   </tr>




   <tr>
         <td><p>replay</p></td>
         <td><p>Apply previously entered input variables</p></td>
   </tr>
   <tr>
         <td><p>no_params</p></td>
         <td><p>Don't prompt for template vars. Use terminal prompts instead.</p></td>
   </tr>
   <tr>
         <td><p>update_ccjson</p></td>
         <td><p>Update parameters from cookiecutter.json files</p></td>
   </tr>
   <tr>
         <td><p>hook_prompt</p></td>
         <td><p>Display any additional prompts as GUI inputs</p></td>
   </tr>
   <tr>
         <td><p>verbose</p></td>
         <td><p>Enable cookiecutter CLI debug logging</p></td>
   </tr>

 </tbody></table>







|



|









>
>
>
>










|



|







43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
         <td><p>name</p></td>
         <td><p>description</p></td>
   </tr>


   <tr>
         <td><p>colorize</p></td>
         <td><p>Colorize the README preview (headlines and code blocks)</p></td>
   </tr>
   <tr>
         <td><p>sort</p></td>
         <td><p>Primary sorting property (internal scores, or names)</p></td>
   </tr>
   <tr>
         <td><p>show_counts</p></td>
         <td><p>Show number of entries per language/api category</p></td>
   </tr>
   <tr>
         <td><p>editor</p></td>
         <td><p>Text editor (only used for cookiecutters config editing)</p></td>
   </tr>
   <tr>
         <td><p>use_defaults</p></td>
         <td><p>Read cookiecutter config, and use default_context for template vars (before replay)</p></td>
   </tr>
   <tr>
         <td><p>replay</p></td>
         <td><p>Apply previously entered input variables</p></td>
   </tr>
   <tr>
         <td><p>no_params</p></td>
         <td><p>Don't prompt for template vars. Use terminal prompts instead.</p></td>
   </tr>
   <tr>
         <td><p>update_ccjson</p></td>
         <td><p>Update parameters/defaults from remote cookiecutter.json files</p></td>
   </tr>
   <tr>
         <td><p>hook_prompt</p></td>
         <td><p>Display any additional cookiecutter prompts as GUI inputs</p></td>
   </tr>
   <tr>
         <td><p>verbose</p></td>
         <td><p>Enable cookiecutter CLI debug logging</p></td>
   </tr>

 </tbody></table>
195
196
197
198
199
200
201
202


  



</page>








<
211
212
213
214
215
216
217



  



</page>

Changes to cookiedough/help/usage.page.

1
2
3
4
5
6
7
8
9
10
11
12


13











14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34








35
36
37
<page xmlns="http://projectmallard.org/1.0/"
 type="guide" id="usage">

<info>
    <link type="guide" xref="index#nav"/>

    <desc>start, browsing, search, roll out</desc>
    <?http header="X-Generator: html2mallard" ?>
</info>

<title>usage</title>



<section>












 <p>Start cookiedough from the terminal, for example in your <code>~/projects</code> directory:</p>

 <code>$  cookiedough
 </code>

 <p>You can browse the template list in the left pane. They're grouped
 by languages or application names. It's also possible to filter the
 list with the search box.</p>

 <p>The right hand white section is the content area, where details of
 the cookiecutter template are shown. Among them is the file list /
 directory structure, and a preview of the readme.</p>

 <p>Though you might often want to just hit the link to view the online
 version of the repository. Alternatively use →Template→Copy
 repo URL to utilize the URL with commandline cookiecutter.</p>

 <p>Hitting the Roll out button will start the creation
 process. (A variables input window will appear beforehand.)</p>
</section>










</page>












>
>

>
>
>
>
>
>
>
>
>
>
>











|









>
>
>
>
>
>
>
>



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<page xmlns="http://projectmallard.org/1.0/"
 type="guide" id="usage">

<info>
    <link type="guide" xref="index#nav"/>

    <desc>start, browsing, search, roll out</desc>
    <?http header="X-Generator: html2mallard" ?>
</info>

<title>usage</title>


          
<section>
 <title>usage</title>
          





 


 <p> </p>

 <p>Start cookiedough from the terminal, for example in your <code>~/projects</code> directory:</p>

 <code>$  cookiedough
 </code>

 <p>You can browse the template list in the left pane. They're grouped
 by languages or application names. It's also possible to filter the
 list with the search box.</p>

 <p>The right hand white section is the content area, where details of
 each cookiecutter template are shown. Among them is the file list /
 directory structure, and a preview of the readme.</p>

 <p>Though you might often want to just hit the link to view the online
 version of the repository. Alternatively use →Template→Copy
 repo URL to utilize the URL with commandline cookiecutter.</p>

 <p>Hitting the Roll out button will start the creation
 process. (A variables input window will appear beforehand.)</p>
</section>

  




  



</page>