milestoner 19.2.0 → 19.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +1 -1
- data/lib/milestoner/templates/layouts/page.html.erb +5 -0
- data/lib/milestoner/templates/milestones/_commit.html.erb +8 -9
- data/lib/milestoner/templates/milestones/index.html.erb +26 -17
- data/lib/milestoner/templates/milestones/show.adoc.erb +1 -1
- data/lib/milestoner/templates/milestones/show.html.erb +29 -18
- data/lib/milestoner/templates/milestones/show.md.erb +1 -1
- data/lib/milestoner/templates/public/page.css.erb +93 -39
- data/milestoner.gemspec +1 -1
- data.tar.gz.sig +2 -3
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1216fdfa3ee558e0f321b79ad864c5fdca540233896721aaa416841a061423c
|
4
|
+
data.tar.gz: 203a5d11b22360d123413129ba3a83ae6f93fc8cf44d09ccfb7f40f1cf2c5ecc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4394df1c89804ceafbbbe5b85e67239288430b23216bb251ec11f1bb00f67fee947d3b06cc1da6f3792e222453d6a986c154561390e1da04c74c38c32482f29b
|
7
|
+
data.tar.gz: b4769cd20edf13fea347875433974c6b510ec22aaa58c4b7d345685103e6e5e92a8a80ac823601f62ac71b54b23d346e0b35ffe2bf8b2ba5087729ef4b390887
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -359,7 +359,7 @@ image:https://alchemists.io/images/projects/milestoner/screenshots/no_cache.png[
|
|
359
359
|
|
360
360
|
=== Build
|
361
361
|
|
362
|
-
image:https://alchemists.io/images/projects/milestoner/screenshots/usage-build.png[Usage,width=
|
362
|
+
image:https://alchemists.io/images/projects/milestoner/screenshots/usage-build.png[Usage,width=786,height=708,role=focal_point]
|
363
363
|
|
364
364
|
The build command allows you to quickly build release notes to check the current status of your project or deploy a new milestone. By default, the build command uses either the default or custom configuration as documented in the _Configuration_ section above. This means, when using the defaults, you can immediately build the release notes for your project in a temporary directory:
|
365
365
|
|
@@ -40,6 +40,11 @@
|
|
40
40
|
integrity="sha384-HGfztofotfshcF7+8n44JQL2oJmowVChPTg48S+jvZoztPfvwD79OC/LTtG6dMp+"
|
41
41
|
crossorigin="anonymous">
|
42
42
|
</script>
|
43
|
+
|
44
|
+
<script src="https://unpkg.com/htmx-select@0.0.0"
|
45
|
+
integrity="sha384-sHXxspXI+1G3Mb+k1zPcNdkBRL2Q+nKLcOtkbUPE0USxJFJtjf5pQpuykwTDAcPc"
|
46
|
+
crossorigin="anonymous">
|
47
|
+
</script>
|
43
48
|
</head>
|
44
49
|
|
45
50
|
<body class="milestoner">
|
@@ -1,14 +1,13 @@
|
|
1
1
|
<details id="<%= commit.sha %>" class="row" x-bind:open="open">
|
2
2
|
<summary class="summary <%= commit.kind %>">
|
3
|
-
<
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
</div>
|
3
|
+
<img src="https://alchemists.io/images/projects/milestoner/icons/<%= commit.icon %>.png"
|
4
|
+
alt="<%= commit.kind %>"
|
5
|
+
class="icon"
|
6
|
+
width="24"
|
7
|
+
height="24"
|
8
|
+
loading="lazy">
|
9
|
+
|
10
|
+
<span class="subject"><%= commit.subject %></span>
|
12
11
|
|
13
12
|
<a href="<%= commit.author.profile_url %>" class="author">
|
14
13
|
<%= render :avatar, user: commit.author %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<section class="milestones">
|
2
2
|
<h1 class="title">
|
3
|
-
<a href="<%= project_uri_home %>" class="label"><%= project_label %></a>
|
3
|
+
<a href="<%= project_uri_home %>" class="label"><%= project_label %></a>
|
4
4
|
</h1>
|
5
5
|
|
6
6
|
<p>All versions adhere to the <a href="https://alchemists.io/articles/strict_semantic_versioning">Strict Semantic Versioning</a> as enforced with <a href="https://alchemists.io/projects/versionaire">Versionaire</a> and automated by <a href="<%= generator_uri %>"><%= generator_label %></a>. Briefly, this means:</p>
|
@@ -11,21 +11,30 @@
|
|
11
11
|
<li><strong>Patch</strong> (x.y.Z): Incremented for small, backwards compatible, bug fixes.</li>
|
12
12
|
</ul>
|
13
13
|
|
14
|
-
<
|
15
|
-
|
16
|
-
<li class="item">
|
17
|
-
<a href="/<%= tag.version %>/"
|
18
|
-
class="version"
|
19
|
-
hx-get="/<%= tag.version %>/"
|
20
|
-
hx-select=".milestone"
|
21
|
-
hx-target=".milestones"
|
22
|
-
hx-swap="outerHTML"
|
23
|
-
hx-push-url="true">
|
24
|
-
<%= tag.version %>
|
25
|
-
</a>
|
14
|
+
<div class="selection fragment">
|
15
|
+
<label for="version" class="label">Version:</label>
|
26
16
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
17
|
+
<select id="version"
|
18
|
+
name="version"
|
19
|
+
class="versions"
|
20
|
+
hx-get=""
|
21
|
+
hx-trigger="change"
|
22
|
+
hx-select=".milestone"
|
23
|
+
hx-target=".milestones"
|
24
|
+
hx-swap="outerHTML"
|
25
|
+
hx-push-url="true"
|
26
|
+
hx-indicator=".spinner"
|
27
|
+
hx-ext="select">
|
28
|
+
|
29
|
+
<option value="" class="option">Select...</option>
|
30
|
+
|
31
|
+
<% tags.each do |tag| %>
|
32
|
+
<option value="<%= tag.version %>/" class="option">
|
33
|
+
<%= tag.version %> (<%= tag.committed_date %>)
|
34
|
+
</option>
|
35
|
+
<% end %>
|
36
|
+
</select>
|
37
|
+
|
38
|
+
<div class="spinner htmx-indicator"></div>
|
39
|
+
</div>
|
31
40
|
</section>
|
@@ -13,5 +13,5 @@
|
|
13
13
|
*<%= tag.total_commits %>. <%= tag.total_files %>. <%= tag.total_deletions %>. <%= tag.total_insertions %>.* +
|
14
14
|
*<%= tag.total_duration %>.*
|
15
15
|
|
16
|
-
link
|
16
|
+
link:../<%= past.version %>/[Previous (<%= past.version %>)] | link:../<%= future.version %>/[Next (<%= future.version %>)]
|
17
17
|
<% end %>
|
@@ -1,16 +1,21 @@
|
|
1
1
|
<article class="milestone">
|
2
2
|
<header class="header">
|
3
3
|
<% if tag.index? %>
|
4
|
-
<
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
4
|
+
<div class="fragment">
|
5
|
+
<a href="../"
|
6
|
+
class="root"
|
7
|
+
hx-get="../"
|
8
|
+
hx-select=".milestones"
|
9
|
+
hx-trigger="click, keyup[key=='v'] from:body"
|
10
|
+
hx-target=".milestone"
|
11
|
+
hx-swap="outerHTML"
|
12
|
+
hx-push-url="true"
|
13
|
+
hx-indicator=".index">
|
14
|
+
Versions
|
15
|
+
</a>
|
16
|
+
|
17
|
+
<div class="index spinner htmx-indicator"></div>
|
18
|
+
</div>
|
14
19
|
<% end %>
|
15
20
|
|
16
21
|
<h1 class="title">
|
@@ -71,19 +76,22 @@
|
|
71
76
|
</p>
|
72
77
|
|
73
78
|
<ul class="actions">
|
74
|
-
<li>
|
75
|
-
<a href="
|
79
|
+
<li class="fragment">
|
80
|
+
<a href="../<%= past.version %>/"
|
76
81
|
class="action"
|
77
82
|
data-direction="previous"
|
78
|
-
hx-get="
|
83
|
+
hx-get="../<%= past.version %>/"
|
79
84
|
hx-select=".milestone"
|
80
85
|
hx-trigger="click, keyup[key=='ArrowLeft'] from:body"
|
81
86
|
hx-target=".milestone"
|
82
87
|
hx-swap="outerHTML"
|
83
|
-
hx-push-url="true"
|
88
|
+
hx-push-url="true"
|
89
|
+
hx-indicator=".previous">
|
84
90
|
Previous
|
85
91
|
(<%= past.version %>)
|
86
92
|
</a>
|
93
|
+
|
94
|
+
<div class="previous spinner htmx-indicator"></div>
|
87
95
|
</li>
|
88
96
|
|
89
97
|
<li>
|
@@ -100,16 +108,19 @@
|
|
100
108
|
</div>
|
101
109
|
</li>
|
102
110
|
|
103
|
-
<li>
|
104
|
-
<
|
111
|
+
<li class="fragment">
|
112
|
+
<div class="next spinner htmx-indicator"></div>
|
113
|
+
|
114
|
+
<a href="../<%= future.version %>/"
|
105
115
|
class="action"
|
106
116
|
data-direction="next"
|
107
|
-
hx-get="
|
117
|
+
hx-get="../<%= future.version %>/"
|
108
118
|
hx-select=".milestone"
|
109
119
|
hx-trigger="click, keyup[key=='ArrowRight'] from:body"
|
110
120
|
hx-target=".milestone"
|
111
121
|
hx-swap="outerHTML"
|
112
|
-
hx-push-url="true"
|
122
|
+
hx-push-url="true"
|
123
|
+
hx-indicator=".next">
|
113
124
|
Next
|
114
125
|
(<%= future.version %>)
|
115
126
|
</a>
|
@@ -12,5 +12,5 @@
|
|
12
12
|
**<%= tag.total_commits %>. <%= tag.total_files %>. <%= tag.total_deletions %>. <%= tag.total_insertions %>.**
|
13
13
|
**<%= tag.total_duration %>.**
|
14
14
|
|
15
|
-
[Previous (<%= past.version %>)](
|
15
|
+
[Previous (<%= past.version %>)](../<%= past.version %>/) | [Next (<%= future.version %>)](../<%= future.version %>/)
|
16
16
|
<% end %>
|
@@ -1,3 +1,8 @@
|
|
1
|
+
@keyframes spin {
|
2
|
+
0% { transform: rotate(0deg); }
|
3
|
+
100% { transform: rotate(360deg); }
|
4
|
+
}
|
5
|
+
|
1
6
|
/* Rouge (https://rouge.jneen.net) */
|
2
7
|
.rouge.highlight {
|
3
8
|
--color-berry: hsl(240, 18%, 40%);
|
@@ -479,6 +484,21 @@
|
|
479
484
|
}
|
480
485
|
}
|
481
486
|
|
487
|
+
.spinner {
|
488
|
+
animation: spin 1.5s linear infinite;
|
489
|
+
border-radius: 50%;
|
490
|
+
border: 0.3rem solid var(--color-grey);
|
491
|
+
border-top: 0.3rem solid var(--color-green);
|
492
|
+
height: 1rem;
|
493
|
+
width: 1rem;
|
494
|
+
}
|
495
|
+
|
496
|
+
.fragment {
|
497
|
+
align-items: center;
|
498
|
+
display: flex;
|
499
|
+
gap: 0.5rem;
|
500
|
+
}
|
501
|
+
|
482
502
|
.toggle {
|
483
503
|
background-color: var(--color-white);
|
484
504
|
border: 0.15rem solid var(--color-smoke);
|
@@ -500,24 +520,20 @@
|
|
500
520
|
flex-direction: column;
|
501
521
|
margin: 0 12vw;
|
502
522
|
|
503
|
-
.
|
504
|
-
|
505
|
-
|
506
|
-
border-radius: 0.5rem;
|
507
|
-
display: flex;
|
508
|
-
gap: 0.5rem;
|
509
|
-
flex-direction: column;
|
510
|
-
margin: 1rem 0;
|
511
|
-
padding: 1rem;
|
523
|
+
.label {
|
524
|
+
font-weight: 600;
|
525
|
+
}
|
512
526
|
|
513
|
-
|
514
|
-
|
515
|
-
justify-content: space-between;
|
516
|
-
}
|
527
|
+
.selection {
|
528
|
+
margin: 1rem 0 0.5rem 0;
|
517
529
|
}
|
518
530
|
|
519
|
-
.
|
520
|
-
color: var(--color-
|
531
|
+
.versions {
|
532
|
+
background-color: var(--color-ice);
|
533
|
+
border-radius: 0.5rem;
|
534
|
+
border: 0.15rem solid var(--color-black);
|
535
|
+
font-size: 1rem;
|
536
|
+
padding: 0.2rem 0.5rem;
|
521
537
|
}
|
522
538
|
}
|
523
539
|
|
@@ -551,21 +567,6 @@
|
|
551
567
|
color: var(--color-white);
|
552
568
|
}
|
553
569
|
|
554
|
-
.columns {
|
555
|
-
background-color: var(--color-black);
|
556
|
-
border-top-left-radius: 0.5rem;
|
557
|
-
border-top-right-radius: 0.5rem;
|
558
|
-
color: var(--color-white);
|
559
|
-
display: grid;
|
560
|
-
grid-template: 1fr / 4.7fr 1fr 1fr 1fr 1fr 1fr;
|
561
|
-
padding: 0.3rem 0;
|
562
|
-
|
563
|
-
.label {
|
564
|
-
font-weight: 600;
|
565
|
-
text-align: center;
|
566
|
-
}
|
567
|
-
}
|
568
|
-
|
569
570
|
.header {
|
570
571
|
align-items: center;
|
571
572
|
display: grid;
|
@@ -621,7 +622,6 @@
|
|
621
622
|
}
|
622
623
|
|
623
624
|
.owner {
|
624
|
-
align-items: center;
|
625
625
|
display: flex;
|
626
626
|
gap: 0.5rem;
|
627
627
|
justify-content: center;
|
@@ -634,6 +634,27 @@
|
|
634
634
|
}
|
635
635
|
}
|
636
636
|
|
637
|
+
.columns {
|
638
|
+
background-color: var(--color-black);
|
639
|
+
border-top-left-radius: 0.5rem;
|
640
|
+
border-top-right-radius: 0.5rem;
|
641
|
+
color: var(--color-white);
|
642
|
+
display: none;
|
643
|
+
padding: 0.3rem 0;
|
644
|
+
|
645
|
+
@media (width >= 700px) {
|
646
|
+
display: grid;
|
647
|
+
grid-template: 1fr / 4.7fr repeat(5, 1fr);
|
648
|
+
}
|
649
|
+
|
650
|
+
.label {
|
651
|
+
font-weight: 600;
|
652
|
+
overflow: hidden;
|
653
|
+
texdt-overflow: ellipsis;
|
654
|
+
text-align: center;
|
655
|
+
}
|
656
|
+
}
|
657
|
+
|
637
658
|
.row {
|
638
659
|
.label {
|
639
660
|
font-weight: 600;
|
@@ -650,18 +671,22 @@
|
|
650
671
|
border-radius: 0.5rem;
|
651
672
|
display: grid;
|
652
673
|
gap: 0 1rem;
|
653
|
-
grid-template: 1fr / auto
|
674
|
+
grid-template: 1fr 1fr / auto auto auto repeat(5, 1fr);
|
675
|
+
grid-template-areas:
|
676
|
+
"toggle icon subject subject subject subject subject subject"
|
677
|
+
"toggle icon author files lines issue review review";
|
654
678
|
padding: 0.15rem 0;
|
655
679
|
margin: 0.25rem 0 0 0;
|
656
680
|
|
657
681
|
&::-webkit-details-marker {
|
658
|
-
display:none;
|
682
|
+
display: none;
|
659
683
|
}
|
660
684
|
|
661
685
|
&::before {
|
662
686
|
color: var(--color-carbon);
|
663
|
-
content: "\25B6";
|
687
|
+
content: "\25B6\FE0E";
|
664
688
|
cursor: pointer;
|
689
|
+
grid-area: toggle;
|
665
690
|
width: 0.5rem;
|
666
691
|
}
|
667
692
|
|
@@ -690,10 +715,25 @@
|
|
690
715
|
border-radius: 0.5rem;
|
691
716
|
}
|
692
717
|
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
718
|
+
@media (width >= 700px) {
|
719
|
+
grid-template: 1fr / auto auto 5fr repeat(5, 1fr);
|
720
|
+
grid-template-areas: "toggle icon subject author files lines issue review";
|
721
|
+
}
|
722
|
+
|
723
|
+
.icon {
|
724
|
+
grid-area: icon;
|
725
|
+
}
|
726
|
+
|
727
|
+
.subject {
|
728
|
+
grid-area: subject;
|
729
|
+
}
|
730
|
+
|
731
|
+
.author {
|
732
|
+
grid-area: author;
|
733
|
+
}
|
734
|
+
|
735
|
+
.files {
|
736
|
+
grid-area: files;
|
697
737
|
}
|
698
738
|
|
699
739
|
.author,
|
@@ -709,6 +749,13 @@
|
|
709
749
|
}
|
710
750
|
|
711
751
|
.lines {
|
752
|
+
grid-area: lines;
|
753
|
+
white-space: nowrap;
|
754
|
+
|
755
|
+
@media (width >= 700px) {
|
756
|
+
white-space: normal;
|
757
|
+
}
|
758
|
+
|
712
759
|
.deletions {
|
713
760
|
color: var(--color-green);
|
714
761
|
}
|
@@ -717,6 +764,14 @@
|
|
717
764
|
color: var(--color-red);
|
718
765
|
}
|
719
766
|
}
|
767
|
+
|
768
|
+
.issue {
|
769
|
+
grid-area: issue;
|
770
|
+
}
|
771
|
+
|
772
|
+
.review {
|
773
|
+
grid-area: review;
|
774
|
+
}
|
720
775
|
}
|
721
776
|
|
722
777
|
.details {
|
@@ -736,7 +791,6 @@
|
|
736
791
|
}
|
737
792
|
|
738
793
|
.tag {
|
739
|
-
align-self: stretch;
|
740
794
|
border-radius: 0.3rem;
|
741
795
|
grid-area: tag;
|
742
796
|
margin: 1rem 0;
|
data/milestoner.gemspec
CHANGED
data.tar.gz.sig
CHANGED
@@ -1,3 +1,2 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
#o⧩5 _ͯ���Z�_���;��Pc]_��|��<�����S������1sj�/�k���pO;�V�O���T�쯑d�= �s'
|
1
|
+
����]�(0��Ub����}����zո� �Kq5��fW�OҺ~rd)��AL�;M�g�u3��`���� �������Q�Բ��>��C��6�B��"В<z1�=���>����X�̀q�q��I�x��ߌrL����zJ٥�F���A��'���+���9�ar���oDxg"�R]*�AeQ�U|��͊�U!W��t�5�}���*=]�3
|
2
|
+
��Y��3=$U��EFY���/]�����\��4�˱؎ .���6��@D��AMZg�xY��R�èp�y$ �I�&����{q!��KCE��sa�i�WS��ճV}�M�H�Rh�y'�-�a&�9�����:����r�x�3]�h��̆�����l�ʮ�0��
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: milestoner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 19.
|
4
|
+
version: 19.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
34
34
|
3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
|
35
35
|
gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date: 2025-02-
|
37
|
+
date: 2025-02-20 00:00:00.000000000 Z
|
38
38
|
dependencies:
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: asciidoctor
|
@@ -555,7 +555,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
555
555
|
- !ruby/object:Gem::Version
|
556
556
|
version: '0'
|
557
557
|
requirements: []
|
558
|
-
rubygems_version: 3.6.
|
558
|
+
rubygems_version: 3.6.4
|
559
559
|
specification_version: 4
|
560
560
|
summary: A command line interface for automated Git repository milestones.
|
561
561
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|