milestoner 18.11.0 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.adoc +82 -68
  4. data/lib/milestoner/builders/adoc/container.rb +15 -0
  5. data/lib/milestoner/builders/adoc/dependencies.rb +9 -0
  6. data/lib/milestoner/builders/adoc/indexer.rb +28 -0
  7. data/lib/milestoner/builders/adoc/pager.rb +35 -0
  8. data/lib/milestoner/builders/ascii_doc.rb +10 -18
  9. data/lib/milestoner/builders/{import.rb → dependencies.rb} +1 -1
  10. data/lib/milestoner/builders/feed.rb +6 -15
  11. data/lib/milestoner/builders/markdown.rb +10 -18
  12. data/lib/milestoner/builders/md/container.rb +15 -0
  13. data/lib/milestoner/builders/md/dependencies.rb +9 -0
  14. data/lib/milestoner/builders/md/indexer.rb +28 -0
  15. data/lib/milestoner/builders/md/pager.rb +35 -0
  16. data/lib/milestoner/builders/path_resolver.rb +23 -0
  17. data/lib/milestoner/builders/site/container.rb +16 -0
  18. data/lib/milestoner/builders/site/dependencies.rb +9 -0
  19. data/lib/milestoner/builders/site/indexer.rb +33 -0
  20. data/lib/milestoner/builders/site/pager.rb +35 -0
  21. data/lib/milestoner/builders/site/styler.rb +47 -0
  22. data/lib/milestoner/builders/stream.rb +3 -3
  23. data/lib/milestoner/builders/syndication/builder.rb +125 -0
  24. data/lib/milestoner/builders/syndication/indexer.rb +29 -0
  25. data/lib/milestoner/builders/syndication/refine.rb +27 -0
  26. data/lib/milestoner/builders/syndication/shared.rb +27 -0
  27. data/lib/milestoner/builders/web.rb +11 -43
  28. data/lib/milestoner/cli/actions/build/basename.rb +1 -1
  29. data/lib/milestoner/cli/actions/build/format.rb +1 -1
  30. data/lib/milestoner/cli/actions/build/index.rb +26 -0
  31. data/lib/milestoner/cli/actions/build/label.rb +1 -1
  32. data/lib/milestoner/cli/actions/build/layout.rb +1 -1
  33. data/lib/milestoner/cli/actions/build/max.rb +1 -1
  34. data/lib/milestoner/cli/actions/build/output.rb +25 -0
  35. data/lib/milestoner/cli/actions/build/stylesheet.rb +5 -7
  36. data/lib/milestoner/cli/actions/build/tail.rb +1 -1
  37. data/lib/milestoner/cli/actions/build/version.rb +1 -1
  38. data/lib/milestoner/cli/actions/cache/create.rb +1 -1
  39. data/lib/milestoner/cli/actions/cache/delete.rb +1 -1
  40. data/lib/milestoner/cli/actions/cache/find.rb +1 -1
  41. data/lib/milestoner/cli/actions/cache/info.rb +1 -1
  42. data/lib/milestoner/cli/actions/cache/list.rb +1 -1
  43. data/lib/milestoner/cli/actions/next.rb +1 -1
  44. data/lib/milestoner/cli/actions/publish.rb +1 -1
  45. data/lib/milestoner/cli/commands/build.rb +4 -3
  46. data/lib/milestoner/cli/commands/cache.rb +1 -1
  47. data/lib/milestoner/cli/shell.rb +1 -1
  48. data/lib/milestoner/commits/categorizer.rb +8 -6
  49. data/lib/milestoner/commits/collector.rb +1 -1
  50. data/lib/milestoner/commits/enricher.rb +10 -6
  51. data/lib/milestoner/commits/enrichers/author.rb +2 -2
  52. data/lib/milestoner/commits/enrichers/body.rb +2 -2
  53. data/lib/milestoner/commits/enrichers/colleague.rb +2 -2
  54. data/lib/milestoner/commits/enrichers/container.rb +4 -2
  55. data/lib/milestoner/commits/enrichers/{import.rb → dependencies.rb} +1 -1
  56. data/lib/milestoner/commits/enrichers/format.rb +2 -2
  57. data/lib/milestoner/commits/enrichers/issue.rb +2 -2
  58. data/lib/milestoner/commits/enrichers/milestone.rb +2 -2
  59. data/lib/milestoner/commits/enrichers/note.rb +2 -2
  60. data/lib/milestoner/commits/enrichers/review.rb +2 -2
  61. data/lib/milestoner/commits/enrichers/time.rb +20 -0
  62. data/lib/milestoner/commits/enrichers/uri.rb +1 -1
  63. data/lib/milestoner/commits/versioner.rb +2 -2
  64. data/lib/milestoner/configuration/contract.rb +6 -2
  65. data/lib/milestoner/configuration/defaults.yml +10 -4
  66. data/lib/milestoner/configuration/model.rb +5 -1
  67. data/lib/milestoner/configuration/transformers/gems/description.rb +2 -2
  68. data/lib/milestoner/configuration/transformers/gems/label.rb +3 -3
  69. data/lib/milestoner/configuration/transformers/gems/name.rb +2 -2
  70. data/lib/milestoner/configuration/transformers/gems/uri.rb +2 -2
  71. data/lib/milestoner/configuration/transformers/generator/label.rb +2 -2
  72. data/lib/milestoner/configuration/transformers/generator/uri.rb +2 -2
  73. data/lib/milestoner/configuration/transformers/generator/version.rb +2 -2
  74. data/lib/milestoner/configuration/transformers/project/author.rb +2 -2
  75. data/lib/milestoner/container.rb +4 -1
  76. data/lib/milestoner/{import.rb → dependencies.rb} +1 -1
  77. data/lib/milestoner/durationer.rb +25 -0
  78. data/lib/milestoner/models/commit.rb +9 -1
  79. data/lib/milestoner/renderers/universal.rb +1 -1
  80. data/lib/milestoner/tags/builder.rb +40 -0
  81. data/lib/milestoner/tags/creator.rb +7 -9
  82. data/lib/milestoner/{commits/tagger.rb → tags/enricher.rb} +28 -16
  83. data/lib/milestoner/tags/publisher.rb +1 -1
  84. data/lib/milestoner/tags/pusher.rb +1 -1
  85. data/lib/milestoner/templates/layouts/page.adoc.erb +4 -0
  86. data/lib/milestoner/templates/layouts/page.git.erb +1 -0
  87. data/lib/milestoner/templates/layouts/page.html.erb +17 -10
  88. data/lib/milestoner/templates/layouts/page.md.erb +3 -0
  89. data/lib/milestoner/templates/layouts/page.stream.erb +2 -1
  90. data/lib/milestoner/templates/layouts/page.xml.erb +4 -0
  91. data/lib/milestoner/templates/milestones/_commit.adoc.erb +4 -4
  92. data/lib/milestoner/templates/milestones/_commit.html.erb +7 -4
  93. data/lib/milestoner/templates/milestones/_commit.stream.erb +1 -1
  94. data/lib/milestoner/templates/milestones/_commit.xml.erb +2 -6
  95. data/lib/milestoner/templates/milestones/_logo.adoc.erb +1 -1
  96. data/lib/milestoner/templates/milestones/_logo.html.erb +1 -1
  97. data/lib/milestoner/templates/milestones/index.adoc.erb +13 -0
  98. data/lib/milestoner/templates/milestones/index.html.erb +31 -0
  99. data/lib/milestoner/templates/milestones/index.md.erb +13 -0
  100. data/lib/milestoner/templates/milestones/show.adoc.erb +17 -1
  101. data/lib/milestoner/templates/milestones/show.git.erb +8 -0
  102. data/lib/milestoner/templates/milestones/show.html.erb +119 -1
  103. data/lib/milestoner/templates/milestones/show.md.erb +16 -1
  104. data/lib/milestoner/templates/milestones/show.stream.erb +17 -1
  105. data/lib/milestoner/templates/milestones/show.xml.erb +22 -1
  106. data/lib/milestoner/templates/public/page.css.erb +402 -299
  107. data/lib/milestoner/views/context.rb +2 -1
  108. data/lib/milestoner/views/milestones/index.rb +23 -0
  109. data/lib/milestoner/views/milestones/show.rb +2 -2
  110. data/lib/milestoner/views/parts/commit.rb +47 -37
  111. data/lib/milestoner/views/parts/tag.rb +25 -17
  112. data/lib/milestoner/views/parts/user.rb +1 -1
  113. data/lib/milestoner/views/scopes/tag_signature.rb +1 -1
  114. data/lib/milestoner.rb +5 -1
  115. data/milestoner.gemspec +18 -17
  116. data.tar.gz.sig +0 -0
  117. metadata +81 -55
  118. metadata.gz.sig +0 -0
  119. data/lib/milestoner/cli/actions/build/root.rb +0 -25
  120. data/lib/milestoner/configuration/transformers/build/root.rb +0 -21
  121. data/lib/milestoner/syndication/builder.rb +0 -123
  122. data/lib/milestoner/syndication/refine.rb +0 -25
  123. data/lib/milestoner/syndication/shared.rb +0 -25
  124. data/lib/milestoner/templates/milestones/_tag.adoc.erb +0 -13
  125. data/lib/milestoner/templates/milestones/_tag.html.erb +0 -56
  126. data/lib/milestoner/templates/milestones/_tag.md.erb +0 -14
  127. data/lib/milestoner/templates/milestones/_tag.stream.erb +0 -15
  128. data/lib/milestoner/templates/milestones/_tag.xml.erb +0 -22
metadata CHANGED
@@ -1,11 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: milestoner
3
3
  version: !ruby/object:Gem::Version
4
- version: 18.11.0
4
+ version: 19.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain:
11
10
  - |
@@ -35,7 +34,7 @@ cert_chain:
35
34
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
35
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
36
  -----END CERTIFICATE-----
38
- date: 2024-11-13 00:00:00.000000000 Z
37
+ date: 2024-12-28 00:00:00.000000000 Z
39
38
  dependencies:
40
39
  - !ruby/object:Gem::Dependency
41
40
  name: asciidoctor
@@ -57,56 +56,56 @@ dependencies:
57
56
  requirements:
58
57
  - - "~>"
59
58
  - !ruby/object:Gem::Version
60
- version: '1.1'
59
+ version: '1.3'
61
60
  type: :runtime
62
61
  prerelease: false
63
62
  version_requirements: !ruby/object:Gem::Requirement
64
63
  requirements:
65
64
  - - "~>"
66
65
  - !ruby/object:Gem::Version
67
- version: '1.1'
66
+ version: '1.3'
68
67
  - !ruby/object:Gem::Dependency
69
68
  name: cogger
70
69
  requirement: !ruby/object:Gem::Requirement
71
70
  requirements:
72
71
  - - "~>"
73
72
  - !ruby/object:Gem::Version
74
- version: '0.31'
73
+ version: '1.0'
75
74
  type: :runtime
76
75
  prerelease: false
77
76
  version_requirements: !ruby/object:Gem::Requirement
78
77
  requirements:
79
78
  - - "~>"
80
79
  - !ruby/object:Gem::Version
81
- version: '0.31'
80
+ version: '1.0'
82
81
  - !ruby/object:Gem::Dependency
83
82
  name: containable
84
83
  requirement: !ruby/object:Gem::Requirement
85
84
  requirements:
86
85
  - - "~>"
87
86
  - !ruby/object:Gem::Version
88
- version: '0.2'
87
+ version: '1.0'
89
88
  type: :runtime
90
89
  prerelease: false
91
90
  version_requirements: !ruby/object:Gem::Requirement
92
91
  requirements:
93
92
  - - "~>"
94
93
  - !ruby/object:Gem::Version
95
- version: '0.2'
94
+ version: '1.0'
96
95
  - !ruby/object:Gem::Dependency
97
96
  name: core
98
97
  requirement: !ruby/object:Gem::Requirement
99
98
  requirements:
100
99
  - - "~>"
101
100
  - !ruby/object:Gem::Version
102
- version: '1.10'
101
+ version: '2.0'
103
102
  type: :runtime
104
103
  prerelease: false
105
104
  version_requirements: !ruby/object:Gem::Requirement
106
105
  requirements:
107
106
  - - "~>"
108
107
  - !ruby/object:Gem::Version
109
- version: '1.10'
108
+ version: '2.0'
110
109
  - !ruby/object:Gem::Dependency
111
110
  name: dry-monads
112
111
  requirement: !ruby/object:Gem::Requirement
@@ -141,70 +140,70 @@ dependencies:
141
140
  requirements:
142
141
  - - "~>"
143
142
  - !ruby/object:Gem::Version
144
- version: '2.7'
143
+ version: '3.0'
145
144
  type: :runtime
146
145
  prerelease: false
147
146
  version_requirements: !ruby/object:Gem::Requirement
148
147
  requirements:
149
148
  - - "~>"
150
149
  - !ruby/object:Gem::Version
151
- version: '2.7'
150
+ version: '3.0'
152
151
  - !ruby/object:Gem::Dependency
153
152
  name: gitt
154
153
  requirement: !ruby/object:Gem::Requirement
155
154
  requirements:
156
155
  - - "~>"
157
156
  - !ruby/object:Gem::Version
158
- version: '3.12'
157
+ version: '4.0'
159
158
  type: :runtime
160
159
  prerelease: false
161
160
  version_requirements: !ruby/object:Gem::Requirement
162
161
  requirements:
163
162
  - - "~>"
164
163
  - !ruby/object:Gem::Version
165
- version: '3.12'
164
+ version: '4.0'
166
165
  - !ruby/object:Gem::Dependency
167
166
  name: hanami-view
168
167
  requirement: !ruby/object:Gem::Requirement
169
168
  requirements:
170
169
  - - "~>"
171
170
  - !ruby/object:Gem::Version
172
- version: '2.1'
171
+ version: '2.2'
173
172
  type: :runtime
174
173
  prerelease: false
175
174
  version_requirements: !ruby/object:Gem::Requirement
176
175
  requirements:
177
176
  - - "~>"
178
177
  - !ruby/object:Gem::Version
179
- version: '2.1'
178
+ version: '2.2'
180
179
  - !ruby/object:Gem::Dependency
181
180
  name: infusible
182
181
  requirement: !ruby/object:Gem::Requirement
183
182
  requirements:
184
183
  - - "~>"
185
184
  - !ruby/object:Gem::Version
186
- version: '3.12'
185
+ version: '4.0'
187
186
  type: :runtime
188
187
  prerelease: false
189
188
  version_requirements: !ruby/object:Gem::Requirement
190
189
  requirements:
191
190
  - - "~>"
192
191
  - !ruby/object:Gem::Version
193
- version: '3.12'
192
+ version: '4.0'
194
193
  - !ruby/object:Gem::Dependency
195
194
  name: lode
196
195
  requirement: !ruby/object:Gem::Requirement
197
196
  requirements:
198
197
  - - "~>"
199
198
  - !ruby/object:Gem::Version
200
- version: '1.8'
199
+ version: '2.0'
201
200
  type: :runtime
202
201
  prerelease: false
203
202
  version_requirements: !ruby/object:Gem::Requirement
204
203
  requirements:
205
204
  - - "~>"
206
205
  - !ruby/object:Gem::Version
207
- version: '1.8'
206
+ version: '2.0'
208
207
  - !ruby/object:Gem::Dependency
209
208
  name: redcarpet
210
209
  requirement: !ruby/object:Gem::Requirement
@@ -225,28 +224,28 @@ dependencies:
225
224
  requirements:
226
225
  - - "~>"
227
226
  - !ruby/object:Gem::Version
228
- version: '12.10'
227
+ version: '13.0'
229
228
  type: :runtime
230
229
  prerelease: false
231
230
  version_requirements: !ruby/object:Gem::Requirement
232
231
  requirements:
233
232
  - - "~>"
234
233
  - !ruby/object:Gem::Version
235
- version: '12.10'
234
+ version: '13.0'
236
235
  - !ruby/object:Gem::Dependency
237
236
  name: rouge
238
237
  requirement: !ruby/object:Gem::Requirement
239
238
  requirements:
240
239
  - - "~>"
241
240
  - !ruby/object:Gem::Version
242
- version: '4.4'
241
+ version: '4.5'
243
242
  type: :runtime
244
243
  prerelease: false
245
244
  version_requirements: !ruby/object:Gem::Requirement
246
245
  requirements:
247
246
  - - "~>"
248
247
  - !ruby/object:Gem::Version
249
- version: '4.4'
248
+ version: '4.5'
250
249
  - !ruby/object:Gem::Dependency
251
250
  name: rss
252
251
  requirement: !ruby/object:Gem::Requirement
@@ -267,14 +266,14 @@ dependencies:
267
266
  requirements:
268
267
  - - "~>"
269
268
  - !ruby/object:Gem::Version
270
- version: '11.10'
269
+ version: '12.0'
271
270
  type: :runtime
272
271
  prerelease: false
273
272
  version_requirements: !ruby/object:Gem::Requirement
274
273
  requirements:
275
274
  - - "~>"
276
275
  - !ruby/object:Gem::Version
277
- version: '11.10'
276
+ version: '12.0'
278
277
  - !ruby/object:Gem::Dependency
279
278
  name: sanitize
280
279
  requirement: !ruby/object:Gem::Requirement
@@ -295,42 +294,56 @@ dependencies:
295
294
  requirements:
296
295
  - - "~>"
297
296
  - !ruby/object:Gem::Version
298
- version: '0.20'
297
+ version: '1.0'
299
298
  type: :runtime
300
299
  prerelease: false
301
300
  version_requirements: !ruby/object:Gem::Requirement
302
301
  requirements:
303
302
  - - "~>"
304
303
  - !ruby/object:Gem::Version
305
- version: '0.20'
304
+ version: '1.0'
306
305
  - !ruby/object:Gem::Dependency
307
306
  name: spek
308
307
  requirement: !ruby/object:Gem::Requirement
309
308
  requirements:
310
309
  - - "~>"
311
310
  - !ruby/object:Gem::Version
312
- version: '3.0'
311
+ version: '4.0'
313
312
  type: :runtime
314
313
  prerelease: false
315
314
  version_requirements: !ruby/object:Gem::Requirement
316
315
  requirements:
317
316
  - - "~>"
318
317
  - !ruby/object:Gem::Version
319
- version: '3.0'
318
+ version: '4.0'
319
+ - !ruby/object:Gem::Dependency
320
+ name: tone
321
+ requirement: !ruby/object:Gem::Requirement
322
+ requirements:
323
+ - - "~>"
324
+ - !ruby/object:Gem::Version
325
+ version: '2.0'
326
+ type: :runtime
327
+ prerelease: false
328
+ version_requirements: !ruby/object:Gem::Requirement
329
+ requirements:
330
+ - - "~>"
331
+ - !ruby/object:Gem::Version
332
+ version: '2.0'
320
333
  - !ruby/object:Gem::Dependency
321
334
  name: versionaire
322
335
  requirement: !ruby/object:Gem::Requirement
323
336
  requirements:
324
337
  - - "~>"
325
338
  - !ruby/object:Gem::Version
326
- version: '13.10'
339
+ version: '14.0'
327
340
  type: :runtime
328
341
  prerelease: false
329
342
  version_requirements: !ruby/object:Gem::Requirement
330
343
  requirements:
331
344
  - - "~>"
332
345
  - !ruby/object:Gem::Version
333
- version: '13.10'
346
+ version: '14.0'
334
347
  - !ruby/object:Gem::Dependency
335
348
  name: zeitwerk
336
349
  requirement: !ruby/object:Gem::Requirement
@@ -345,7 +358,6 @@ dependencies:
345
358
  - - "~>"
346
359
  - !ruby/object:Gem::Version
347
360
  version: '2.7'
348
- description:
349
361
  email:
350
362
  - brooke@alchemists.io
351
363
  executables:
@@ -359,19 +371,38 @@ files:
359
371
  - README.adoc
360
372
  - exe/milestoner
361
373
  - lib/milestoner.rb
374
+ - lib/milestoner/builders/adoc/container.rb
375
+ - lib/milestoner/builders/adoc/dependencies.rb
376
+ - lib/milestoner/builders/adoc/indexer.rb
377
+ - lib/milestoner/builders/adoc/pager.rb
362
378
  - lib/milestoner/builders/ascii_doc.rb
363
379
  - lib/milestoner/builders/container.rb
380
+ - lib/milestoner/builders/dependencies.rb
364
381
  - lib/milestoner/builders/feed.rb
365
- - lib/milestoner/builders/import.rb
366
382
  - lib/milestoner/builders/markdown.rb
383
+ - lib/milestoner/builders/md/container.rb
384
+ - lib/milestoner/builders/md/dependencies.rb
385
+ - lib/milestoner/builders/md/indexer.rb
386
+ - lib/milestoner/builders/md/pager.rb
387
+ - lib/milestoner/builders/path_resolver.rb
388
+ - lib/milestoner/builders/site/container.rb
389
+ - lib/milestoner/builders/site/dependencies.rb
390
+ - lib/milestoner/builders/site/indexer.rb
391
+ - lib/milestoner/builders/site/pager.rb
392
+ - lib/milestoner/builders/site/styler.rb
367
393
  - lib/milestoner/builders/stream.rb
394
+ - lib/milestoner/builders/syndication/builder.rb
395
+ - lib/milestoner/builders/syndication/indexer.rb
396
+ - lib/milestoner/builders/syndication/refine.rb
397
+ - lib/milestoner/builders/syndication/shared.rb
368
398
  - lib/milestoner/builders/web.rb
369
399
  - lib/milestoner/cli/actions/build/basename.rb
370
400
  - lib/milestoner/cli/actions/build/format.rb
401
+ - lib/milestoner/cli/actions/build/index.rb
371
402
  - lib/milestoner/cli/actions/build/label.rb
372
403
  - lib/milestoner/cli/actions/build/layout.rb
373
404
  - lib/milestoner/cli/actions/build/max.rb
374
- - lib/milestoner/cli/actions/build/root.rb
405
+ - lib/milestoner/cli/actions/build/output.rb
375
406
  - lib/milestoner/cli/actions/build/stylesheet.rb
376
407
  - lib/milestoner/cli/actions/build/tail.rb
377
408
  - lib/milestoner/cli/actions/build/version.rb
@@ -392,19 +423,18 @@ files:
392
423
  - lib/milestoner/commits/enrichers/body.rb
393
424
  - lib/milestoner/commits/enrichers/colleague.rb
394
425
  - lib/milestoner/commits/enrichers/container.rb
426
+ - lib/milestoner/commits/enrichers/dependencies.rb
395
427
  - lib/milestoner/commits/enrichers/format.rb
396
- - lib/milestoner/commits/enrichers/import.rb
397
428
  - lib/milestoner/commits/enrichers/issue.rb
398
429
  - lib/milestoner/commits/enrichers/milestone.rb
399
430
  - lib/milestoner/commits/enrichers/note.rb
400
431
  - lib/milestoner/commits/enrichers/review.rb
432
+ - lib/milestoner/commits/enrichers/time.rb
401
433
  - lib/milestoner/commits/enrichers/uri.rb
402
- - lib/milestoner/commits/tagger.rb
403
434
  - lib/milestoner/commits/versioner.rb
404
435
  - lib/milestoner/configuration/contract.rb
405
436
  - lib/milestoner/configuration/defaults.yml
406
437
  - lib/milestoner/configuration/model.rb
407
- - lib/milestoner/configuration/transformers/build/root.rb
408
438
  - lib/milestoner/configuration/transformers/build/template_paths.rb
409
439
  - lib/milestoner/configuration/transformers/citations/description.rb
410
440
  - lib/milestoner/configuration/transformers/citations/label.rb
@@ -421,7 +451,8 @@ files:
421
451
  - lib/milestoner/configuration/transformers/project/version.rb
422
452
  - lib/milestoner/configuration/transformers/syndication/link.rb
423
453
  - lib/milestoner/container.rb
424
- - lib/milestoner/import.rb
454
+ - lib/milestoner/dependencies.rb
455
+ - lib/milestoner/durationer.rb
425
456
  - lib/milestoner/models/commit.rb
426
457
  - lib/milestoner/models/link.rb
427
458
  - lib/milestoner/models/tag.rb
@@ -430,13 +461,13 @@ files:
430
461
  - lib/milestoner/renderers/markdown.rb
431
462
  - lib/milestoner/renderers/universal.rb
432
463
  - lib/milestoner/sanitizer.rb
433
- - lib/milestoner/syndication/builder.rb
434
- - lib/milestoner/syndication/refine.rb
435
- - lib/milestoner/syndication/shared.rb
464
+ - lib/milestoner/tags/builder.rb
436
465
  - lib/milestoner/tags/creator.rb
466
+ - lib/milestoner/tags/enricher.rb
437
467
  - lib/milestoner/tags/publisher.rb
438
468
  - lib/milestoner/tags/pusher.rb
439
469
  - lib/milestoner/templates/layouts/page.adoc.erb
470
+ - lib/milestoner/templates/layouts/page.git.erb
440
471
  - lib/milestoner/templates/layouts/page.html.erb
441
472
  - lib/milestoner/templates/layouts/page.md.erb
442
473
  - lib/milestoner/templates/layouts/page.stream.erb
@@ -466,11 +497,6 @@ files:
466
497
  - lib/milestoner/templates/milestones/_profile.xml.erb
467
498
  - lib/milestoner/templates/milestones/_tag-insecure.html.erb
468
499
  - lib/milestoner/templates/milestones/_tag-secure.html.erb
469
- - lib/milestoner/templates/milestones/_tag.adoc.erb
470
- - lib/milestoner/templates/milestones/_tag.html.erb
471
- - lib/milestoner/templates/milestones/_tag.md.erb
472
- - lib/milestoner/templates/milestones/_tag.stream.erb
473
- - lib/milestoner/templates/milestones/_tag.xml.erb
474
500
  - lib/milestoner/templates/milestones/_user.adoc.erb
475
501
  - lib/milestoner/templates/milestones/_user.html.erb
476
502
  - lib/milestoner/templates/milestones/_user.md.erb
@@ -479,13 +505,18 @@ files:
479
505
  - lib/milestoner/templates/milestones/_users.html.erb
480
506
  - lib/milestoner/templates/milestones/_users.md.erb
481
507
  - lib/milestoner/templates/milestones/_users.xml.erb
508
+ - lib/milestoner/templates/milestones/index.adoc.erb
509
+ - lib/milestoner/templates/milestones/index.html.erb
510
+ - lib/milestoner/templates/milestones/index.md.erb
482
511
  - lib/milestoner/templates/milestones/show.adoc.erb
512
+ - lib/milestoner/templates/milestones/show.git.erb
483
513
  - lib/milestoner/templates/milestones/show.html.erb
484
514
  - lib/milestoner/templates/milestones/show.md.erb
485
515
  - lib/milestoner/templates/milestones/show.stream.erb
486
516
  - lib/milestoner/templates/milestones/show.xml.erb
487
517
  - lib/milestoner/templates/public/page.css.erb
488
518
  - lib/milestoner/views/context.rb
519
+ - lib/milestoner/views/milestones/index.rb
489
520
  - lib/milestoner/views/milestones/show.rb
490
521
  - lib/milestoner/views/parts/commit.rb
491
522
  - lib/milestoner/views/parts/tag.rb
@@ -507,16 +538,12 @@ metadata:
507
538
  label: Milestoner
508
539
  rubygems_mfa_required: 'true'
509
540
  source_code_uri: https://github.com/bkuhlmann/milestoner
510
- post_install_message:
511
541
  rdoc_options: []
512
542
  require_paths:
513
543
  - lib
514
544
  required_ruby_version: !ruby/object:Gem::Requirement
515
545
  requirements:
516
- - - ">="
517
- - !ruby/object:Gem::Version
518
- version: '3.3'
519
- - - "<="
546
+ - - "~>"
520
547
  - !ruby/object:Gem::Version
521
548
  version: '3.4'
522
549
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -525,8 +552,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
525
552
  - !ruby/object:Gem::Version
526
553
  version: '0'
527
554
  requirements: []
528
- rubygems_version: 3.5.23
529
- signing_key:
555
+ rubygems_version: 3.6.2
530
556
  specification_version: 4
531
557
  summary: A command line interface for automated Git repository milestones.
532
558
  test_files: []
metadata.gz.sig CHANGED
Binary file
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "pathname"
4
- require "sod"
5
-
6
- module Milestoner
7
- module CLI
8
- module Actions
9
- module Build
10
- # Handles build root path.
11
- class Root < Sod::Action
12
- include Import[:settings]
13
-
14
- description "Set root output path."
15
-
16
- on %w[-r --root], argument: "[PATH]"
17
-
18
- default { Container[:settings].build_root }
19
-
20
- def call(path = default) = settings.build_root = Pathname(path).expand_path
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "dry/monads"
4
- require "pathname"
5
- require "refinements/hash"
6
-
7
- module Milestoner
8
- module Configuration
9
- module Transformers
10
- # Ensures build root is expanded.
11
- module Build
12
- using Refinements::Hash
13
-
14
- Root = lambda do |attributes, key = :build_root|
15
- attributes.transform_value!(key) { |value| Pathname(value).expand_path }
16
- Dry::Monads::Success attributes
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,123 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "core"
4
- require "dry/monads"
5
- require "rss"
6
-
7
- module Milestoner
8
- module Syndication
9
- # Builds feed in Atom format.
10
- # :reek:DataClump
11
- class Builder
12
- include Import[:settings]
13
- include Dry::Monads[:result]
14
-
15
- using Refine
16
-
17
- def self.authors_for tags
18
- tags.flat_map { |tag| tag.commits.map(&:author) }
19
- .then { |users| users.any? ? users : tags.map(&:author) }
20
- .uniq
21
- end
22
-
23
- def initialize(client: RSS::Maker, view: Views::Milestones::Show.new, **)
24
- super(**)
25
- @client = client
26
- @view = view
27
- end
28
-
29
- def call tags
30
- return Failure "No tags or commits." if tags.empty?
31
-
32
- Success build_feed(tags).to_s
33
- rescue NoMethodError, RSS::Error => error
34
- Failure "#{self.class}: #{error.message.capitalize}."
35
- end
36
-
37
- private
38
-
39
- attr_reader :client, :view
40
-
41
- def build_feed tags
42
- client.make "atom" do |node|
43
- build_channel node.channel, tags
44
- build_tags node, tags
45
- end
46
- end
47
-
48
- def build_channel node, tags
49
- at = tags.first.committed_at
50
-
51
- node.merge id: settings.project_uri_home,
52
- title: settings.syndication_label,
53
- subtitle: settings.project_description,
54
- icon: settings.project_uri_icon,
55
- logo: settings.project_uri_logo,
56
- rights: at.strftime("%Y"),
57
- updated: at
58
-
59
- build_channel_elements node, tags
60
- end
61
-
62
- def build_channel_elements node, tags
63
- build_links node
64
- build_generator node
65
- build_authors node, self.class.authors_for(tags)
66
-
67
- node.categories.build label: settings.project_label, term: settings.project_name
68
- end
69
-
70
- def build_links node
71
- node.links.build_for settings.syndication_links,
72
- label: :title,
73
- uri: :href,
74
- relation: :rel,
75
- mime: :type
76
- end
77
-
78
- def build_generator node
79
- node.generator do |generator|
80
- generator.merge content: settings.generator_label,
81
- version: settings.generator_version,
82
- uri: settings.generator_uri
83
- end
84
- end
85
-
86
- def build_tags node, tags = Core::EMPTY_ARRAY
87
- tags.each { |tag| build_item node.items, tag }
88
- end
89
-
90
- def build_item node, tag
91
- node.new_item do |item|
92
- build_item_metadata item, tag
93
- build_item_content item.content, tag
94
- build_authors item, tag.commits.map(&:author).uniq.select(&:name)
95
- item.categories.build_for settings.syndication_categories, label: :label, name: :term
96
- end
97
- end
98
-
99
- def build_item_metadata node, tag
100
- committed_at = tag.committed_at
101
- version = tag.version
102
-
103
- node.merge id: format(settings.syndication_id, id: version),
104
- title: format(settings.syndication_entry_label, id: version),
105
- link: format(settings.syndication_entry_uri, id: version),
106
- rights: committed_at.strftime("%Y"),
107
- published: committed_at,
108
- updated: committed_at
109
- end
110
-
111
- def build_item_content node, tag
112
- content = view.call tag:, layout: settings.build_layout, format: :xml
113
- node.merge content:, type: :html
114
- end
115
-
116
- def build_authors node, users = Core::EMPTY_ARRAY
117
- users.each do |user|
118
- node.authors.build name: user.name, uri: format(settings.profile_uri, id: user.handle)
119
- end
120
- end
121
- end
122
- end
123
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rss"
4
-
5
- module Milestoner
6
- module Syndication
7
- # Smooths out the rough edges of the RSS gem object which are harder to work with.
8
- module Refine
9
- refine(RSS::Maker::Atom::Feed::Channel) { import_methods Shared }
10
- refine(RSS::Maker::Atom::Feed::Channel::Authors) { import_methods Shared }
11
- refine(RSS::Maker::Atom::Feed::Channel::Authors::Author) { import_methods Shared }
12
- refine(RSS::Maker::Atom::Feed::Channel::Categories) { import_methods Shared }
13
- refine(RSS::Maker::Atom::Feed::Channel::Categories::Category) { import_methods Shared }
14
- refine(RSS::Maker::Atom::Feed::Channel::Generator) { import_methods Shared }
15
- refine(RSS::Maker::Atom::Feed::Channel::Links::Link) { import_methods Shared }
16
- refine(RSS::Maker::Atom::Feed::Items::Item) { import_methods Shared }
17
- refine(RSS::Maker::Atom::Feed::Channel::Links) { import_methods Shared }
18
- refine(RSS::Maker::Atom::Feed::Items::Item::Authors) { import_methods Shared }
19
- refine(RSS::Maker::Atom::Feed::Items::Item::Authors::Author) { import_methods Shared }
20
- refine(RSS::Maker::Atom::Feed::Items::Item::Categories) { import_methods Shared }
21
- refine(RSS::Maker::Atom::Feed::Items::Item::Categories::Category) { import_methods Shared }
22
- refine(RSS::Maker::Atom::Feed::Items::Item::Content) { import_methods Shared }
23
- end
24
- end
25
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Milestoner
4
- module Syndication
5
- # Provides shared functionality for refinements.
6
- module Shared
7
- def merge(**attributes) = attributes.each { |key, value| public_send :"#{key}=", value }
8
-
9
- def build_for(collection, **)
10
- collection.each { |attributes| build(**attributes.transform_keys(**)) }
11
- end
12
-
13
- def build(**attributes)
14
- node = public_send :"new_#{kind}"
15
- attributes.each { |key, value| node.public_send :"#{key}=", value }
16
- end
17
-
18
- private
19
-
20
- def kind
21
- self.class.name.downcase.split("::").last.sub("categories", "category").delete_suffix("s")
22
- end
23
- end
24
- end
25
- end
@@ -1,13 +0,0 @@
1
- <% if tag.empty? %>
2
- = pass:[ ]<%= scope(:logo).call.strip %>link:<%= project_uri_home %>[<%= project_label %>] (<%= tag.committed_date %>)
3
-
4
- *<%= tag.total_commits %>. <%= tag.total_files %>. <%= tag.total_deletions %>. <%= tag.total_insertions %>.*
5
- <% else %>
6
- = pass:[ ]<%= scope(:logo).call.strip %>link:<%= project_uri_home %>[<%= project_label %>] <%= tag.version %> (<%= tag.committed_date %>)
7
-
8
- <%= render :user, user: tag.author %> | <%= tag.security %>
9
-
10
- <% tag.commits.each do |commit| %><%= commit.render :commit %><% end %>
11
-
12
- *<%= tag.total_commits %>. <%= tag.total_files %>. <%= tag.total_deletions %>. <%= tag.total_insertions %>.*
13
- <% end %>