nesta 0.15.0 → 0.17.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: 7080f8e4c8c7b993aaaf2f1f2ea59edbefd0b49ef73218a8f20d6877880b18c2
4
- data.tar.gz: 806b5caf9fbfc69221087bd98254e282ddb5ba0e4288ee835d3af22fc879ab9f
3
+ metadata.gz: 32a4c40ea41ed81170227708f4fa21efd9ecdc78b13aae276a28b71f70edbb8b
4
+ data.tar.gz: 7b437529392e034f4f2c9fe7b6df915faae5a284958ebd181aabb71462279106
5
5
  SHA512:
6
- metadata.gz: 17a405a098acca204751044cff182ee6484c93c373b7266a2c194345736438b71366b05cd04ea8d64e7949c9ab071e01cde387a1c68d1190a2087d211fa45060
7
- data.tar.gz: 8d37d4b2b1fb4df23d57403da16c865db06a4a899a942a594cfac47212f998c52ef330ae9091149e1858c06f390f2ed9e4ef94621b115c52f04ed821d0cc9b7d
6
+ metadata.gz: 51d4278434f049e7d2c67107a947960c1407bdf4b1c133da575e5f4a829f7a25d1d0c4ef16dac399ffbc25b1fa708b8f2b7787b7a9a6171f9dd60414522a7c08
7
+ data.tar.gz: 791f6ea80a7b87b915548d6ee6688ff3eeb187bce03a77bf7fb6811645712f285880be77c763f1b947efc06f0eb5cdf1ed6b8734b9aa411f0e75a491d0c9ed76
@@ -8,10 +8,10 @@ jobs:
8
8
  strategy:
9
9
  fail-fast: false
10
10
  matrix:
11
- ruby: ["2.7", "3.0", "3.1", "3.2"]
11
+ ruby: ["3.1", "3.2", "3.3", "head"]
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
- - uses: actions/checkout@v3
14
+ - uses: actions/checkout@v4
15
15
  - uses: ruby/setup-ruby@v1
16
16
  with:
17
17
  ruby-version: ${{ matrix.ruby }}
data/CHANGELOG.md CHANGED
@@ -1,5 +1,46 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.0 (6 November 2024)
4
+
5
+ * Update Sinatra to verion 4.0, to fix a vulnerability. This has also
6
+ required a jump to Rack 3. (Graham Ashton)
7
+
8
+ * Update Sass parser to sass-embedded 1.80, which (due to changes in CSS 4)
9
+ deprecates the global colour functions and the @import statement. Any Sass
10
+ code that uses these features will need updating before Dart Sass 3.0 is
11
+ released. The Sass maintainers are saying we've got about two years.
12
+
13
+ In the meantime Sass will print deprecation warnings, some of which give
14
+ hints on how you might update your code.
15
+
16
+ See the Nesta commit history for an example of the kind of changes that are
17
+ required, and these pages for more details:
18
+
19
+ - https://sass-lang.com/documentation/breaking-changes/color-functions/
20
+ - https://sass-lang.com/documentation/breaking-changes/import/
21
+
22
+ This update has also forced us to drop support for Ruby 3.0, which is no
23
+ longer supported by the sass-embedded gem.
24
+
25
+ (Graham Ashton)
26
+
27
+ ## 0.16.0 (11 April 2024)
28
+
29
+ * Update Google Analytics JS code to GA4. (Matthew Bass)
30
+
31
+ * Upgrade to Sinatra 3.1. (なつき)
32
+
33
+ * Tilt renderers (e.g. for Markdown, Haml, or Textile) are now configurable.
34
+ See #146 for details. (Graham Ashton)
35
+
36
+ * Drop support for Ruby 2.7, which is no longer supported by Nokogiri,
37
+ which is one of Nesta's dependencies. This is understandable; Ruby
38
+ 2.7 reached end-of-life in March 2023. (Graham Ashton)
39
+
40
+ * Bug fix: Config variables that were defined for an environment (test,
41
+ dev, production), but for which there was no default, were always read
42
+ as nil. (Matthew Bass)
43
+
3
44
  ## 0.15.0 (11 July 2023)
4
45
 
5
46
  * Upgrade to Sinatra 3. (Graham Ashton)
data/Gemfile.lock CHANGED
@@ -1,25 +1,27 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nesta (0.15.0)
4
+ nesta (0.17.0)
5
5
  RedCloth (~> 4.2)
6
6
  haml (>= 3.1, < 6.0)
7
7
  haml-contrib (>= 1.0)
8
- rack (~> 2)
8
+ rack (~> 3)
9
9
  rake
10
10
  rdiscount (~> 2.1)
11
11
  sass-embedded (~> 1.58)
12
- sinatra (~> 3.0)
13
- tilt (~> 2.0)
12
+ sinatra (~> 4.0)
13
+ tilt (~> 2.1)
14
14
 
15
15
  GEM
16
16
  remote: https://rubygems.org/
17
17
  specs:
18
- RedCloth (4.3.2)
19
- addressable (2.8.1)
20
- public_suffix (>= 2.0.2, < 6.0)
18
+ RedCloth (4.3.4)
19
+ addressable (2.8.7)
20
+ public_suffix (>= 2.0.2, < 7.0)
21
21
  ansi (1.5.0)
22
- builder (3.2.4)
22
+ base64 (0.2.0)
23
+ bigdecimal (3.1.8)
24
+ builder (3.3.0)
23
25
  byebug (11.1.3)
24
26
  capybara (2.18.0)
25
27
  addressable
@@ -28,8 +30,10 @@ GEM
28
30
  rack (>= 1.0.0)
29
31
  rack-test (>= 0.5.4)
30
32
  xpath (>= 2.0, < 4.0)
31
- ffi (1.15.5)
32
- google-protobuf (3.22.2)
33
+ ffi (1.17.0)
34
+ google-protobuf (4.28.3)
35
+ bigdecimal
36
+ rake (>= 13)
33
37
  haml (5.2.2)
34
38
  temple (>= 0.8.0)
35
39
  tilt
@@ -40,10 +44,10 @@ GEM
40
44
  rb-fsevent (>= 0.9.3)
41
45
  rb-inotify (>= 0.9)
42
46
  rb-kqueue (>= 0.2)
43
- mini_mime (1.1.2)
44
- mini_portile2 (2.8.1)
45
- minitest (5.18.0)
46
- minitest-reporters (1.6.0)
47
+ mini_mime (1.1.5)
48
+ mini_portile2 (2.8.7)
49
+ minitest (5.25.1)
50
+ minitest-reporters (1.7.1)
47
51
  ansi
48
52
  builder
49
53
  minitest (>= 5.0)
@@ -53,38 +57,42 @@ GEM
53
57
  rb-fsevent (>= 0.9)
54
58
  rb-inotify (>= 0.8)
55
59
  unicorn (>= 4.5)
56
- mustermann (3.0.0)
60
+ mustermann (3.0.3)
57
61
  ruby2_keywords (~> 0.0.1)
58
- nokogiri (1.14.3)
59
- mini_portile2 (~> 2.8.0)
62
+ nokogiri (1.16.7)
63
+ mini_portile2 (~> 2.8.2)
60
64
  racc (~> 1.4)
61
- public_suffix (5.0.1)
62
- racc (1.6.2)
63
- rack (2.2.6.4)
64
- rack-protection (3.0.5)
65
- rack
66
- rack-test (2.0.2)
65
+ public_suffix (6.0.1)
66
+ racc (1.8.1)
67
+ rack (3.1.8)
68
+ rack-protection (4.0.0)
69
+ base64 (>= 0.1.0)
70
+ rack (>= 3.0.0, < 4)
71
+ rack-session (2.0.0)
72
+ rack (>= 3.0.0)
73
+ rack-test (2.1.0)
67
74
  rack (>= 1.3)
68
75
  raindrops (0.20.1)
69
- rake (13.0.6)
76
+ rake (13.2.1)
70
77
  rb-fsevent (0.11.2)
71
- rb-inotify (0.10.1)
78
+ rb-inotify (0.11.1)
72
79
  ffi (~> 1.0)
73
80
  rb-kqueue (0.2.8)
74
81
  ffi (>= 0.5.0)
75
- rdiscount (2.2.7)
82
+ rdiscount (2.2.7.3)
76
83
  ruby-progressbar (1.13.0)
77
84
  ruby2_keywords (0.0.5)
78
- sass-embedded (1.58.3)
79
- google-protobuf (~> 3.21)
80
- rake (>= 10.0.0)
81
- sinatra (3.0.5)
85
+ sass-embedded (1.80.6)
86
+ google-protobuf (~> 4.28)
87
+ rake (>= 13)
88
+ sinatra (4.0.0)
82
89
  mustermann (~> 3.0)
83
- rack (~> 2.2, >= 2.2.4)
84
- rack-protection (= 3.0.5)
90
+ rack (>= 3.0.0, < 4)
91
+ rack-protection (= 4.0.0)
92
+ rack-session (>= 2.0.0, < 3)
85
93
  tilt (~> 2.0)
86
- temple (0.10.0)
87
- tilt (2.1.0)
94
+ temple (0.10.3)
95
+ tilt (2.4.0)
88
96
  unicorn (6.1.0)
89
97
  kgio (~> 2.6)
90
98
  raindrops (~> 0.7)
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Lightweight file-based CMS and Static Site Generator
1
+ # File Based CMS and Static Site Generator
2
2
 
3
3
  Nesta is a lightweight CMS for building content sites and blogs, written in
4
4
  [Sinatra].
@@ -54,27 +54,23 @@ your site:
54
54
  ## Support
55
55
 
56
56
  There's plenty of information on <http://nestacms.com>. If you need some
57
- help with anything feel free to file an issue, or contact me on Mastodon
58
- ([@gma@hachyderm.io]) or Twitter ([@grahamashton]).
59
-
60
- If you like Nesta you can keep up with developments by following [@nestacms]
61
- on Twitter, and on [the blog].
57
+ help with anything feel free to [file an issue], or contact me on Mastodon
58
+ ([@gma@hachyderm.io]).
62
59
 
60
+ [file an issue]: https://github.com/gma/nesta/issues/new
63
61
  [@gma@hachyderm.io]: https://hachyderm.io/@gma
64
- [@grahamashton]: https://twitter.com/grahamashton
65
- [@nestacms]: https://twitter.com/nestacms
66
62
  [the blog]: https://nestacms.com/blog
67
63
 
68
64
  ![Tests](https://github.com/gma/nesta/actions/workflows/tests.yml/badge.svg)
69
65
 
70
66
  ## Contributing
71
67
 
72
- If you want to add a new feature, please [create an issue] to discuss it before
73
- you start coding. I might suggest that we implement it as a [plugin] (to keep
74
- Nesta itself lean and simple), or be able to chip in with ideas on how to
75
- approach it.
68
+ If you want to add a new feature, consider [creating an issue] so we can
69
+ have a chat before you start coding. I might be able to chip in with ideas on
70
+ how to approach it, or suggest that we implement it as a [plugin] (to keep Nesta
71
+ itself lean and simple).
76
72
 
77
- [create an issue]: https://github.com/gma/nesta/issues/new
73
+ [creating an issue]: https://github.com/gma/nesta/issues/new
78
74
  [plugin]: https://nestacms.com/docs/plugins
79
75
 
80
76
  -- Graham
data/RELEASING.md CHANGED
@@ -8,15 +8,16 @@ the steps:
8
8
 
9
9
  2. Bump the version number in `lib/nesta/version.rb`. This will cause
10
10
  the version number in `Gemfile.lock` to be updated too, so regenerate
11
- it now and check them in together.
11
+ it now (e.g. run `bundle install`) and check them in together.
12
12
 
13
13
  3. Update the `CHANGLOG.md` file with a summary of significant changes since
14
14
  the previous release.
15
15
 
16
16
  4. Commit these changes with a commit message of 'Bump version to <version>'
17
17
 
18
- 5. Generate a new site with the `nesta` command, install the demo content,
19
- check that it runs okay locally.
18
+ 5. Install the gem locally (`rake install`), then generate a new site
19
+ with the `nesta` command. Install the demo content site, check that
20
+ it runs okay locally.
20
21
 
21
22
  6. If everything seems fine, run `rake release`.
22
23
 
@@ -35,11 +35,11 @@ module Nesta
35
35
  indent_levels << indent_level
36
36
  end
37
37
 
38
- ''.tap do |code|
39
- lines.each_with_index do |line, i|
40
- code << ' ' * (indent_levels[i] + 2) + line
41
- end
38
+ code = []
39
+ lines.each_with_index do |line, i|
40
+ code << ' ' * (indent_levels[i] + 2) + line
42
41
  end
42
+ code.join("\n")
43
43
  end
44
44
 
45
45
  def make_directories
data/lib/nesta/config.rb CHANGED
@@ -33,10 +33,11 @@ module Nesta
33
33
  setting = setting.to_s
34
34
  self.config ||= read_config_file(setting)
35
35
  env_config = config.fetch(Nesta::App.environment.to_s, {})
36
- env_config.fetch(
37
- setting,
38
- config.fetch(setting) { raise NotDefined.new(setting) }
39
- )
36
+ env_config.fetch(setting) do
37
+ config.fetch(setting) do
38
+ raise NotDefined.new(setting)
39
+ end
40
+ end
40
41
  rescue NotDefined
41
42
  default.empty? && raise || (return default.first)
42
43
  end
@@ -10,7 +10,7 @@ module Nesta
10
10
 
11
11
  configured = false
12
12
  File.open(self.class.path, 'r+') do |file|
13
- output = ''
13
+ output = []
14
14
  file.each_line do |line|
15
15
  if configured
16
16
  output << line
@@ -21,7 +21,7 @@ module Nesta
21
21
  end
22
22
  output << "#{replacement}\n" unless configured
23
23
  file.pos = 0
24
- file.print(output)
24
+ file.print(output.join("\n"))
25
25
  file.truncate(file.pos)
26
26
  end
27
27
  end
data/lib/nesta/helpers.rb CHANGED
@@ -90,7 +90,7 @@ module Nesta
90
90
  # path_to(page.abspath, uri: true)
91
91
  #
92
92
  def path_to(page_path, options = {})
93
- host = ''
93
+ host = []
94
94
  if options[:uri]
95
95
  host << "http#{'s' if request.ssl?}://"
96
96
  if (request.env.include?("HTTP_X_FORWARDED_HOST") or
@@ -100,7 +100,7 @@ module Nesta
100
100
  host << request.host
101
101
  end
102
102
  end
103
- uri_parts = [host]
103
+ uri_parts = [host.join('')]
104
104
  uri_parts << request.script_name.to_s if request.script_name
105
105
  uri_parts << page_path
106
106
  File.join(uri_parts)
@@ -184,8 +184,12 @@ module Nesta
184
184
 
185
185
  def convert_to_html(format, scope, text)
186
186
  text = add_p_tags_to_haml(text) if @format == :haml
187
- template = Tilt[format].new { text }
187
+ template = Tilt[format].new(renderer_config(@format)) { text }
188
188
  template.render(scope)
189
189
  end
190
+
191
+ def renderer_config(format)
192
+ {}
193
+ end
190
194
  end
191
195
  end
@@ -16,7 +16,7 @@ module Nesta
16
16
  end
17
17
 
18
18
  def self.for_path(path)
19
- path.sub!(Regexp.new('^/'), '')
19
+ path = path.sub(Regexp.new('^/'), '')
20
20
  if path.empty?
21
21
  full_menu
22
22
  else
@@ -12,23 +12,9 @@ module Nesta
12
12
  end
13
13
  end
14
14
 
15
- def scss(template, options = {}, locals = {})
16
- find_template(Nesta::App.settings.views, template, Tilt::ScssTemplate) do |file|
17
- return Tilt.new(file).render if File.exist?(file)
18
- end
19
- raise IOError, "SCSS template not found: #{template}"
20
- end
21
-
22
- def sass(template, options = {}, locals = {})
23
- find_template(Nesta::App.settings.views, template, Tilt::SassTemplate) do |file|
24
- return Tilt.new(file).render if File.exist?(file)
25
- end
26
- raise IOError, "Sass template not found: #{template}"
27
- end
28
-
29
15
  def stylesheet(template, options = {}, locals = {})
30
16
  scss(template, options, locals)
31
- rescue IOError
17
+ rescue Errno::ENOENT
32
18
  sass(template, options, locals)
33
19
  end
34
20
  end
data/lib/nesta/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Nesta
2
- VERSION = '0.15.0'
2
+ VERSION = '0.17.0'
3
3
  end
data/nesta.gemspec CHANGED
@@ -31,13 +31,13 @@ EOF
31
31
 
32
32
  s.add_dependency('haml', '>= 3.1', '< 6.0')
33
33
  s.add_dependency('haml-contrib', '>= 1.0')
34
- s.add_dependency('rack', '~> 2')
34
+ s.add_dependency('rack', '~> 3')
35
35
  s.add_dependency('rake')
36
36
  s.add_dependency('rdiscount', '~> 2.1')
37
37
  s.add_dependency('RedCloth', '~> 4.2')
38
38
  s.add_dependency('sass-embedded', '~> 1.58')
39
- s.add_dependency('sinatra', '~> 3.0')
40
- s.add_dependency('tilt', '~> 2.0')
39
+ s.add_dependency('sinatra', '~> 4.0')
40
+ s.add_dependency('tilt', '~> 2.1')
41
41
 
42
42
  # Useful in development
43
43
  s.add_development_dependency('mr-sparkle')
@@ -44,7 +44,7 @@ content: content
44
44
  # scroll down a bit to set it in production even if you're not deploying
45
45
  # to your own server.
46
46
  #
47
- # google_analytics_code: "UA-???????-?"
47
+ # google_analytics_code: "G-??????????"
48
48
 
49
49
  # read_more
50
50
  # When the summary of an article is displayed on the home page, or
@@ -64,7 +64,7 @@ content: content
64
64
 
65
65
  # production:
66
66
  # content: /var/apps/nesta/shared/content
67
- # google_analytics_code: "UA-???????-?"
67
+ # google_analytics_code: "G-??????????"
68
68
 
69
69
  # The following settings control the behaviour of the `nesta build`
70
70
  # command, which is used to generate a "static" version of your site.
@@ -33,7 +33,7 @@ describe 'Default theme' do
33
33
  end
34
34
 
35
35
  it 'includes Google Analytics JavaScript when configured' do
36
- analytics_code = { 'google_analytics_code' => 'UA-1234' }
36
+ analytics_code = { 'google_analytics_code' => 'G-1234' }
37
37
  stub_config(temp_content.merge('test' => analytics_code)) do
38
38
  visit '/'
39
39
  assert_nil all('script').find { |s| s[:src].match /analytics\.js/ }
@@ -86,7 +86,7 @@ describe 'Default theme' do
86
86
  with_temp_content_directory do
87
87
  model = create_page_and_menu
88
88
  visit model.path
89
- assert_has_css "ul.menu li[class='current']:contains('#{model.link_text}')"
89
+ assert_has_css "ul.menu li.current:contains('#{model.link_text}')"
90
90
  end
91
91
  end
92
92
 
@@ -100,7 +100,7 @@ describe 'Default theme' do
100
100
  with_temp_content_directory do
101
101
  model = create_page_and_menu
102
102
  visit "/prefix/#{model.path}"
103
- assert_has_css "ul.menu li[class='current']:contains('#{model.link_text}')"
103
+ assert_has_css "ul.menu li.current:contains('#{model.link_text}')"
104
104
  end
105
105
  end
106
106
  end
@@ -38,6 +38,12 @@ describe Nesta::Config do
38
38
  end
39
39
  end
40
40
 
41
+ it 'returns environment specific settings' do
42
+ stub_config('test' => { 'content' => 'rack_env_specific/path'}) do
43
+ assert_equal 'rack_env_specific/path', Nesta::Config.content
44
+ end
45
+ end
46
+
41
47
  it 'overrides top level settings with environment specific settings' do
42
48
  config = {
43
49
  'content' => 'general/path',
data/views/analytics.haml CHANGED
@@ -1,11 +1,11 @@
1
1
  - if @google_analytics_code
2
2
  :plain
3
+ <!-- Google tag (gtag.js) -->
4
+ <script async src="https://www.googletagmanager.com/gtag/js?id=#{@google_analytics_code}"></script>
3
5
  <script>
4
- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
5
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
6
- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
7
- })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
6
+ window.dataLayer = window.dataLayer || [];
7
+ function gtag(){dataLayer.push(arguments);}
8
+ gtag('js', new Date());
8
9
 
9
- ga('create', '#{@google_analytics_code}', 'auto');
10
- ga('send', 'pageview');
10
+ gtag('config', '#{@google_analytics_code}');
11
11
  </script>
data/views/master.sass CHANGED
@@ -1,5 +1,7 @@
1
- @import "mixins.sass"
2
- @import "normalize"
1
+ @use "sass:color"
2
+
3
+ @use "mixins" as *
4
+ @use "normalize"
3
5
 
4
6
  body
5
7
  font: $size1 "Roboto Slab", serif
@@ -74,7 +76,7 @@ blockquote
74
76
  border-left: 5px solid $tint
75
77
 
76
78
  font-style: italic
77
- color: adjust-color($base-color, $red: 55, $green: 55, $blue: 55)
79
+ color: color.adjust($base-color, $red: 55, $green: 55, $blue: 55)
78
80
 
79
81
  pre
80
82
  display: block
data/views/mixins.sass CHANGED
@@ -12,14 +12,16 @@ $vertical-margin: 1.5em
12
12
 
13
13
  // Colour settings
14
14
 
15
+ @use "sass:color"
16
+
15
17
  $base-color: #313126
16
18
  $tint: #EEEEC6
17
19
  $border-color: #D7C28B
18
20
  $link-color: #4786fd
19
- $visited-link-color: darken($link-color, 5%)
20
- $hover-link-color: darken($link-color, 15%)
21
- $active-link-color: darken($link-color, 20%)
22
- $nav-link-color: desaturate(lighten($link-color, 10%), 25%)
21
+ $visited-link-color: color.adjust($link-color, $lightness: -5%)
22
+ $hover-link-color: color.adjust($link-color, $lightness: -15%)
23
+ $active-link-color: color.adjust($link-color, $lightness: -20%)
24
+ $nav-link-color: color.scale(color.adjust($link-color, $lightness: 10%), $saturation: -25%)
23
25
  $meta-color: #87877D
24
26
 
25
27
  @function empx($em, $base: 16px)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nesta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Graham Ashton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-11 00:00:00.000000000 Z
11
+ date: 2024-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: haml
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '2'
53
+ version: '3'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '2'
60
+ version: '3'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rake
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -120,28 +120,28 @@ dependencies:
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: '3.0'
123
+ version: '4.0'
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: '3.0'
130
+ version: '4.0'
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: tilt
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '2.0'
137
+ version: '2.1'
138
138
  type: :runtime
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: '2.0'
144
+ version: '2.1'
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: mr-sparkle
147
147
  requirement: !ruby/object:Gem::Requirement
@@ -369,7 +369,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
369
369
  - !ruby/object:Gem::Version
370
370
  version: '0'
371
371
  requirements: []
372
- rubygems_version: 3.4.10
372
+ rubygems_version: 3.5.20
373
373
  signing_key:
374
374
  specification_version: 4
375
375
  summary: Ruby CMS, written in Sinatra