utopia-project 0.28.1 → 0.29.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d0591e6fd134a4db7b7d5cb2aa3544d95d0c4d735b2a8bbcc8641680ed0a989c
4
- data.tar.gz: 18dff4e63c0f516141956f096fe4fb01126f96b25241d2f98350265ec98a03a3
3
+ metadata.gz: be23cff7691ea961b8a937c962b18d6f7b3154ad22af394cb9d6168020855e66
4
+ data.tar.gz: b9b89af946e962e8044cc12dfe9a050cedb55ea6f73b112b92d29a58c794130e
5
5
  SHA512:
6
- metadata.gz: 7a3a2f447e0aaec0d45e16a2be94984d6f86563205a7f0eed7cd47473364dead009b7fcaf2f520fa81949803a17731f16ee4ed53e2bc51cc60767448429fd440
7
- data.tar.gz: b01389c251adf4568196d36c58f5e0de345062e4dc4b19c7966dc57305492f27f57e93e09260b1a4bdd6d9e088a33e9b70c912dd50354d6d852b34182e444ae0
6
+ metadata.gz: '0781807983fefb1066fd513957c6140b092633cae6597a4e407f3d782dbc8b2c2515de7bac6dfafdb8907c580364efac230611cd8ff211e0c89f32c93e3a0113'
7
+ data.tar.gz: 11899a85d013208ecd9ff95d7c497f48e7ba5fb6eb792c8057c4aebfc677595125444cb28fb04a958fa93e061fa1a3c62d636eb4028407b12ccc34caeface47b
checksums.yaml.gz.sig CHANGED
Binary file
@@ -1,12 +1,12 @@
1
- Please see the [project changes](#{documentation_url}/changes/index) for all releases.
1
+ Please see the [project changes](#{documentation_url}changes/index) for all releases.
2
2
 
3
3
  <?r
4
4
  project.releases.first(10).each do |release|
5
5
  ?>
6
6
  ### #{release.name}
7
7
 
8
- <?r release.summary do |title| ?>
9
- - [#{title}](#{release.href(documentation_url, anchor: title)})
8
+ <?r release.changes do |change| ?>
9
+ - [#{change.to_markdown}](#{release.href(documentation_url, anchor: change.id)})
10
10
  <?r
11
11
  end
12
12
  end
data/changes.md CHANGED
@@ -1,5 +1,15 @@
1
- # v0.28.0
1
+ # Changes
2
2
 
3
- ## Introduce Changes Document
3
+ This document outlines major changes and new features in each release of the project.
4
+
5
+ ## Next
6
+
7
+ ### Improve `changes.md` document organization
8
+
9
+ Previously, level 1 headings were considered releases. This was changed to level 2 headings to allow for a level 1 heading to be used as the title of the document.
10
+
11
+ ## v0.28.0
12
+
13
+ ### Introduce `changes.md` document
4
14
 
5
15
  A new changes document, if present, will be used to display changes in the release notes. The changes document should be named `changes.md` and should be placed in the root of the project. The changes document should be written in markdown format.
@@ -8,6 +8,26 @@ require_relative 'document'
8
8
  module Utopia
9
9
  module Project
10
10
  class ChangesDocument < Document
11
+ class Summary
12
+ def initialize(node)
13
+ @node = node
14
+ end
15
+
16
+ attr :node
17
+
18
+ def id
19
+ @node.to_plaintext.chomp.downcase.gsub(/\s+/, "-")
20
+ end
21
+
22
+ def to_markdown
23
+ @node.dup.extract_children.to_markdown
24
+ end
25
+
26
+ def to_html
27
+ @node.dup.extract_children.to_html
28
+ end
29
+ end
30
+
11
31
  class Release
12
32
  def initialize(node)
13
33
  @node = node
@@ -25,7 +45,7 @@ module Utopia
25
45
  end
26
46
 
27
47
  if node.header_level == @node.header_level + 1
28
- yield node
48
+ yield Summary.new(node)
29
49
  end
30
50
  end
31
51
 
@@ -37,14 +57,6 @@ module Utopia
37
57
  @node.to_plaintext.chomp
38
58
  end
39
59
 
40
- def summary
41
- return to_enum(:summary) unless block_given?
42
-
43
- changes.each do |node|
44
- yield node.to_plaintext.chomp
45
- end
46
- end
47
-
48
60
  def href(base = "/", anchor:)
49
61
  "#{base}changes/index##{anchor.downcase.gsub(/\s+/, "-")}"
50
62
  end
@@ -54,7 +66,7 @@ module Utopia
54
66
  return to_enum(:release_names) unless block_given?
55
67
 
56
68
  self.root.each do |node|
57
- if node.type == :header and node.header_level == 1
69
+ if node.type == :header and node.header_level == 2
58
70
  yield node.to_plaintext.chomp
59
71
  end
60
72
  end
@@ -62,7 +74,7 @@ module Utopia
62
74
 
63
75
  def release(name)
64
76
  self.root.each do |node|
65
- if node.type == :header and node.header_level == 1 and node.to_plaintext.chomp == name
77
+ if node.type == :header and node.header_level == 2 and node.to_plaintext.chomp == name
66
78
  return Release.new(node)
67
79
  end
68
80
  end
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Utopia
7
7
  module Project
8
- VERSION = "0.28.1"
8
+ VERSION = "0.29.0"
9
9
  end
10
10
  end
@@ -9,8 +9,8 @@
9
9
  <h3>#{release.name}</h3>
10
10
 
11
11
  <ul>
12
- <?r release.summary do |title| ?>
13
- <li><a href="#{release.href(anchor: title)}">#{title}</a></li>
12
+ <?r release.changes do |change| ?>
13
+ <li><a href="#{release.href(anchor: change.id)}">#{MarkupString.raw(change.to_html)}</a></li>
14
14
  <?r end ?>
15
15
  </ul>
16
16
  </section>
data/readme.md CHANGED
@@ -29,9 +29,15 @@ Please see the [project documentation](https://socketry.github.io/utopia-project
29
29
 
30
30
  ## Releases
31
31
 
32
+ Please see the [project changes](https://socketry.github.io/utopia-project/changes/index) for all releases.
33
+
34
+ ### Next
35
+
36
+ - [Improve `changes.md` document organization](https://socketry.github.io/utopia-project/changes/index#improve-changes.md-document-organization)
37
+
32
38
  ### v0.28.0
33
39
 
34
- - [Introduce Changes Document](https://socketry.github.io/utopia-project/changes/index#introduce-changes-document)
40
+ - [Introduce `changes.md` document](https://socketry.github.io/utopia-project/changes/index#introduce-changes.md-document)
35
41
 
36
42
  ## See Also
37
43
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utopia-project
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.1
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -40,7 +40,7 @@ cert_chain:
40
40
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
41
41
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
42
42
  -----END CERTIFICATE-----
43
- date: 2024-08-18 00:00:00.000000000 Z
43
+ date: 2024-08-19 00:00:00.000000000 Z
44
44
  dependencies:
45
45
  - !ruby/object:Gem::Dependency
46
46
  name: decode
metadata.gz.sig CHANGED
@@ -1,4 +1 @@
1
- F��$K𔙰\ p�zo_^�,�8��;�SR�!QI����z9�k�d��zN�q҅R
2
- ��{s�
3
- �\�]+�C8�ԋs�Q����2�D��c�_���G{{� ��X���#ܺG���<z)��<����$�j��HW����z�� ��$���ثvA��+���mc���1 O"p�z���B�����2?�ӥ�0M96F����}�� �ܚ�M��>�/w����+�й�i�/D�4�b�h�y�ql���� }~�X�KEXUAf��^�T��Ѓ7�6*��O����=�'�2|���H�q/gf��W��e.���>9s�(H�㮉�pgOT1���l�0�4P������їsE�+R����
4
- ?�s����
1
+ �Z�,o���v�c�ݟ�9����}�n��Frxu�Qw���0Q7(,w) "*�@��q�������^�}U�L��aeu�d↓�G������7�&�WgA&�0�sAsn�۞���)%+��k��?���dTaF�2)����3_������һ�X8����X�tݘ,�ڮ�A�h�H����N-��ɡ-��A\͌EE:Y����׿<Q*k�bM����%�w��q�I���%c03)*�=��uIU|��_����]A�ЗE+�Q;�Z8yD�67G����'����~2Q���89p��@=��۠�#9�)�����YBW�����n�Q�;J�X婅�]{�����*��