milestoner 18.12.0 → 19.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.adoc +85 -71
  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 -5
  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 +7 -5
  49. data/lib/milestoner/commits/collector.rb +1 -1
  50. data/lib/milestoner/commits/enricher.rb +7 -5
  51. data/lib/milestoner/commits/enrichers/author.rb +1 -1
  52. data/lib/milestoner/commits/enrichers/body.rb +1 -1
  53. data/lib/milestoner/commits/enrichers/colleague.rb +1 -1
  54. data/lib/milestoner/commits/enrichers/container.rb +2 -2
  55. data/lib/milestoner/commits/enrichers/{import.rb → dependencies.rb} +1 -1
  56. data/lib/milestoner/commits/enrichers/format.rb +1 -1
  57. data/lib/milestoner/commits/enrichers/issue.rb +1 -1
  58. data/lib/milestoner/commits/enrichers/milestone.rb +1 -1
  59. data/lib/milestoner/commits/enrichers/note.rb +1 -1
  60. data/lib/milestoner/commits/enrichers/review.rb +1 -1
  61. data/lib/milestoner/commits/enrichers/uri.rb +1 -1
  62. data/lib/milestoner/commits/versioner.rb +1 -1
  63. data/lib/milestoner/configuration/contract.rb +6 -2
  64. data/lib/milestoner/configuration/defaults.yml +10 -4
  65. data/lib/milestoner/configuration/model.rb +5 -1
  66. data/lib/milestoner/configuration/transformers/gems/description.rb +1 -1
  67. data/lib/milestoner/configuration/transformers/gems/label.rb +2 -2
  68. data/lib/milestoner/configuration/transformers/gems/name.rb +1 -1
  69. data/lib/milestoner/configuration/transformers/gems/uri.rb +1 -1
  70. data/lib/milestoner/configuration/transformers/generator/label.rb +1 -1
  71. data/lib/milestoner/configuration/transformers/generator/uri.rb +1 -1
  72. data/lib/milestoner/configuration/transformers/generator/version.rb +1 -1
  73. data/lib/milestoner/configuration/transformers/project/author.rb +1 -1
  74. data/lib/milestoner/container.rb +3 -2
  75. data/lib/milestoner/{import.rb → dependencies.rb} +1 -1
  76. data/lib/milestoner/durationer.rb +25 -0
  77. data/lib/milestoner/models/commit.rb +2 -1
  78. data/lib/milestoner/renderers/universal.rb +1 -1
  79. data/lib/milestoner/tags/builder.rb +40 -0
  80. data/lib/milestoner/tags/creator.rb +7 -9
  81. data/lib/milestoner/{commits/tagger.rb → tags/enricher.rb} +27 -15
  82. data/lib/milestoner/tags/publisher.rb +1 -1
  83. data/lib/milestoner/tags/pusher.rb +1 -1
  84. data/lib/milestoner/templates/layouts/page.adoc.erb +4 -0
  85. data/lib/milestoner/templates/layouts/page.git.erb +1 -0
  86. data/lib/milestoner/templates/layouts/page.html.erb +17 -10
  87. data/lib/milestoner/templates/layouts/page.md.erb +3 -0
  88. data/lib/milestoner/templates/layouts/page.stream.erb +2 -1
  89. data/lib/milestoner/templates/layouts/page.xml.erb +4 -0
  90. data/lib/milestoner/templates/milestones/_commit.adoc.erb +4 -4
  91. data/lib/milestoner/templates/milestones/_commit.html.erb +7 -4
  92. data/lib/milestoner/templates/milestones/_commit.stream.erb +1 -1
  93. data/lib/milestoner/templates/milestones/_commit.xml.erb +2 -6
  94. data/lib/milestoner/templates/milestones/_logo.adoc.erb +1 -1
  95. data/lib/milestoner/templates/milestones/_logo.html.erb +1 -1
  96. data/lib/milestoner/templates/milestones/index.adoc.erb +13 -0
  97. data/lib/milestoner/templates/milestones/index.html.erb +31 -0
  98. data/lib/milestoner/templates/milestones/index.md.erb +13 -0
  99. data/lib/milestoner/templates/milestones/show.adoc.erb +17 -1
  100. data/lib/milestoner/templates/milestones/show.git.erb +8 -0
  101. data/lib/milestoner/templates/milestones/show.html.erb +119 -1
  102. data/lib/milestoner/templates/milestones/show.md.erb +16 -1
  103. data/lib/milestoner/templates/milestones/show.stream.erb +17 -1
  104. data/lib/milestoner/templates/milestones/show.xml.erb +22 -1
  105. data/lib/milestoner/templates/public/page.css.erb +402 -299
  106. data/lib/milestoner/views/context.rb +2 -1
  107. data/lib/milestoner/views/milestones/index.rb +23 -0
  108. data/lib/milestoner/views/milestones/show.rb +2 -2
  109. data/lib/milestoner/views/parts/commit.rb +47 -37
  110. data/lib/milestoner/views/parts/tag.rb +25 -17
  111. data/lib/milestoner/views/parts/user.rb +1 -1
  112. data/lib/milestoner.rb +5 -1
  113. data/milestoner.gemspec +18 -18
  114. data.tar.gz.sig +0 -0
  115. metadata +68 -57
  116. metadata.gz.sig +0 -0
  117. data/lib/milestoner/cli/actions/build/root.rb +0 -25
  118. data/lib/milestoner/configuration/transformers/build/root.rb +0 -21
  119. data/lib/milestoner/syndication/builder.rb +0 -123
  120. data/lib/milestoner/syndication/refine.rb +0 -25
  121. data/lib/milestoner/syndication/shared.rb +0 -25
  122. data/lib/milestoner/templates/milestones/_tag.adoc.erb +0 -13
  123. data/lib/milestoner/templates/milestones/_tag.html.erb +0 -56
  124. data/lib/milestoner/templates/milestones/_tag.md.erb +0 -14
  125. data/lib/milestoner/templates/milestones/_tag.stream.erb +0 -15
  126. 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.12.0
4
+ version: 19.1.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-12-15 00:00:00.000000000 Z
37
+ date: 2025-01-25 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.1'
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.1'
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.1'
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.1'
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,56 +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'
320
319
  - !ruby/object:Gem::Dependency
321
320
  name: tone
322
321
  requirement: !ruby/object:Gem::Requirement
323
322
  requirements:
324
323
  - - "~>"
325
324
  - !ruby/object:Gem::Version
326
- version: '1.0'
325
+ version: '2.0'
327
326
  type: :runtime
328
327
  prerelease: false
329
328
  version_requirements: !ruby/object:Gem::Requirement
330
329
  requirements:
331
330
  - - "~>"
332
331
  - !ruby/object:Gem::Version
333
- version: '1.0'
332
+ version: '2.0'
334
333
  - !ruby/object:Gem::Dependency
335
334
  name: versionaire
336
335
  requirement: !ruby/object:Gem::Requirement
337
336
  requirements:
338
337
  - - "~>"
339
338
  - !ruby/object:Gem::Version
340
- version: '13.10'
339
+ version: '14.0'
341
340
  type: :runtime
342
341
  prerelease: false
343
342
  version_requirements: !ruby/object:Gem::Requirement
344
343
  requirements:
345
344
  - - "~>"
346
345
  - !ruby/object:Gem::Version
347
- version: '13.10'
346
+ version: '14.0'
348
347
  - !ruby/object:Gem::Dependency
349
348
  name: zeitwerk
350
349
  requirement: !ruby/object:Gem::Requirement
@@ -359,7 +358,6 @@ dependencies:
359
358
  - - "~>"
360
359
  - !ruby/object:Gem::Version
361
360
  version: '2.7'
362
- description:
363
361
  email:
364
362
  - brooke@alchemists.io
365
363
  executables:
@@ -373,19 +371,38 @@ files:
373
371
  - README.adoc
374
372
  - exe/milestoner
375
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
376
378
  - lib/milestoner/builders/ascii_doc.rb
377
379
  - lib/milestoner/builders/container.rb
380
+ - lib/milestoner/builders/dependencies.rb
378
381
  - lib/milestoner/builders/feed.rb
379
- - lib/milestoner/builders/import.rb
380
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
381
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
382
398
  - lib/milestoner/builders/web.rb
383
399
  - lib/milestoner/cli/actions/build/basename.rb
384
400
  - lib/milestoner/cli/actions/build/format.rb
401
+ - lib/milestoner/cli/actions/build/index.rb
385
402
  - lib/milestoner/cli/actions/build/label.rb
386
403
  - lib/milestoner/cli/actions/build/layout.rb
387
404
  - lib/milestoner/cli/actions/build/max.rb
388
- - lib/milestoner/cli/actions/build/root.rb
405
+ - lib/milestoner/cli/actions/build/output.rb
389
406
  - lib/milestoner/cli/actions/build/stylesheet.rb
390
407
  - lib/milestoner/cli/actions/build/tail.rb
391
408
  - lib/milestoner/cli/actions/build/version.rb
@@ -406,20 +423,18 @@ files:
406
423
  - lib/milestoner/commits/enrichers/body.rb
407
424
  - lib/milestoner/commits/enrichers/colleague.rb
408
425
  - lib/milestoner/commits/enrichers/container.rb
426
+ - lib/milestoner/commits/enrichers/dependencies.rb
409
427
  - lib/milestoner/commits/enrichers/format.rb
410
- - lib/milestoner/commits/enrichers/import.rb
411
428
  - lib/milestoner/commits/enrichers/issue.rb
412
429
  - lib/milestoner/commits/enrichers/milestone.rb
413
430
  - lib/milestoner/commits/enrichers/note.rb
414
431
  - lib/milestoner/commits/enrichers/review.rb
415
432
  - lib/milestoner/commits/enrichers/time.rb
416
433
  - lib/milestoner/commits/enrichers/uri.rb
417
- - lib/milestoner/commits/tagger.rb
418
434
  - lib/milestoner/commits/versioner.rb
419
435
  - lib/milestoner/configuration/contract.rb
420
436
  - lib/milestoner/configuration/defaults.yml
421
437
  - lib/milestoner/configuration/model.rb
422
- - lib/milestoner/configuration/transformers/build/root.rb
423
438
  - lib/milestoner/configuration/transformers/build/template_paths.rb
424
439
  - lib/milestoner/configuration/transformers/citations/description.rb
425
440
  - lib/milestoner/configuration/transformers/citations/label.rb
@@ -436,7 +451,8 @@ files:
436
451
  - lib/milestoner/configuration/transformers/project/version.rb
437
452
  - lib/milestoner/configuration/transformers/syndication/link.rb
438
453
  - lib/milestoner/container.rb
439
- - lib/milestoner/import.rb
454
+ - lib/milestoner/dependencies.rb
455
+ - lib/milestoner/durationer.rb
440
456
  - lib/milestoner/models/commit.rb
441
457
  - lib/milestoner/models/link.rb
442
458
  - lib/milestoner/models/tag.rb
@@ -445,13 +461,13 @@ files:
445
461
  - lib/milestoner/renderers/markdown.rb
446
462
  - lib/milestoner/renderers/universal.rb
447
463
  - lib/milestoner/sanitizer.rb
448
- - lib/milestoner/syndication/builder.rb
449
- - lib/milestoner/syndication/refine.rb
450
- - lib/milestoner/syndication/shared.rb
464
+ - lib/milestoner/tags/builder.rb
451
465
  - lib/milestoner/tags/creator.rb
466
+ - lib/milestoner/tags/enricher.rb
452
467
  - lib/milestoner/tags/publisher.rb
453
468
  - lib/milestoner/tags/pusher.rb
454
469
  - lib/milestoner/templates/layouts/page.adoc.erb
470
+ - lib/milestoner/templates/layouts/page.git.erb
455
471
  - lib/milestoner/templates/layouts/page.html.erb
456
472
  - lib/milestoner/templates/layouts/page.md.erb
457
473
  - lib/milestoner/templates/layouts/page.stream.erb
@@ -481,11 +497,6 @@ files:
481
497
  - lib/milestoner/templates/milestones/_profile.xml.erb
482
498
  - lib/milestoner/templates/milestones/_tag-insecure.html.erb
483
499
  - lib/milestoner/templates/milestones/_tag-secure.html.erb
484
- - lib/milestoner/templates/milestones/_tag.adoc.erb
485
- - lib/milestoner/templates/milestones/_tag.html.erb
486
- - lib/milestoner/templates/milestones/_tag.md.erb
487
- - lib/milestoner/templates/milestones/_tag.stream.erb
488
- - lib/milestoner/templates/milestones/_tag.xml.erb
489
500
  - lib/milestoner/templates/milestones/_user.adoc.erb
490
501
  - lib/milestoner/templates/milestones/_user.html.erb
491
502
  - lib/milestoner/templates/milestones/_user.md.erb
@@ -494,13 +505,18 @@ files:
494
505
  - lib/milestoner/templates/milestones/_users.html.erb
495
506
  - lib/milestoner/templates/milestones/_users.md.erb
496
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
497
511
  - lib/milestoner/templates/milestones/show.adoc.erb
512
+ - lib/milestoner/templates/milestones/show.git.erb
498
513
  - lib/milestoner/templates/milestones/show.html.erb
499
514
  - lib/milestoner/templates/milestones/show.md.erb
500
515
  - lib/milestoner/templates/milestones/show.stream.erb
501
516
  - lib/milestoner/templates/milestones/show.xml.erb
502
517
  - lib/milestoner/templates/public/page.css.erb
503
518
  - lib/milestoner/views/context.rb
519
+ - lib/milestoner/views/milestones/index.rb
504
520
  - lib/milestoner/views/milestones/show.rb
505
521
  - lib/milestoner/views/parts/commit.rb
506
522
  - lib/milestoner/views/parts/tag.rb
@@ -522,16 +538,12 @@ metadata:
522
538
  label: Milestoner
523
539
  rubygems_mfa_required: 'true'
524
540
  source_code_uri: https://github.com/bkuhlmann/milestoner
525
- post_install_message:
526
541
  rdoc_options: []
527
542
  require_paths:
528
543
  - lib
529
544
  required_ruby_version: !ruby/object:Gem::Requirement
530
545
  requirements:
531
- - - ">="
532
- - !ruby/object:Gem::Version
533
- version: '3.3'
534
- - - "<="
546
+ - - "~>"
535
547
  - !ruby/object:Gem::Version
536
548
  version: '3.4'
537
549
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -540,8 +552,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
540
552
  - !ruby/object:Gem::Version
541
553
  version: '0'
542
554
  requirements: []
543
- rubygems_version: 3.5.23
544
- signing_key:
555
+ rubygems_version: 3.6.3
545
556
  specification_version: 4
546
557
  summary: A command line interface for automated Git repository milestones.
547
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 %>