utopia-project 0.28.0 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b31386125a2a1880b8d162ff278234e5c969b5ad658639e93ecf543b259b55d5
4
- data.tar.gz: 35cab271274f82f93153d527631c3798342c5f08e2dd8a1e317a521730b89866
3
+ metadata.gz: be23cff7691ea961b8a937c962b18d6f7b3154ad22af394cb9d6168020855e66
4
+ data.tar.gz: b9b89af946e962e8044cc12dfe9a050cedb55ea6f73b112b92d29a58c794130e
5
5
  SHA512:
6
- metadata.gz: 98738871025a6afa851a009f41ea8a4d8cd47b54ace8ecf64fce5fe78b90e31e8bf0923ce9bed3ee2cd18de1a69e92e0b01d22ca61542dc68ed5d969c428758a
7
- data.tar.gz: 96fa148979e16c1cea5d46c9ff8e669c4588b8183d47005bf6d3f41484aca4013232127c4dcbfea4dd12b7b2388895e35f70d83695ae1bcad72416d190967c18
6
+ metadata.gz: '0781807983fefb1066fd513957c6140b092633cae6597a4e407f3d782dbc8b2c2515de7bac6dfafdb8907c580364efac230611cd8ff211e0c89f32c93e3a0113'
7
+ data.tar.gz: 11899a85d013208ecd9ff95d7c497f48e7ba5fb6eb792c8057c4aebfc677595125444cb28fb04a958fa93e061fa1a3c62d636eb4028407b12ccc34caeface47b
checksums.yaml.gz.sig CHANGED
Binary file
@@ -1,10 +1,12 @@
1
+ Please see the [project changes](#{documentation_url}changes/index) for all releases.
2
+
1
3
  <?r
2
- project.releases.each do |release|
4
+ project.releases.first(10).each do |release|
3
5
  ?>
4
6
  ### #{release.name}
5
7
 
6
- <?r release.summary do |title| ?>
7
- - [#{title}](#{release.href(documentation_url, title)})
8
+ <?r release.changes do |change| ?>
9
+ - [#{change.to_markdown}](#{release.href(documentation_url, anchor: change.id)})
8
10
  <?r
9
11
  end
10
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,16 +57,8 @@ 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
- def href(base = "/", change)
49
- "#{base}changes/index##{change.downcase.gsub(/\s+/, "-")}"
60
+ def href(base = "/", anchor:)
61
+ "#{base}changes/index##{anchor.downcase.gsub(/\s+/, "-")}"
50
62
  end
51
63
  end
52
64
 
@@ -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.0"
8
+ VERSION = "0.29.0"
9
9
  end
10
10
  end
@@ -0,0 +1,19 @@
1
+ <p>Please browse the <a href="changes/index">changes</a> for all releases.</p>
2
+
3
+ <?r
4
+ base = self[:base]
5
+
6
+ base.releases.first(10).each do |release|
7
+ ?>
8
+ <section>
9
+ <h3>#{release.name}</h3>
10
+
11
+ <ul>
12
+ <?r release.changes do |change| ?>
13
+ <li><a href="#{release.href(anchor: change.id)}">#{MarkupString.raw(change.to_html)}</a></li>
14
+ <?r end ?>
15
+ </ul>
16
+ </section>
17
+ <?r
18
+ end
19
+ ?>
data/pages/controller.rb CHANGED
@@ -14,5 +14,9 @@ on 'index' do
14
14
  @document.replace_section("Usage") do |header|
15
15
  header.insert_after(@document.html_node("<content:usage/>"))
16
16
  end
17
+
18
+ @document.replace_section("Releases", children: true) do |header|
19
+ header.insert_after(@document.html_node("<content:releases/>"))
20
+ end
17
21
  end
18
22
  end
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.0
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
@@ -151,6 +151,7 @@ files:
151
151
  - pages/_heading.xnode
152
152
  - pages/_navigation.xnode
153
153
  - pages/_page.xnode
154
+ - pages/_releases.xnode
154
155
  - pages/_thumbnail.xnode
155
156
  - pages/_usage.xnode
156
157
  - pages/_youtube-video.xnode
metadata.gz.sig CHANGED
Binary file