parklife 0.6.0 → 0.7.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 +4 -4
- data/.github/workflows/examples.yml +64 -0
- data/.github/workflows/tests.yml +72 -41
- data/.gitignore +1 -0
- data/.rubocop.yml +1 -0
- data/Appraisals +30 -0
- data/CHANGELOG.md +11 -0
- data/Gemfile +1 -1
- data/gemfiles/rails_7.0.gemfile +13 -0
- data/gemfiles/rails_7.1.gemfile +12 -0
- data/gemfiles/rails_7.2.gemfile +12 -0
- data/gemfiles/rails_8.0.gemfile +12 -0
- data/gemfiles/sinatra_3.x.gemfile +12 -0
- data/gemfiles/sinatra_4.0.gemfile +12 -0
- data/gemfiles/sinatra_4.1.gemfile +12 -0
- data/lib/parklife/cli.rb +1 -0
- data/lib/parklife/rails.rb +22 -5
- data/lib/parklife/sinatra.rb +19 -0
- data/lib/parklife/templates/Parkfile.erb +7 -2
- data/lib/parklife/templates/github_pages.yml +4 -4
- data/lib/parklife/templates/static_build.erb +8 -3
- data/lib/parklife/utils.rb +1 -1
- data/lib/parklife/version.rb +1 -1
- data/parklife.gemspec +6 -10
- metadata +15 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 716fff5f3d7ad38f43c2fd071de3a69dc58363b05fb7fd3d997311855a207f04
|
4
|
+
data.tar.gz: b153dc13fb74648185401f3a512c34eee2f0ad62659723937c0354d9c7547ecd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a1a022c68a6a7c77277440c926cd430ebf857a7757f42eab76b8233af84bdc4dd9407952a9465720a6a74e43d7706b8acb41a25705ebb3d0e34c9a75a11b441
|
7
|
+
data.tar.gz: 80af344c3209f6a57f147714c789d6c3d21a42cd3131186e9dbebb0e267d19258cdb297f13f273baefdb4bbd4bcba955c2c1e726ee9e218d8febaf50ec4c26c8
|
@@ -0,0 +1,64 @@
|
|
1
|
+
name: Examples
|
2
|
+
|
3
|
+
on: push
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
rack:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
name: Rack example
|
9
|
+
steps:
|
10
|
+
- uses: actions/checkout@v3
|
11
|
+
- uses: ruby/setup-ruby@v1
|
12
|
+
with:
|
13
|
+
bundler-cache: true
|
14
|
+
ruby-version: '2.7'
|
15
|
+
working-directory: examples/rack
|
16
|
+
- run: bundle exec parklife build
|
17
|
+
working-directory: examples/rack
|
18
|
+
- run: test -f build/index.html
|
19
|
+
working-directory: examples/rack
|
20
|
+
|
21
|
+
rails:
|
22
|
+
runs-on: ubuntu-latest
|
23
|
+
name: Rails example
|
24
|
+
steps:
|
25
|
+
- uses: actions/checkout@v3
|
26
|
+
- uses: ruby/setup-ruby@v1
|
27
|
+
with:
|
28
|
+
bundler-cache: true
|
29
|
+
ruby-version: '3.2'
|
30
|
+
working-directory: examples/rails
|
31
|
+
- run: bin/static-build
|
32
|
+
working-directory: examples/rails
|
33
|
+
- run: test -f build/index.html
|
34
|
+
working-directory: examples/rails
|
35
|
+
|
36
|
+
roda:
|
37
|
+
runs-on: ubuntu-latest
|
38
|
+
name: Roda example
|
39
|
+
steps:
|
40
|
+
- uses: actions/checkout@v3
|
41
|
+
- uses: ruby/setup-ruby@v1
|
42
|
+
with:
|
43
|
+
bundler-cache: true
|
44
|
+
ruby-version: '3.2'
|
45
|
+
working-directory: examples/roda
|
46
|
+
- run: bundle exec parklife build
|
47
|
+
working-directory: examples/roda
|
48
|
+
- run: test -f build/index.html
|
49
|
+
working-directory: examples/roda
|
50
|
+
|
51
|
+
sinatra:
|
52
|
+
runs-on: ubuntu-latest
|
53
|
+
name: Sinatra example
|
54
|
+
steps:
|
55
|
+
- uses: actions/checkout@v3
|
56
|
+
- uses: ruby/setup-ruby@v1
|
57
|
+
with:
|
58
|
+
bundler-cache: true
|
59
|
+
ruby-version: '3.4'
|
60
|
+
working-directory: examples/sinatra
|
61
|
+
- run: bin/static-build
|
62
|
+
working-directory: examples/sinatra
|
63
|
+
- run: test -f build/index.html
|
64
|
+
working-directory: examples/sinatra
|
data/.github/workflows/tests.yml
CHANGED
@@ -3,76 +3,107 @@ name: Tests
|
|
3
3
|
on: push
|
4
4
|
|
5
5
|
jobs:
|
6
|
-
|
6
|
+
rails:
|
7
7
|
runs-on: ubuntu-latest
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
8
|
+
strategy:
|
9
|
+
fail-fast: false
|
10
|
+
matrix:
|
11
|
+
rails:
|
12
|
+
- '7.0'
|
13
|
+
- '7.1'
|
14
|
+
- '7.2'
|
15
|
+
- '8.0'
|
16
|
+
ruby:
|
17
|
+
- '2.7'
|
18
|
+
- '3.0'
|
19
|
+
- '3.1'
|
20
|
+
- '3.2'
|
21
|
+
- '3.3'
|
22
|
+
- '3.4'
|
23
|
+
exclude:
|
24
|
+
# Rails 8.0 requires Ruby 3.2.
|
25
|
+
- rails: '8.0'
|
26
|
+
ruby: '3.1'
|
27
|
+
- rails: '8.0'
|
28
|
+
ruby: '3.0'
|
29
|
+
- rails: '8.0'
|
30
|
+
ruby: '2.7'
|
20
31
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
- uses: ruby/setup-ruby@v1
|
27
|
-
with:
|
28
|
-
bundler-cache: true
|
29
|
-
ruby-version: '3.2'
|
30
|
-
working-directory: examples/rails
|
31
|
-
- run: bin/static-build
|
32
|
-
working-directory: examples/rails
|
33
|
-
- run: test -f build/index.html
|
34
|
-
working-directory: examples/rails
|
32
|
+
# Rails 7.2 requires Ruby 3.1.
|
33
|
+
- rails: '7.2'
|
34
|
+
ruby: '3.0'
|
35
|
+
- rails: '7.2'
|
36
|
+
ruby: '2.7'
|
35
37
|
|
36
|
-
|
37
|
-
|
38
|
-
|
38
|
+
# Rails 7.0 doesn't work out of the box with Ruby 3.4.
|
39
|
+
- rails: '7.0'
|
40
|
+
ruby: '3.4'
|
41
|
+
env:
|
42
|
+
BUNDLE_GEMFILE: gemfiles/rails_${{ matrix.rails }}.gemfile
|
43
|
+
name: Rails (Ruby ${{ matrix.ruby }} / Rails ${{ matrix.rails }})
|
39
44
|
steps:
|
40
|
-
- uses: actions/checkout@
|
45
|
+
- uses: actions/checkout@v4
|
41
46
|
- uses: ruby/setup-ruby@v1
|
42
47
|
with:
|
43
48
|
bundler-cache: true
|
44
|
-
ruby-version:
|
45
|
-
|
46
|
-
- run: bundle exec parklife build
|
47
|
-
working-directory: examples/sinatra
|
48
|
-
- run: test -f build/index.html
|
49
|
-
working-directory: examples/sinatra
|
49
|
+
ruby-version: ${{ matrix.ruby }}
|
50
|
+
- run: bundle exec rspec --pattern "spec/**/*rails*"
|
50
51
|
|
51
52
|
rspec:
|
52
53
|
runs-on: ubuntu-latest
|
53
54
|
strategy:
|
55
|
+
fail-fast: false
|
54
56
|
matrix:
|
55
57
|
ruby:
|
56
58
|
- '2.7'
|
57
59
|
- '3.0'
|
58
60
|
- '3.1'
|
59
61
|
- '3.2'
|
60
|
-
|
62
|
+
- '3.3'
|
63
|
+
- '3.4'
|
64
|
+
name: RSpec (Ruby ${{ matrix.ruby }})
|
61
65
|
steps:
|
62
|
-
- uses: actions/checkout@
|
66
|
+
- uses: actions/checkout@v4
|
63
67
|
- uses: ruby/setup-ruby@v1
|
64
68
|
with:
|
65
69
|
bundler-cache: true
|
66
70
|
ruby-version: ${{ matrix.ruby }}
|
67
|
-
- run: bundle exec rspec
|
71
|
+
- run: bundle exec rspec --exclude-pattern "spec/**/*rails*,spec/**/*sinatra*"
|
68
72
|
|
69
73
|
rubocop:
|
70
74
|
runs-on: ubuntu-latest
|
71
75
|
name: RuboCop
|
72
76
|
steps:
|
73
|
-
- uses: actions/checkout@
|
77
|
+
- uses: actions/checkout@v4
|
74
78
|
- uses: ruby/setup-ruby@v1
|
75
79
|
with:
|
76
80
|
bundler-cache: true
|
77
81
|
ruby-version: '3.2'
|
78
82
|
- run: bundle exec rubocop
|
83
|
+
|
84
|
+
sinatra:
|
85
|
+
runs-on: ubuntu-latest
|
86
|
+
strategy:
|
87
|
+
fail-fast: false
|
88
|
+
matrix:
|
89
|
+
ruby:
|
90
|
+
- '2.7'
|
91
|
+
- '3.0'
|
92
|
+
- '3.1'
|
93
|
+
- '3.2'
|
94
|
+
- '3.3'
|
95
|
+
- '3.4'
|
96
|
+
sinatra:
|
97
|
+
- '3.x'
|
98
|
+
- '4.0'
|
99
|
+
- '4.1'
|
100
|
+
env:
|
101
|
+
BUNDLE_GEMFILE: gemfiles/sinatra_${{ matrix.sinatra }}.gemfile
|
102
|
+
name: Rails (Ruby ${{ matrix.ruby }} / Sinatra ${{ matrix.sinatra }})
|
103
|
+
steps:
|
104
|
+
- uses: actions/checkout@v4
|
105
|
+
- uses: ruby/setup-ruby@v1
|
106
|
+
with:
|
107
|
+
bundler-cache: true
|
108
|
+
ruby-version: ${{ matrix.ruby }}
|
109
|
+
- run: bundle exec rspec --pattern "spec/**/*sinatra*"
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/Appraisals
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
appraise 'rails_7.0' do
|
4
|
+
gem 'concurrent-ruby', '< 1.3.5'
|
5
|
+
gem 'rails', '~> 7.0.0'
|
6
|
+
end
|
7
|
+
|
8
|
+
appraise 'rails_7.1' do
|
9
|
+
gem 'rails', '~> 7.1.0'
|
10
|
+
end
|
11
|
+
|
12
|
+
appraise 'rails_7.2' do
|
13
|
+
gem 'rails', '~> 7.2.0'
|
14
|
+
end
|
15
|
+
|
16
|
+
appraise 'rails_8.0' do
|
17
|
+
gem 'rails', '~> 8.0.0'
|
18
|
+
end
|
19
|
+
|
20
|
+
appraise 'sinatra_3.x' do
|
21
|
+
gem 'sinatra', '~> 3.0'
|
22
|
+
end
|
23
|
+
|
24
|
+
appraise 'sinatra_4.0' do
|
25
|
+
gem 'sinatra', '~> 4.0.0'
|
26
|
+
end
|
27
|
+
|
28
|
+
appraise 'sinatra_4.1' do
|
29
|
+
gem 'sinatra', '~> 4.1.0'
|
30
|
+
end
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
## Version 0.7.0 - 2025-02-03
|
2
|
+
|
3
|
+
- Add support for Rails 8 and add test infrastructure to ensure future compatibility with Rails 7.0, 7.1, and 8.0. <https://github.com/benpickles/parklife/pull/115>, <https://github.com/benpickles/parklife/pull/117>, <https://github.com/benpickles/parklife/pull/121>
|
4
|
+
- Improve out-of-the-box compatibility with Rails by reading `default_url_options`, `relative_url_root`, and `force_ssl` settings on boot and applying them to Parklife's `config.base` (`force_ssl` has been set to `true` in `production.rb` since Rails 7.1). <https://github.com/benpickles/parklife/pull/118>
|
5
|
+
- Improve out-of-the-box compatibility with Sinatra 4.1 which has host authorisation middleware enabled by default in development mode and would otherwise respond to Parklife requests with a 403 status. Additionally the generated Sinatra production build script now sets the environment variable `APP_ENV=production` to enable production mode. <https://github.com/benpickles/parklife/pull/123>, <https://github.com/benpickles/parklife/pull/122>
|
6
|
+
- When discovering HTML links ignore `<a>` elements without an `href`. <https://github.com/benpickles/parklife/pull/107>
|
7
|
+
|
8
|
+
## Version 0.6.1 - 2024-08-23
|
9
|
+
|
10
|
+
- Don't error when the public directory doesn't exist <https://github.com/benpickles/parklife/pull/105>
|
11
|
+
|
1
12
|
## Version 0.6.0 - 2023-03-26
|
2
13
|
|
3
14
|
- Allow assigning a URI object to config.base <https://github.com/benpickles/parklife/pull/98>
|
data/Gemfile
CHANGED
data/lib/parklife/cli.rb
CHANGED
@@ -26,6 +26,7 @@ module Parklife
|
|
26
26
|
['nested_index', application.config.nested_index],
|
27
27
|
['on_404', application.config.on_404.inspect],
|
28
28
|
['parklife/rails', defined?(::Parklife::Railtie) ? 'enabled' : '-'],
|
29
|
+
['parklife/sinatra', defined?(::Parklife::Sinatra) ? 'enabled' : '-'],
|
29
30
|
['reporter', reporter == $stdout ? '$stdout' : reporter],
|
30
31
|
])
|
31
32
|
end
|
data/lib/parklife/rails.rb
CHANGED
@@ -8,7 +8,7 @@ module Parklife
|
|
8
8
|
# default_url_options and relative_url_root to match.
|
9
9
|
def base=(value)
|
10
10
|
super.tap { |uri|
|
11
|
-
|
11
|
+
app.default_url_options = {
|
12
12
|
host: Utils.host_with_port(uri),
|
13
13
|
protocol: uri.scheme,
|
14
14
|
}
|
@@ -19,6 +19,12 @@ module Parklife
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
+
module RailsRouteSetRefinements
|
23
|
+
def default_url_options
|
24
|
+
Rails.application.default_url_options
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
22
28
|
class Railtie < Rails::Railtie
|
23
29
|
initializer 'parklife.disable_host_authorization' do |app|
|
24
30
|
# The offending middleware is included in Rails (6+) development mode and
|
@@ -37,16 +43,27 @@ module Parklife
|
|
37
43
|
if defined?(ActionDispatch::HostAuthorization)
|
38
44
|
app.middleware.delete(ActionDispatch::HostAuthorization)
|
39
45
|
end
|
40
|
-
end
|
41
46
|
|
42
|
-
|
43
|
-
Parklife.application.config.app = Rails.application
|
47
|
+
Parklife.application.config.app = app
|
44
48
|
|
45
49
|
# Allow use of the Rails application's route helpers when defining
|
46
50
|
# Parklife routes in the block form.
|
47
|
-
Parklife.application.routes.singleton_class.include(
|
51
|
+
Parklife.application.routes.singleton_class.include(RailsRouteSetRefinements)
|
52
|
+
Parklife.application.routes.singleton_class.include(app.routes.url_helpers)
|
48
53
|
|
49
54
|
Parklife.application.config.extend(RailsConfigRefinements)
|
50
55
|
end
|
56
|
+
|
57
|
+
config.after_initialize do |app|
|
58
|
+
# Read the Rails app's URL config and apply it to Parklife's so that the
|
59
|
+
# Rails config can be used as the single source of truth.
|
60
|
+
host, protocol = app.default_url_options.values_at(:host, :protocol)
|
61
|
+
protocol = 'https' if app.config.force_ssl
|
62
|
+
path = ActionController::Base.relative_url_root
|
63
|
+
|
64
|
+
Parklife.application.config.base.scheme = protocol if protocol
|
65
|
+
Parklife.application.config.base.host = host if host
|
66
|
+
Parklife.application.config.base.path = path if path
|
67
|
+
end
|
51
68
|
end
|
52
69
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'sinatra/base'
|
4
|
+
|
5
|
+
module Parklife
|
6
|
+
module Sinatra
|
7
|
+
def self.registered(app)
|
8
|
+
# Disable Rack::Protection::HostAuthorization middleware so that fetching
|
9
|
+
# a page with Parklife works in development. It's safe to do here because
|
10
|
+
# it will only be executed when this file is explicitly required in a
|
11
|
+
# Parkfile and not in general when the app is running in a web server.
|
12
|
+
if app.settings.respond_to?(:host_authorization)
|
13
|
+
app.set(:host_authorization, permitted_hosts: [])
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Sinatra.register Parklife::Sinatra
|
@@ -2,7 +2,11 @@
|
|
2
2
|
require 'parklife/rails'
|
3
3
|
require_relative 'config/environment'
|
4
4
|
<% else -%>
|
5
|
-
|
5
|
+
<% if options[:sinatra] -%>
|
6
|
+
require 'parklife/sinatra'
|
7
|
+
|
8
|
+
<% end -%>
|
9
|
+
# Assuming your <%= options[:sinatra] ? 'Sinatra' : 'Rack' %> app lives in ./app.rb:
|
6
10
|
require_relative 'app'
|
7
11
|
<% end -%>
|
8
12
|
|
@@ -11,8 +15,9 @@ Parklife.application.configure do |config|
|
|
11
15
|
# For a Sinatra "classic" app:
|
12
16
|
config.app = Sinatra::Application
|
13
17
|
#
|
14
|
-
#
|
18
|
+
# For a modular-style Sinatra app the Parklife extension must be explicitly registered:
|
15
19
|
# config.app = App
|
20
|
+
# App.register Parklife::Sinatra
|
16
21
|
|
17
22
|
<% elsif !options[:rails] -%>
|
18
23
|
config.app = App
|
@@ -15,11 +15,11 @@ jobs:
|
|
15
15
|
build:
|
16
16
|
runs-on: ubuntu-latest
|
17
17
|
steps:
|
18
|
-
- uses: actions/checkout@
|
18
|
+
- uses: actions/checkout@v4
|
19
19
|
- uses: ruby/setup-ruby@v1
|
20
20
|
with:
|
21
21
|
bundler-cache: true
|
22
|
-
- uses: actions/configure-pages@
|
22
|
+
- uses: actions/configure-pages@v5
|
23
23
|
id: pages
|
24
24
|
|
25
25
|
# Build with Parklife and use its GitHub Pages URL (either its custom
|
@@ -27,7 +27,7 @@ jobs:
|
|
27
27
|
- run: bin/static-build --base "${{ steps.pages.outputs.base_url }}"
|
28
28
|
|
29
29
|
- name: Upload artifact
|
30
|
-
uses: actions/upload-pages-artifact@
|
30
|
+
uses: actions/upload-pages-artifact@v3
|
31
31
|
if: github.ref == 'refs/heads/main' # Only upload on main branch.
|
32
32
|
with:
|
33
33
|
path: build/
|
@@ -45,4 +45,4 @@ jobs:
|
|
45
45
|
steps:
|
46
46
|
- name: Deploy to GitHub Pages
|
47
47
|
id: deployment
|
48
|
-
uses: actions/deploy-pages@
|
48
|
+
uses: actions/deploy-pages@v4
|
@@ -3,8 +3,7 @@
|
|
3
3
|
set -eu
|
4
4
|
|
5
5
|
<% if options[:rails] -%>
|
6
|
-
#
|
7
|
-
# asset URLs are referenced.
|
6
|
+
# Run the app in production mode to ensure correct asset URLs are generated etc.
|
8
7
|
export RAILS_ENV=production
|
9
8
|
export SECRET_KEY_BASE=dummy
|
10
9
|
|
@@ -17,12 +16,18 @@ export SECRET_KEY_BASE=dummy
|
|
17
16
|
# missing assets in production.
|
18
17
|
bundle exec rails assets:precompile
|
19
18
|
|
19
|
+
<% elsif options[:sinatra] -%>
|
20
|
+
# Run the app in production mode.
|
21
|
+
export APP_ENV=production
|
22
|
+
|
20
23
|
<% end -%>
|
21
24
|
# Build with Parklife - and forward arguments sent to this script.
|
22
25
|
bundle exec parklife build "$@"
|
23
26
|
|
24
27
|
# Copy all public resources to ./build.
|
25
|
-
|
28
|
+
if [ -d public ]; then
|
29
|
+
cp -R public/* build
|
30
|
+
fi
|
26
31
|
|
27
32
|
# List all files in the build (useful for debugging).
|
28
33
|
find build -type f | sort
|
data/lib/parklife/utils.rb
CHANGED
data/lib/parklife/version.rb
CHANGED
data/parklife.gemspec
CHANGED
@@ -11,19 +11,15 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.email = ['spideryoung@gmail.com']
|
12
12
|
|
13
13
|
spec.summary = 'Convert a Rack app into a static HTML site.'
|
14
|
-
spec.homepage = 'https://
|
14
|
+
spec.homepage = 'https://parklife.dev'
|
15
15
|
spec.license = 'MIT'
|
16
|
-
|
17
|
-
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
18
|
-
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
19
|
-
spec.metadata = {
|
20
|
-
'changelog_uri' => 'https://github.com/benpickles/parklife/blob/main/CHANGELOG.md',
|
21
|
-
'rubygems_mfa_required' => 'true',
|
22
|
-
'source_code_uri' => 'https://github.com/benpickles/parklife',
|
23
|
-
}
|
24
|
-
|
25
16
|
spec.required_ruby_version = '>= 2.5.0'
|
26
17
|
|
18
|
+
spec.metadata['changelog_uri'] = 'https://github.com/benpickles/parklife/blob/main/CHANGELOG.md'
|
19
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
20
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
21
|
+
spec.metadata['source_code_uri'] = 'https://github.com/benpickles/parklife'
|
22
|
+
|
27
23
|
# Specify which files should be added to the gem when it is released.
|
28
24
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
29
25
|
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: parklife
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Pickles
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-02-03 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: nokogiri
|
@@ -52,7 +51,6 @@ dependencies:
|
|
52
51
|
- - ">="
|
53
52
|
- !ruby/object:Gem::Version
|
54
53
|
version: '0'
|
55
|
-
description:
|
56
54
|
email:
|
57
55
|
- spideryoung@gmail.com
|
58
56
|
executables:
|
@@ -60,10 +58,12 @@ executables:
|
|
60
58
|
extensions: []
|
61
59
|
extra_rdoc_files: []
|
62
60
|
files:
|
61
|
+
- ".github/workflows/examples.yml"
|
63
62
|
- ".github/workflows/tests.yml"
|
64
63
|
- ".gitignore"
|
65
64
|
- ".rspec"
|
66
65
|
- ".rubocop.yml"
|
66
|
+
- Appraisals
|
67
67
|
- CHANGELOG.md
|
68
68
|
- CODE_OF_CONDUCT.md
|
69
69
|
- Gemfile
|
@@ -73,6 +73,13 @@ files:
|
|
73
73
|
- bin/console
|
74
74
|
- bin/setup
|
75
75
|
- exe/parklife
|
76
|
+
- gemfiles/rails_7.0.gemfile
|
77
|
+
- gemfiles/rails_7.1.gemfile
|
78
|
+
- gemfiles/rails_7.2.gemfile
|
79
|
+
- gemfiles/rails_8.0.gemfile
|
80
|
+
- gemfiles/sinatra_3.x.gemfile
|
81
|
+
- gemfiles/sinatra_4.0.gemfile
|
82
|
+
- gemfiles/sinatra_4.1.gemfile
|
76
83
|
- lib/parklife.rb
|
77
84
|
- lib/parklife/application.rb
|
78
85
|
- lib/parklife/browser.rb
|
@@ -83,20 +90,21 @@ files:
|
|
83
90
|
- lib/parklife/rails.rb
|
84
91
|
- lib/parklife/route.rb
|
85
92
|
- lib/parklife/route_set.rb
|
93
|
+
- lib/parklife/sinatra.rb
|
86
94
|
- lib/parklife/templates/Parkfile.erb
|
87
95
|
- lib/parklife/templates/github_pages.yml
|
88
96
|
- lib/parklife/templates/static_build.erb
|
89
97
|
- lib/parklife/utils.rb
|
90
98
|
- lib/parklife/version.rb
|
91
99
|
- parklife.gemspec
|
92
|
-
homepage: https://
|
100
|
+
homepage: https://parklife.dev
|
93
101
|
licenses:
|
94
102
|
- MIT
|
95
103
|
metadata:
|
96
104
|
changelog_uri: https://github.com/benpickles/parklife/blob/main/CHANGELOG.md
|
105
|
+
homepage_uri: https://parklife.dev
|
97
106
|
rubygems_mfa_required: 'true'
|
98
107
|
source_code_uri: https://github.com/benpickles/parklife
|
99
|
-
post_install_message:
|
100
108
|
rdoc_options: []
|
101
109
|
require_paths:
|
102
110
|
- lib
|
@@ -111,8 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
111
119
|
- !ruby/object:Gem::Version
|
112
120
|
version: '0'
|
113
121
|
requirements: []
|
114
|
-
rubygems_version: 3.
|
115
|
-
signing_key:
|
122
|
+
rubygems_version: 3.6.2
|
116
123
|
specification_version: 4
|
117
124
|
summary: Convert a Rack app into a static HTML site.
|
118
125
|
test_files: []
|