geb 0.1.11
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 +7 -0
- data/.yardopts +3 -0
- data/CHANGELOG.md +37 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/LICENSE +21 -0
- data/README.md +384 -0
- data/Rakefile +21 -0
- data/bin/geb +21 -0
- data/lib/geb/cli.rb +40 -0
- data/lib/geb/commands/build.rb +59 -0
- data/lib/geb/commands/init.rb +70 -0
- data/lib/geb/commands/release.rb +54 -0
- data/lib/geb/commands/remote.rb +48 -0
- data/lib/geb/commands/server.rb +77 -0
- data/lib/geb/commands/upload.rb +48 -0
- data/lib/geb/commands/version.rb +36 -0
- data/lib/geb/config.rb +103 -0
- data/lib/geb/defaults.rb +44 -0
- data/lib/geb/git.rb +112 -0
- data/lib/geb/page.rb +217 -0
- data/lib/geb/partial.rb +150 -0
- data/lib/geb/samples/basic/assets/css/site.css +7 -0
- data/lib/geb/samples/basic/assets/images/android-chrome-192x192.png +0 -0
- data/lib/geb/samples/basic/assets/images/android-chrome-512x512.png +0 -0
- data/lib/geb/samples/basic/assets/images/apple-touch-icon.png +0 -0
- data/lib/geb/samples/basic/assets/images/favicon-16x16.png +0 -0
- data/lib/geb/samples/basic/assets/images/favicon-32x32.png +0 -0
- data/lib/geb/samples/basic/assets/images/favicon.ico +0 -0
- data/lib/geb/samples/basic/assets/images/hero.png +0 -0
- data/lib/geb/samples/basic/assets/images/og-thumb.png +0 -0
- data/lib/geb/samples/basic/assets/images/twitter-thumb.png +0 -0
- data/lib/geb/samples/basic/assets/js/site.js +5 -0
- data/lib/geb/samples/basic/geb.config.yml +70 -0
- data/lib/geb/samples/basic/index.html +11 -0
- data/lib/geb/samples/basic/page.html +11 -0
- data/lib/geb/samples/basic/shared/partials/_analytics.html +9 -0
- data/lib/geb/samples/basic/shared/partials/_footer.html +3 -0
- data/lib/geb/samples/basic/shared/partials/_global_assets.html +19 -0
- data/lib/geb/samples/basic/shared/partials/_header.html +0 -0
- data/lib/geb/samples/basic/shared/partials/_meta_tags.html +34 -0
- data/lib/geb/samples/basic/shared/templates/_blog_post.html +0 -0
- data/lib/geb/samples/basic/shared/templates/_site.html +19 -0
- data/lib/geb/samples/basic/site.webmanifest +1 -0
- data/lib/geb/samples/bootstrap_jquery/assets/css/site.css +7 -0
- data/lib/geb/samples/bootstrap_jquery/assets/images/android-chrome-192x192.png +0 -0
- data/lib/geb/samples/bootstrap_jquery/assets/images/android-chrome-512x512.png +0 -0
- data/lib/geb/samples/bootstrap_jquery/assets/images/apple-touch-icon.png +0 -0
- data/lib/geb/samples/bootstrap_jquery/assets/images/favicon-16x16.png +0 -0
- data/lib/geb/samples/bootstrap_jquery/assets/images/favicon-32x32.png +0 -0
- data/lib/geb/samples/bootstrap_jquery/assets/images/favicon.ico +0 -0
- data/lib/geb/samples/bootstrap_jquery/assets/images/hero.png +0 -0
- data/lib/geb/samples/bootstrap_jquery/assets/images/og-thumb.png +0 -0
- data/lib/geb/samples/bootstrap_jquery/assets/images/twitter-thumb.png +0 -0
- data/lib/geb/samples/bootstrap_jquery/assets/js/site.js +5 -0
- data/lib/geb/samples/bootstrap_jquery/blog/blog_post_1.html +35 -0
- data/lib/geb/samples/bootstrap_jquery/blog/blog_post_2.html +35 -0
- data/lib/geb/samples/bootstrap_jquery/blog/blog_post_3.html +35 -0
- data/lib/geb/samples/bootstrap_jquery/blog/index.html +17 -0
- data/lib/geb/samples/bootstrap_jquery/geb.config.yml +69 -0
- data/lib/geb/samples/bootstrap_jquery/index.html +11 -0
- data/lib/geb/samples/bootstrap_jquery/page.html +11 -0
- data/lib/geb/samples/bootstrap_jquery/shared/partials/_analytics.html +9 -0
- data/lib/geb/samples/bootstrap_jquery/shared/partials/_footer.html +3 -0
- data/lib/geb/samples/bootstrap_jquery/shared/partials/_global_assets.html +19 -0
- data/lib/geb/samples/bootstrap_jquery/shared/partials/_header.html +0 -0
- data/lib/geb/samples/bootstrap_jquery/shared/partials/_meta_tags.html +34 -0
- data/lib/geb/samples/bootstrap_jquery/shared/templates/_blog_post.html +0 -0
- data/lib/geb/samples/bootstrap_jquery/shared/templates/_site.html +19 -0
- data/lib/geb/samples/bootstrap_jquery/site.webmanifest +1 -0
- data/lib/geb/samples/geb.config.yml +70 -0
- data/lib/geb/server.rb +138 -0
- data/lib/geb/site/build.rb +189 -0
- data/lib/geb/site/core.rb +229 -0
- data/lib/geb/site/release.rb +70 -0
- data/lib/geb/site/remote.rb +142 -0
- data/lib/geb/site/template.rb +208 -0
- data/lib/geb/site.rb +83 -0
- data/lib/geb/template.rb +166 -0
- data/lib/geb/utilities.rb +110 -0
- data/lib/geb.rb +36 -0
- data/lib/seth.rb +50 -0
- data/sig/geb.rbs +4 -0
- data/test/api tests/test_cli.rb +200 -0
- data/test/api tests/test_config.rb +330 -0
- data/test/api tests/test_defaults.rb +62 -0
- data/test/api tests/test_git.rb +105 -0
- data/test/api tests/test_page.rb +320 -0
- data/test/api tests/test_partial.rb +152 -0
- data/test/api tests/test_server.rb +416 -0
- data/test/api tests/test_site.rb +1315 -0
- data/test/api tests/test_template.rb +249 -0
- data/test/api tests/test_utilities.rb +162 -0
- data/test/command tests/test_geb_build.rb +199 -0
- data/test/command tests/test_geb_init.rb +312 -0
- data/test/command tests/test_geb_release.rb +166 -0
- data/test/command tests/test_geb_remote.rb +66 -0
- data/test/command tests/test_geb_server.rb +122 -0
- data/test/command tests/test_geb_upload.rb +96 -0
- data/test/command tests/test_geb_version.rb +58 -0
- data/test/support/geb_api_test.rb +37 -0
- data/test/support/geb_cli_test.rb +275 -0
- data/test/support/geb_minitest_ext.rb +35 -0
- data/test/support/geb_test_helpers.rb +84 -0
- data/test/support/geb_web_server_proxy.rb +128 -0
- data/test/test_helper.rb +61 -0
- metadata +301 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
#
|
|
3
|
+
# A web server (using Webrick) that proxies requests. Allows tests to stub
|
|
4
|
+
# requests and responses. Useful for testing HTTP requests.
|
|
5
|
+
#
|
|
6
|
+
# @title Geb - Test Support - Test Helpers
|
|
7
|
+
# @author Edin Mustajbegovic <edin@actiontwelve.com>
|
|
8
|
+
# @copyright 2024 Edin Mustajbegovic
|
|
9
|
+
# @license MIT
|
|
10
|
+
#
|
|
11
|
+
# @see https://github.com/mainfram-work/geb for more information
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
require "webrick"
|
|
15
|
+
|
|
16
|
+
module Geb
|
|
17
|
+
module Test
|
|
18
|
+
|
|
19
|
+
# NullLogger class, used to suppress logging for the Webrick server
|
|
20
|
+
class NullLogger
|
|
21
|
+
def method_missing(*args)
|
|
22
|
+
# Do nothing
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# WebServerProxy class, used to create a web server that proxies requests
|
|
27
|
+
class WebServerProxy
|
|
28
|
+
|
|
29
|
+
# find an available port
|
|
30
|
+
# @return [Integer] the available port
|
|
31
|
+
def self.find_available_port
|
|
32
|
+
|
|
33
|
+
# start a new server and get the port
|
|
34
|
+
server = TCPServer.new(0)
|
|
35
|
+
port = server.addr[1]
|
|
36
|
+
|
|
37
|
+
# close the server
|
|
38
|
+
server.close
|
|
39
|
+
|
|
40
|
+
# return the port
|
|
41
|
+
return port
|
|
42
|
+
|
|
43
|
+
end # def self.find_available_port
|
|
44
|
+
|
|
45
|
+
# initialize the server, takes a port and a debug flag that stops the server will log to STDOUT
|
|
46
|
+
# @param port [Integer] the port the server will run on
|
|
47
|
+
# @param debug [Boolean] if true, the server will log to STDOUT
|
|
48
|
+
# @return [WebServerProxy] the server instance
|
|
49
|
+
def initialize(port, debug: false)
|
|
50
|
+
|
|
51
|
+
# start the server, consider debug flag
|
|
52
|
+
if debug
|
|
53
|
+
@server = WEBrick::HTTPServer.new(Port: port, AccessLog: [[STDOUT, WEBrick::AccessLog::COMMON_LOG_FORMAT], [STDOUT, WEBrick::AccessLog::REFERER_LOG_FORMAT]])
|
|
54
|
+
else
|
|
55
|
+
@server = WEBrick::HTTPServer.new(Port: port, Logger: NullLogger.new, AccessLog: [] )
|
|
56
|
+
end # if else
|
|
57
|
+
|
|
58
|
+
# mount the server root, just so we have something to return
|
|
59
|
+
@server.mount_proc("/") do |req, res|
|
|
60
|
+
res.body = "This server is for geb testing."
|
|
61
|
+
res.status = 200
|
|
62
|
+
res["Content-Type"] = "text/plain"
|
|
63
|
+
end # mount_proc
|
|
64
|
+
|
|
65
|
+
end # def initialize
|
|
66
|
+
|
|
67
|
+
# start the server
|
|
68
|
+
def start
|
|
69
|
+
@thread = Thread.new do
|
|
70
|
+
@server.start
|
|
71
|
+
end
|
|
72
|
+
end # def start
|
|
73
|
+
|
|
74
|
+
# stop the server
|
|
75
|
+
def stop
|
|
76
|
+
@server.shutdown if @server
|
|
77
|
+
@thread.join if @thread
|
|
78
|
+
end # def stop
|
|
79
|
+
|
|
80
|
+
# check if the server is running
|
|
81
|
+
def running?
|
|
82
|
+
@thread&.alive?
|
|
83
|
+
end # def running?
|
|
84
|
+
|
|
85
|
+
# get the base url of the server
|
|
86
|
+
def base_url
|
|
87
|
+
return "http://localhost:#{@server.config[:Port]}"
|
|
88
|
+
end # def base_url
|
|
89
|
+
|
|
90
|
+
# stub a reques, this is the whole point of this class
|
|
91
|
+
# @param url [String] the url to stub
|
|
92
|
+
# @param headers [Hash] the headers to return
|
|
93
|
+
# @param body [String] the body to return (optional)
|
|
94
|
+
# @param block [Block] a block to call to return the body (optional)
|
|
95
|
+
# @return [void]
|
|
96
|
+
# @example
|
|
97
|
+
#
|
|
98
|
+
# # stub a simple request
|
|
99
|
+
# http_proxy = start_proxy
|
|
100
|
+
# http_proxy.stub_request("http://example.com", { 'Content-Type' => 'text/html' }, "<html></html>")
|
|
101
|
+
#
|
|
102
|
+
# # stub a request with a block
|
|
103
|
+
# http_proxy.stub_request("http://example.com", { 'Content-Type' => 'text/html' }) do
|
|
104
|
+
# "<html></html>"
|
|
105
|
+
# end
|
|
106
|
+
#
|
|
107
|
+
def stub_request(url, headers = {}, body = nil, &block)
|
|
108
|
+
|
|
109
|
+
# strip the base_url from url
|
|
110
|
+
url = url.gsub(base_url, "")
|
|
111
|
+
|
|
112
|
+
# mount the request, url, headers, body and block
|
|
113
|
+
@server.mount_proc(url) do |request, response|
|
|
114
|
+
|
|
115
|
+
# set the response headers to the headers passed in
|
|
116
|
+
headers.each { |k, v| response[k] = v }
|
|
117
|
+
|
|
118
|
+
# set the response body to the body passed in or the block
|
|
119
|
+
response.body = block_given? ? block.call : body
|
|
120
|
+
|
|
121
|
+
end # mount_proc
|
|
122
|
+
|
|
123
|
+
end # def stub_request
|
|
124
|
+
|
|
125
|
+
end # class WebServerProxy
|
|
126
|
+
|
|
127
|
+
end # module Test
|
|
128
|
+
end # module Geb
|
data/test/test_helper.rb
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
#
|
|
3
|
+
# Minitest test helper class. This is where all global test setup is done.
|
|
4
|
+
#
|
|
5
|
+
# @title Geb - Test Support - Test Helpers
|
|
6
|
+
# @author Edin Mustajbegovic <edin@actiontwelve.com>
|
|
7
|
+
# @copyright 2024 Edin Mustajbegovic
|
|
8
|
+
# @license MIT
|
|
9
|
+
#
|
|
10
|
+
# @see https://github.com/mainfram-work/geb for more information
|
|
11
|
+
|
|
12
|
+
# include seth first... hang on to your hats
|
|
13
|
+
require 'seth'
|
|
14
|
+
|
|
15
|
+
# include simplecov for code coverage
|
|
16
|
+
require 'simplecov'
|
|
17
|
+
|
|
18
|
+
# start simplecov and configure it, before any important code is loaded
|
|
19
|
+
SimpleCov.start do
|
|
20
|
+
command_name 'rake test'
|
|
21
|
+
add_filter '/test/'
|
|
22
|
+
add_group 'Core' do |src_file|
|
|
23
|
+
src_file.filename.match(%r{^#{SimpleCov.root}/lib/geb/[^/]+$}) ||
|
|
24
|
+
src_file.filename.match(%r{^#{SimpleCov.root}/lib/[^/]+$})
|
|
25
|
+
end
|
|
26
|
+
add_group 'Commands', 'lib/geb/commands'
|
|
27
|
+
add_group 'Site Modules', 'lib/geb/site'
|
|
28
|
+
end # SimpleCov.start
|
|
29
|
+
|
|
30
|
+
# make sure simplecov runs at the end of the tests
|
|
31
|
+
SimpleCov.at_exit {}
|
|
32
|
+
|
|
33
|
+
# add the lib directory to the load path
|
|
34
|
+
$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
|
|
35
|
+
|
|
36
|
+
# change default encoding to UTF-8, this is important for the tests, as we are
|
|
37
|
+
# testing the output of the CLI commands. This is a global setting, so we need
|
|
38
|
+
# to suppress warnings with the help of the Seth module.
|
|
39
|
+
Seth.suppress_warnings do
|
|
40
|
+
Encoding.default_external = Encoding::UTF_8
|
|
41
|
+
Encoding.default_internal = Encoding::UTF_8
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# include the required libraries, including geb, the main code we are testing
|
|
45
|
+
require "geb"
|
|
46
|
+
require 'minitest/autorun'
|
|
47
|
+
require 'mocha/minitest'
|
|
48
|
+
require 'webrick'
|
|
49
|
+
require "stringio"
|
|
50
|
+
require "yaml"
|
|
51
|
+
|
|
52
|
+
# make sure code coverage actually generates a report
|
|
53
|
+
# apparently this is not required, but I couldn't get simplecov to work without it
|
|
54
|
+
Minitest.after_run { SimpleCov.result.format! }
|
|
55
|
+
|
|
56
|
+
# include the support files for our tests
|
|
57
|
+
require_relative 'support/geb_minitest_ext' # minitest extensions and syntax sugar
|
|
58
|
+
require_relative 'support/geb_cli_test' # CLI test base class
|
|
59
|
+
require_relative 'support/geb_api_test' # API test base class
|
|
60
|
+
require_relative 'support/geb_test_helpers' # test helper methods
|
|
61
|
+
require_relative 'support/geb_web_server_proxy' # web server proxy for testing
|
metadata
ADDED
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: geb
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.11
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Edin Mustajbegovic
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2024-07-04 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: dry-cli
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: webrick
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '1.8'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '1.8'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: listen
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '3.9'
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '3.9'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rake
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '13.0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '13.0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: minitest
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '5.0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '5.0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: webmock
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '3.0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '3.0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: simplecov
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: 0.21.2
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: 0.21.2
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: mocha
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - "~>"
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '2.1'
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - "~>"
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '2.1'
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: yard
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - "~>"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0.9'
|
|
132
|
+
type: :development
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - "~>"
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '0.9'
|
|
139
|
+
description: A static website builder with simple templating and management utilities.
|
|
140
|
+
email:
|
|
141
|
+
- edin@actiontwelve.com
|
|
142
|
+
executables:
|
|
143
|
+
- geb
|
|
144
|
+
extensions: []
|
|
145
|
+
extra_rdoc_files: []
|
|
146
|
+
files:
|
|
147
|
+
- ".yardopts"
|
|
148
|
+
- CHANGELOG.md
|
|
149
|
+
- CODE_OF_CONDUCT.md
|
|
150
|
+
- LICENSE
|
|
151
|
+
- README.md
|
|
152
|
+
- Rakefile
|
|
153
|
+
- bin/geb
|
|
154
|
+
- lib/geb.rb
|
|
155
|
+
- lib/geb/cli.rb
|
|
156
|
+
- lib/geb/commands/build.rb
|
|
157
|
+
- lib/geb/commands/init.rb
|
|
158
|
+
- lib/geb/commands/release.rb
|
|
159
|
+
- lib/geb/commands/remote.rb
|
|
160
|
+
- lib/geb/commands/server.rb
|
|
161
|
+
- lib/geb/commands/upload.rb
|
|
162
|
+
- lib/geb/commands/version.rb
|
|
163
|
+
- lib/geb/config.rb
|
|
164
|
+
- lib/geb/defaults.rb
|
|
165
|
+
- lib/geb/git.rb
|
|
166
|
+
- lib/geb/page.rb
|
|
167
|
+
- lib/geb/partial.rb
|
|
168
|
+
- lib/geb/samples/basic/assets/css/site.css
|
|
169
|
+
- lib/geb/samples/basic/assets/images/android-chrome-192x192.png
|
|
170
|
+
- lib/geb/samples/basic/assets/images/android-chrome-512x512.png
|
|
171
|
+
- lib/geb/samples/basic/assets/images/apple-touch-icon.png
|
|
172
|
+
- lib/geb/samples/basic/assets/images/favicon-16x16.png
|
|
173
|
+
- lib/geb/samples/basic/assets/images/favicon-32x32.png
|
|
174
|
+
- lib/geb/samples/basic/assets/images/favicon.ico
|
|
175
|
+
- lib/geb/samples/basic/assets/images/hero.png
|
|
176
|
+
- lib/geb/samples/basic/assets/images/og-thumb.png
|
|
177
|
+
- lib/geb/samples/basic/assets/images/twitter-thumb.png
|
|
178
|
+
- lib/geb/samples/basic/assets/js/site.js
|
|
179
|
+
- lib/geb/samples/basic/geb.config.yml
|
|
180
|
+
- lib/geb/samples/basic/index.html
|
|
181
|
+
- lib/geb/samples/basic/page.html
|
|
182
|
+
- lib/geb/samples/basic/shared/partials/_analytics.html
|
|
183
|
+
- lib/geb/samples/basic/shared/partials/_footer.html
|
|
184
|
+
- lib/geb/samples/basic/shared/partials/_global_assets.html
|
|
185
|
+
- lib/geb/samples/basic/shared/partials/_header.html
|
|
186
|
+
- lib/geb/samples/basic/shared/partials/_meta_tags.html
|
|
187
|
+
- lib/geb/samples/basic/shared/templates/_blog_post.html
|
|
188
|
+
- lib/geb/samples/basic/shared/templates/_site.html
|
|
189
|
+
- lib/geb/samples/basic/site.webmanifest
|
|
190
|
+
- lib/geb/samples/bootstrap_jquery/assets/css/site.css
|
|
191
|
+
- lib/geb/samples/bootstrap_jquery/assets/images/android-chrome-192x192.png
|
|
192
|
+
- lib/geb/samples/bootstrap_jquery/assets/images/android-chrome-512x512.png
|
|
193
|
+
- lib/geb/samples/bootstrap_jquery/assets/images/apple-touch-icon.png
|
|
194
|
+
- lib/geb/samples/bootstrap_jquery/assets/images/favicon-16x16.png
|
|
195
|
+
- lib/geb/samples/bootstrap_jquery/assets/images/favicon-32x32.png
|
|
196
|
+
- lib/geb/samples/bootstrap_jquery/assets/images/favicon.ico
|
|
197
|
+
- lib/geb/samples/bootstrap_jquery/assets/images/hero.png
|
|
198
|
+
- lib/geb/samples/bootstrap_jquery/assets/images/og-thumb.png
|
|
199
|
+
- lib/geb/samples/bootstrap_jquery/assets/images/twitter-thumb.png
|
|
200
|
+
- lib/geb/samples/bootstrap_jquery/assets/js/site.js
|
|
201
|
+
- lib/geb/samples/bootstrap_jquery/blog/blog_post_1.html
|
|
202
|
+
- lib/geb/samples/bootstrap_jquery/blog/blog_post_2.html
|
|
203
|
+
- lib/geb/samples/bootstrap_jquery/blog/blog_post_3.html
|
|
204
|
+
- lib/geb/samples/bootstrap_jquery/blog/index.html
|
|
205
|
+
- lib/geb/samples/bootstrap_jquery/geb.config.yml
|
|
206
|
+
- lib/geb/samples/bootstrap_jquery/index.html
|
|
207
|
+
- lib/geb/samples/bootstrap_jquery/page.html
|
|
208
|
+
- lib/geb/samples/bootstrap_jquery/shared/partials/_analytics.html
|
|
209
|
+
- lib/geb/samples/bootstrap_jquery/shared/partials/_footer.html
|
|
210
|
+
- lib/geb/samples/bootstrap_jquery/shared/partials/_global_assets.html
|
|
211
|
+
- lib/geb/samples/bootstrap_jquery/shared/partials/_header.html
|
|
212
|
+
- lib/geb/samples/bootstrap_jquery/shared/partials/_meta_tags.html
|
|
213
|
+
- lib/geb/samples/bootstrap_jquery/shared/templates/_blog_post.html
|
|
214
|
+
- lib/geb/samples/bootstrap_jquery/shared/templates/_site.html
|
|
215
|
+
- lib/geb/samples/bootstrap_jquery/site.webmanifest
|
|
216
|
+
- lib/geb/samples/geb.config.yml
|
|
217
|
+
- lib/geb/server.rb
|
|
218
|
+
- lib/geb/site.rb
|
|
219
|
+
- lib/geb/site/build.rb
|
|
220
|
+
- lib/geb/site/core.rb
|
|
221
|
+
- lib/geb/site/release.rb
|
|
222
|
+
- lib/geb/site/remote.rb
|
|
223
|
+
- lib/geb/site/template.rb
|
|
224
|
+
- lib/geb/template.rb
|
|
225
|
+
- lib/geb/utilities.rb
|
|
226
|
+
- lib/seth.rb
|
|
227
|
+
- sig/geb.rbs
|
|
228
|
+
- test/api tests/test_cli.rb
|
|
229
|
+
- test/api tests/test_config.rb
|
|
230
|
+
- test/api tests/test_defaults.rb
|
|
231
|
+
- test/api tests/test_git.rb
|
|
232
|
+
- test/api tests/test_page.rb
|
|
233
|
+
- test/api tests/test_partial.rb
|
|
234
|
+
- test/api tests/test_server.rb
|
|
235
|
+
- test/api tests/test_site.rb
|
|
236
|
+
- test/api tests/test_template.rb
|
|
237
|
+
- test/api tests/test_utilities.rb
|
|
238
|
+
- test/command tests/test_geb_build.rb
|
|
239
|
+
- test/command tests/test_geb_init.rb
|
|
240
|
+
- test/command tests/test_geb_release.rb
|
|
241
|
+
- test/command tests/test_geb_remote.rb
|
|
242
|
+
- test/command tests/test_geb_server.rb
|
|
243
|
+
- test/command tests/test_geb_upload.rb
|
|
244
|
+
- test/command tests/test_geb_version.rb
|
|
245
|
+
- test/support/geb_api_test.rb
|
|
246
|
+
- test/support/geb_cli_test.rb
|
|
247
|
+
- test/support/geb_minitest_ext.rb
|
|
248
|
+
- test/support/geb_test_helpers.rb
|
|
249
|
+
- test/support/geb_web_server_proxy.rb
|
|
250
|
+
- test/test_helper.rb
|
|
251
|
+
homepage: https://github.com/mainfram-work/geb
|
|
252
|
+
licenses:
|
|
253
|
+
- MIT
|
|
254
|
+
metadata:
|
|
255
|
+
homepage_uri: https://github.com/mainfram-work/geb
|
|
256
|
+
source_code_uri: https://github.com/mainfram-work/geb
|
|
257
|
+
changelog_uri: https://github.com/mainfram-work/geb/blob/main/CHANGELOG.md
|
|
258
|
+
post_install_message:
|
|
259
|
+
rdoc_options: []
|
|
260
|
+
require_paths:
|
|
261
|
+
- lib
|
|
262
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
263
|
+
requirements:
|
|
264
|
+
- - ">="
|
|
265
|
+
- !ruby/object:Gem::Version
|
|
266
|
+
version: 3.0.0
|
|
267
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
268
|
+
requirements:
|
|
269
|
+
- - ">="
|
|
270
|
+
- !ruby/object:Gem::Version
|
|
271
|
+
version: '0'
|
|
272
|
+
requirements: []
|
|
273
|
+
rubygems_version: 3.5.9
|
|
274
|
+
signing_key:
|
|
275
|
+
specification_version: 4
|
|
276
|
+
summary: Geb is a robust static website manager and builder, offering powerful tools
|
|
277
|
+
and templates for creating and managing static websites with ease.
|
|
278
|
+
test_files:
|
|
279
|
+
- test/api tests/test_cli.rb
|
|
280
|
+
- test/api tests/test_config.rb
|
|
281
|
+
- test/api tests/test_defaults.rb
|
|
282
|
+
- test/api tests/test_git.rb
|
|
283
|
+
- test/api tests/test_page.rb
|
|
284
|
+
- test/api tests/test_partial.rb
|
|
285
|
+
- test/api tests/test_server.rb
|
|
286
|
+
- test/api tests/test_site.rb
|
|
287
|
+
- test/api tests/test_template.rb
|
|
288
|
+
- test/api tests/test_utilities.rb
|
|
289
|
+
- test/command tests/test_geb_build.rb
|
|
290
|
+
- test/command tests/test_geb_init.rb
|
|
291
|
+
- test/command tests/test_geb_release.rb
|
|
292
|
+
- test/command tests/test_geb_remote.rb
|
|
293
|
+
- test/command tests/test_geb_server.rb
|
|
294
|
+
- test/command tests/test_geb_upload.rb
|
|
295
|
+
- test/command tests/test_geb_version.rb
|
|
296
|
+
- test/support/geb_api_test.rb
|
|
297
|
+
- test/support/geb_cli_test.rb
|
|
298
|
+
- test/support/geb_minitest_ext.rb
|
|
299
|
+
- test/support/geb_test_helpers.rb
|
|
300
|
+
- test/support/geb_web_server_proxy.rb
|
|
301
|
+
- test/test_helper.rb
|