amber_component 0.0.3 → 0.0.5
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/.solargraph.yml +1 -2
- data/CONTRIBUTING.md +2 -2
- data/Gemfile +1 -1
- data/Gemfile.lock +12 -12
- data/README.md +327 -4
- data/lib/amber_component/base.rb +31 -12
- data/lib/amber_component/helpers/component_helper.rb +1 -0
- data/lib/amber_component/minitest_test_case.rb +10 -0
- data/lib/amber_component/prop_definition.rb +54 -0
- data/lib/amber_component/props.rb +111 -0
- data/lib/amber_component/test_helper.rb +34 -0
- data/lib/amber_component/typed_content.rb +3 -3
- data/lib/amber_component/version.rb +1 -1
- data/lib/amber_component/views.rb +4 -4
- data/lib/amber_component.rb +8 -9
- data/lib/generators/amber_component/install_generator.rb +20 -1
- data/lib/generators/amber_component/templates/application_component_test_case.rb +7 -0
- data/lib/generators/amber_component_generator.rb +56 -4
- data/lib/generators/component_generator.rb +9 -0
- data/lib/generators/templates/component.rb.erb +3 -1
- data/lib/generators/templates/component_test.rb.erb +11 -3
- data/lib/generators/templates/style.css.erb +1 -1
- data/lib/generators/templates/style.sass.erb +3 -0
- data/lib/generators/templates/style.scss.erb +5 -0
- data/lib/generators/templates/view.haml.erb +9 -0
- data/lib/generators/templates/view.html.erb.erb +8 -0
- data/lib/generators/templates/view.slim.erb +6 -0
- metadata +13 -31
- data/docs/.bundle/config +0 -2
- data/docs/.gitignore +0 -5
- data/docs/404.html +0 -25
- data/docs/Gemfile +0 -37
- data/docs/Gemfile.lock +0 -89
- data/docs/README.md +0 -19
- data/docs/_config.yml +0 -148
- data/docs/_data/amber_component.yml +0 -3
- data/docs/_sass/_variables.scss +0 -2
- data/docs/_sass/color_schemes/amber_component.scss +0 -11
- data/docs/_sass/custom/custom.scss +0 -60
- data/docs/api/index.md +0 -8
- data/docs/assets/images/logo_wide.png +0 -0
- data/docs/changelog/index.md +0 -8
- data/docs/favicon.ico +0 -0
- data/docs/getting_started/index.md +0 -8
- data/docs/getting_started/installation.md +0 -7
- data/docs/getting_started/ruby_support.md +0 -7
- data/docs/getting_started/wireframes.md +0 -7
- data/docs/index.md +0 -17
- data/docs/introduction/basic_usage.md +0 -7
- data/docs/introduction/index.md +0 -8
- data/docs/introduction/why_amber_component.md +0 -7
- data/docs/resources/index.md +0 -8
- data/docs/styles/index.md +0 -8
- data/docs/styles/usage.md +0 -7
- data/docs/views/index.md +0 -8
- data/docs/views/usage.md +0 -7
- data/lib/generators/templates/view.html.erb +0 -3
@@ -0,0 +1,111 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'prop_definition'
|
4
|
+
|
5
|
+
module ::AmberComponent
|
6
|
+
# Provides a DSL for defining component
|
7
|
+
# properties.
|
8
|
+
module Props
|
9
|
+
# Class methods for component properties.
|
10
|
+
module ClassMethods
|
11
|
+
# @return [Hash{Symbol => AmberComponent::Prop}]
|
12
|
+
attr_reader :prop_definitions
|
13
|
+
|
14
|
+
# @param names [Array<Symbol>]
|
15
|
+
# @param type [Class, nil]
|
16
|
+
# @param required [Boolean]
|
17
|
+
# @param default [Object, Proc, nil]
|
18
|
+
# @param allow_nil [Boolean]
|
19
|
+
def prop(*names, type: nil, required: false, default: nil, allow_nil: false)
|
20
|
+
@prop_definitions ||= {}
|
21
|
+
include(@prop_methods_module = ::Module.new) if @prop_methods_module.nil?
|
22
|
+
|
23
|
+
names.each do |name|
|
24
|
+
@prop_definitions[name] = prop_def = PropDefinition.new(
|
25
|
+
name: name,
|
26
|
+
type: type,
|
27
|
+
required: required,
|
28
|
+
default: default,
|
29
|
+
allow_nil: allow_nil
|
30
|
+
)
|
31
|
+
raise IncorrectPropTypeError, <<~MSG unless type.nil? || type.is_a?(::Class)
|
32
|
+
`type` should be a class but received `#{type.inspect}` (`#{type.class}`)
|
33
|
+
MSG
|
34
|
+
|
35
|
+
@prop_methods_module.attr_reader name
|
36
|
+
next @prop_methods_module.attr_writer(name) unless prop_def.type?
|
37
|
+
|
38
|
+
@prop_methods_module.class_eval( # rubocop:disable Style/DocumentDynamicEvalDefinition
|
39
|
+
# def phone=(val)
|
40
|
+
# raise IncorrectPropTypeError, <<~MSG unless val.nil? || val.is_a?(String)
|
41
|
+
# #{self.class} received `#{val.class}` instead of `String` for `phone` prop
|
42
|
+
# MSG
|
43
|
+
#
|
44
|
+
# @phone = val
|
45
|
+
# end
|
46
|
+
<<~RUB, __FILE__, __LINE__ + 1
|
47
|
+
def #{name}=(val)
|
48
|
+
raise IncorrectPropTypeError, <<~MSG unless #{allow_nil ? 'val.nil? ||' : nil} val.is_a?(#{prop_def.type})
|
49
|
+
\#{self.class} received `\#{val.class}` instead of `#{prop_def.type}` for `#{name}` prop
|
50
|
+
MSG
|
51
|
+
|
52
|
+
@#{name} = val
|
53
|
+
end
|
54
|
+
RUB
|
55
|
+
) # rubocop:disable Layout/HeredocArgumentClosingParenthesis
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# @return [Array<Symbol>, nil]
|
60
|
+
def prop_names
|
61
|
+
@prop_definitions.keys
|
62
|
+
end
|
63
|
+
|
64
|
+
# @return [Array<Symbol>, nil]
|
65
|
+
def required_prop_names
|
66
|
+
@prop_definitions&.filter_map do |name, prop_def|
|
67
|
+
next unless prop_def.required
|
68
|
+
|
69
|
+
name
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
# Instance methods for component properties.
|
75
|
+
module InstanceMethods
|
76
|
+
private
|
77
|
+
|
78
|
+
# @param props [Hash{Symbol => Object}]
|
79
|
+
def initialize(**kwargs)
|
80
|
+
bind_props(kwargs)
|
81
|
+
end
|
82
|
+
|
83
|
+
# @param props [Hash{Symbol => Object}]
|
84
|
+
# @return [Boolean] `false` when there are no props defined on the class
|
85
|
+
# and `true` otherwise
|
86
|
+
# @raise [AmberComponent::MissingPropsError] when required props are missing
|
87
|
+
# @raise [AmberComponent::IncorrectPropTypeError]
|
88
|
+
def bind_props(props)
|
89
|
+
return false if self.class.prop_definitions.nil?
|
90
|
+
|
91
|
+
self.class.prop_definitions.each do |name, prop_def|
|
92
|
+
setter_name = :"#{name}="
|
93
|
+
public_send(setter_name, prop_def.default!) if prop_def.default?
|
94
|
+
|
95
|
+
prop_present = props.include? name
|
96
|
+
|
97
|
+
raise MissingPropsError, <<~MSG if prop_def.required? && !prop_present
|
98
|
+
`#{self.class}` has a missing required prop: `#{name.inspect}`
|
99
|
+
MSG
|
100
|
+
|
101
|
+
next unless prop_present
|
102
|
+
|
103
|
+
value = props[name]
|
104
|
+
public_send(setter_name, value)
|
105
|
+
end
|
106
|
+
|
107
|
+
true
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AmberComponent
|
4
|
+
# Provides assertions for the rendered
|
5
|
+
# HTML of components.
|
6
|
+
module TestHelper
|
7
|
+
begin
|
8
|
+
require 'capybara/minitest'
|
9
|
+
include ::Capybara::Minitest::Assertions
|
10
|
+
|
11
|
+
def page
|
12
|
+
@page ||= ::Capybara::Node::Simple.new(@rendered_content)
|
13
|
+
end
|
14
|
+
rescue ::LoadError
|
15
|
+
nil
|
16
|
+
end
|
17
|
+
|
18
|
+
# @return [Nokogiri::HTML]
|
19
|
+
def document
|
20
|
+
::Nokogiri::HTML.fragment(@rendered_content)
|
21
|
+
end
|
22
|
+
alias doc document
|
23
|
+
alias html document
|
24
|
+
|
25
|
+
# @param content [String]
|
26
|
+
# @return [Nokogiri::HTML]
|
27
|
+
def render(content = nil)
|
28
|
+
@page = nil
|
29
|
+
@rendered_content = content || yield
|
30
|
+
document
|
31
|
+
end
|
32
|
+
alias render_inline render
|
33
|
+
end
|
34
|
+
end
|
@@ -9,9 +9,9 @@ module ::AmberComponent
|
|
9
9
|
def wrap(val)
|
10
10
|
return val if val.is_a?(self)
|
11
11
|
|
12
|
-
unless val.respond_to?(:[])
|
13
|
-
|
14
|
-
|
12
|
+
raise InvalidTypeError, <<~MSG unless val.respond_to?(:[])
|
13
|
+
`TypedContent` should be a `Hash` or `#{self}` but was `#{val.class}` (#{val.inspect})
|
14
|
+
MSG
|
15
15
|
|
16
16
|
new(type: val[:type], content: val[:content])
|
17
17
|
end
|
@@ -55,7 +55,7 @@ module ::AmberComponent
|
|
55
55
|
# @return [String, nil]
|
56
56
|
def view_file_name
|
57
57
|
files = asset_file_names(VIEW_FILE_REGEXP)
|
58
|
-
raise
|
58
|
+
raise MultipleViewsError, "More than one view file for `#{name}` found!" if files.length > 1
|
59
59
|
|
60
60
|
files.first
|
61
61
|
end
|
@@ -81,7 +81,7 @@ module ::AmberComponent
|
|
81
81
|
view_content = view_from_inline unless view_from_inline.empty?
|
82
82
|
|
83
83
|
if view_content.nil? || view_content.empty?
|
84
|
-
raise
|
84
|
+
raise ViewFileNotFoundError, "View for `#{self.class}` could not be found!"
|
85
85
|
end
|
86
86
|
|
87
87
|
view_content
|
@@ -108,13 +108,13 @@ module ::AmberComponent
|
|
108
108
|
content = content.to_s
|
109
109
|
|
110
110
|
if content.empty?
|
111
|
-
raise
|
111
|
+
raise EmptyViewError, <<~ERR.squish
|
112
112
|
Custom view for `#{self.class}` from view method cannot be empty!
|
113
113
|
ERR
|
114
114
|
end
|
115
115
|
|
116
116
|
unless ALLOWED_VIEW_TYPES.include? type
|
117
|
-
raise
|
117
|
+
raise UnknownViewTypeError, <<~ERR.squish
|
118
118
|
Unknown view type for `#{self.class}` from view method!
|
119
119
|
Check return value of param type in `view :[type] do`
|
120
120
|
ERR
|
data/lib/amber_component.rb
CHANGED
@@ -5,16 +5,14 @@ require 'active_support/core_ext'
|
|
5
5
|
|
6
6
|
module ::AmberComponent
|
7
7
|
class Error < ::StandardError; end
|
8
|
-
class
|
9
|
-
class
|
8
|
+
class MissingPropsError < Error; end
|
9
|
+
class IncorrectPropTypeError < Error; end
|
10
|
+
class ViewFileNotFoundError < Error; end
|
11
|
+
class InvalidTypeError < Error; end
|
10
12
|
|
11
|
-
class
|
12
|
-
class
|
13
|
-
class
|
14
|
-
|
15
|
-
class EmptyStyle < Error; end
|
16
|
-
class UnknownStyleType < Error; end
|
17
|
-
class MultipleStyles < Error; end
|
13
|
+
class EmptyViewError < Error; end
|
14
|
+
class UnknownViewTypeError < Error; end
|
15
|
+
class MultipleViewsError < Error; end
|
18
16
|
end
|
19
17
|
|
20
18
|
require_relative 'amber_component/version'
|
@@ -24,5 +22,6 @@ require_relative 'amber_component/template_handler'
|
|
24
22
|
require_relative 'amber_component/views'
|
25
23
|
require_relative 'amber_component/assets'
|
26
24
|
require_relative 'amber_component/rendering'
|
25
|
+
require_relative 'amber_component/props'
|
27
26
|
require_relative 'amber_component/base'
|
28
27
|
require_relative 'amber_component/railtie' if defined?(::Rails::Railtie)
|
@@ -13,11 +13,30 @@ module ::AmberComponent
|
|
13
13
|
# copy rake tasks
|
14
14
|
def copy_tasks
|
15
15
|
copy_file 'application_component.rb', 'app/components/application_component.rb'
|
16
|
+
copy_file 'application_component_test_case.rb', 'test/application_component_test_case.rb'
|
17
|
+
append_file 'test/test_helper.rb', "require_relative 'application_component_test_case'"
|
16
18
|
|
17
|
-
|
19
|
+
require_components_css_in 'app/assets/stylesheets/application.css'
|
20
|
+
require_components_css_in 'app/assets/stylesheets/application.scss'
|
21
|
+
require_components_css_in 'app/assets/stylesheets/application.sass'
|
22
|
+
require_components_css_in 'app/assets/stylesheets/application.css.scss'
|
23
|
+
require_components_css_in 'app/assets/stylesheets/application.css.sass'
|
24
|
+
require_components_css_in 'app/assets/stylesheets/application.scss.sass'
|
25
|
+
require_components_css_in 'app/assets/stylesheets/application.sass.scss'
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
# @param file_name [String]
|
31
|
+
# @return [void]
|
32
|
+
def require_components_css_in(file_name)
|
33
|
+
return unless ::File.exist? file_name
|
34
|
+
|
35
|
+
inject_into_file file_name, after: "*= require_tree .\n" do
|
18
36
|
" *= require_tree ./../../components\n"
|
19
37
|
end
|
20
38
|
end
|
39
|
+
|
21
40
|
end
|
22
41
|
end
|
23
42
|
end
|
@@ -7,12 +7,39 @@ class AmberComponentGenerator < ::Rails::Generators::NamedBase
|
|
7
7
|
desc 'Generate a new component'
|
8
8
|
source_root ::File.expand_path('templates', __dir__)
|
9
9
|
|
10
|
-
#
|
11
|
-
|
10
|
+
# @return [Array<Symbol>]
|
11
|
+
VIEW_FORMATS = %i[html erb haml slim].freeze
|
12
|
+
# @return [Array<Symbol>]
|
13
|
+
STYLE_FORMATS = %i[css scss sass].freeze
|
14
|
+
|
15
|
+
class_option :view,
|
16
|
+
aliases: ['-v'],
|
17
|
+
desc: "Indicate what type of view should be generated eg. #{VIEW_FORMATS}"
|
18
|
+
|
19
|
+
class_option :css,
|
20
|
+
aliases: ['--style', '-c'],
|
21
|
+
desc: "Indicate what type of styles should be generated eg. #{STYLE_FORMATS}"
|
22
|
+
|
23
|
+
def generate_component
|
24
|
+
@view_format = (options[:view] || :html).to_sym
|
25
|
+
@view_format = :html if @view_format == :erb
|
26
|
+
|
27
|
+
@style_format = options[:css]&.to_sym
|
28
|
+
|
29
|
+
unless VIEW_FORMATS.include? @view_format
|
30
|
+
puts "No such view format as `#{@view_format}`"
|
31
|
+
return
|
32
|
+
end
|
33
|
+
|
34
|
+
if !@style_format.nil? && STYLE_FORMATS.include?(@style_format)
|
35
|
+
puts "No such css/style format as `#{@style_format}`"
|
36
|
+
return
|
37
|
+
end
|
38
|
+
|
12
39
|
template 'component.rb.erb', "app/components/#{file_path}.rb"
|
13
40
|
template 'component_test.rb.erb', "test/components/#{file_path}_test.rb"
|
14
|
-
|
15
|
-
|
41
|
+
create_stylesheet
|
42
|
+
create_view
|
16
43
|
end
|
17
44
|
|
18
45
|
def file_name
|
@@ -21,4 +48,29 @@ class AmberComponentGenerator < ::Rails::Generators::NamedBase
|
|
21
48
|
|
22
49
|
"#{name}_component"
|
23
50
|
end
|
51
|
+
|
52
|
+
private
|
53
|
+
|
54
|
+
# @return [void]
|
55
|
+
def create_view
|
56
|
+
case @view_format
|
57
|
+
when :slim
|
58
|
+
template 'view.slim.erb', "app/components/#{file_path}/view.slim"
|
59
|
+
when :haml
|
60
|
+
template 'view.haml.erb', "app/components/#{file_path}/view.haml"
|
61
|
+
else
|
62
|
+
template 'view.html.erb.erb', "app/components/#{file_path}/view.html.erb"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
# @return [void]
|
67
|
+
def create_stylesheet
|
68
|
+
if (@style_format.nil? && defined?(::SassC)) || @style_format == :scss
|
69
|
+
template 'style.scss.erb', "app/components/#{file_path}/style.scss"
|
70
|
+
elsif @style_format == :sass
|
71
|
+
template 'style.sass.erb', "app/components/#{file_path}/style.sass"
|
72
|
+
else
|
73
|
+
template 'style.css.erb', "app/components/#{file_path}/style.css"
|
74
|
+
end
|
75
|
+
end
|
24
76
|
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'fileutils'
|
4
|
+
require_relative 'amber_component_generator'
|
5
|
+
|
6
|
+
# A Rails generator which creates a new Amber component.
|
7
|
+
class ComponentGenerator < AmberComponentGenerator
|
8
|
+
source_root ::File.expand_path('templates', __dir__)
|
9
|
+
end
|
@@ -1,9 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class <%= class_name %> < ::ApplicationComponent
|
4
|
-
#
|
4
|
+
# Props that your component accepts
|
5
|
+
prop :description, default: -> { 'Default Description' }
|
5
6
|
|
6
7
|
after_initialize do
|
8
|
+
# some initialization
|
7
9
|
@time = ::Time.now
|
8
10
|
end
|
9
11
|
end
|
@@ -2,8 +2,16 @@
|
|
2
2
|
|
3
3
|
require 'test_helper'
|
4
4
|
|
5
|
-
class <%= class_name %>Test < ::
|
6
|
-
#
|
7
|
-
#
|
5
|
+
class <%= class_name %>Test < ::ApplicationComponentTestCase
|
6
|
+
# For a full list of available assertions see
|
7
|
+
# https://rubydoc.info/github/jnicklas/capybara/Capybara/Node/Matchers
|
8
|
+
|
9
|
+
# test 'returns correct html' do
|
10
|
+
# render do
|
11
|
+
# <%= class_name %>.call
|
12
|
+
# end
|
13
|
+
|
14
|
+
# assert_text 'Hello from <%= class_name %>'
|
15
|
+
# assert_selector "div.<%= singular_table_name %> p", text: 'Default Description'
|
8
16
|
# end
|
9
17
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amber_component
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ruby-Amber
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2022-
|
13
|
+
date: 2022-11-07 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: actionview
|
@@ -107,34 +107,6 @@ files:
|
|
107
107
|
- Rakefile
|
108
108
|
- amber_component.gemspec
|
109
109
|
- banner.png
|
110
|
-
- docs/.bundle/config
|
111
|
-
- docs/.gitignore
|
112
|
-
- docs/404.html
|
113
|
-
- docs/Gemfile
|
114
|
-
- docs/Gemfile.lock
|
115
|
-
- docs/README.md
|
116
|
-
- docs/_config.yml
|
117
|
-
- docs/_data/amber_component.yml
|
118
|
-
- docs/_sass/_variables.scss
|
119
|
-
- docs/_sass/color_schemes/amber_component.scss
|
120
|
-
- docs/_sass/custom/custom.scss
|
121
|
-
- docs/api/index.md
|
122
|
-
- docs/assets/images/logo_wide.png
|
123
|
-
- docs/changelog/index.md
|
124
|
-
- docs/favicon.ico
|
125
|
-
- docs/getting_started/index.md
|
126
|
-
- docs/getting_started/installation.md
|
127
|
-
- docs/getting_started/ruby_support.md
|
128
|
-
- docs/getting_started/wireframes.md
|
129
|
-
- docs/index.md
|
130
|
-
- docs/introduction/basic_usage.md
|
131
|
-
- docs/introduction/index.md
|
132
|
-
- docs/introduction/why_amber_component.md
|
133
|
-
- docs/resources/index.md
|
134
|
-
- docs/styles/index.md
|
135
|
-
- docs/styles/usage.md
|
136
|
-
- docs/views/index.md
|
137
|
-
- docs/views/usage.md
|
138
110
|
- icon.png
|
139
111
|
- lib/amber_component.rb
|
140
112
|
- lib/amber_component/assets.rb
|
@@ -143,20 +115,30 @@ files:
|
|
143
115
|
- lib/amber_component/helpers/class_helper.rb
|
144
116
|
- lib/amber_component/helpers/component_helper.rb
|
145
117
|
- lib/amber_component/helpers/css_helper.rb
|
118
|
+
- lib/amber_component/minitest_test_case.rb
|
119
|
+
- lib/amber_component/prop_definition.rb
|
120
|
+
- lib/amber_component/props.rb
|
146
121
|
- lib/amber_component/railtie.rb
|
147
122
|
- lib/amber_component/rendering.rb
|
148
123
|
- lib/amber_component/template_handler.rb
|
149
124
|
- lib/amber_component/template_handler/erb.rb
|
125
|
+
- lib/amber_component/test_helper.rb
|
150
126
|
- lib/amber_component/typed_content.rb
|
151
127
|
- lib/amber_component/version.rb
|
152
128
|
- lib/amber_component/views.rb
|
153
129
|
- lib/generators/amber_component/install_generator.rb
|
154
130
|
- lib/generators/amber_component/templates/application_component.rb
|
131
|
+
- lib/generators/amber_component/templates/application_component_test_case.rb
|
155
132
|
- lib/generators/amber_component_generator.rb
|
133
|
+
- lib/generators/component_generator.rb
|
156
134
|
- lib/generators/templates/component.rb.erb
|
157
135
|
- lib/generators/templates/component_test.rb.erb
|
158
136
|
- lib/generators/templates/style.css.erb
|
159
|
-
- lib/generators/templates/
|
137
|
+
- lib/generators/templates/style.sass.erb
|
138
|
+
- lib/generators/templates/style.scss.erb
|
139
|
+
- lib/generators/templates/view.haml.erb
|
140
|
+
- lib/generators/templates/view.html.erb.erb
|
141
|
+
- lib/generators/templates/view.slim.erb
|
160
142
|
homepage: https://github.com/amber-ruby/amber_component
|
161
143
|
licenses:
|
162
144
|
- MIT
|
data/docs/.bundle/config
DELETED
data/docs/.gitignore
DELETED
data/docs/404.html
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
---
|
2
|
-
permalink: /404.html
|
3
|
-
layout: default
|
4
|
-
---
|
5
|
-
|
6
|
-
<style type="text/css" media="screen">
|
7
|
-
.container {
|
8
|
-
margin: 10px auto;
|
9
|
-
max-width: 600px;
|
10
|
-
text-align: center;
|
11
|
-
}
|
12
|
-
h1 {
|
13
|
-
margin: 30px 0;
|
14
|
-
font-size: 4em;
|
15
|
-
line-height: 1;
|
16
|
-
letter-spacing: -1px;
|
17
|
-
}
|
18
|
-
</style>
|
19
|
-
|
20
|
-
<div class="container">
|
21
|
-
<h1>404</h1>
|
22
|
-
|
23
|
-
<p><strong>Page not found :(</strong></p>
|
24
|
-
<p>The requested page could not be found.</p>
|
25
|
-
</div>
|
data/docs/Gemfile
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
source 'https://rubygems.org'
|
4
|
-
# Hello! This is where you manage which Jekyll version is used to run.
|
5
|
-
# When you want to use a different version, change it below, save the
|
6
|
-
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
|
7
|
-
#
|
8
|
-
# bundle exec jekyll serve
|
9
|
-
#
|
10
|
-
# This will help ensure the proper Jekyll version is running.
|
11
|
-
# Happy Jekylling!
|
12
|
-
gem 'jekyll', '~> 4.2.2'
|
13
|
-
gem 'just-the-docs' # Theme for Jekyll docs.
|
14
|
-
gem 'webrick'
|
15
|
-
# This is the default theme for new Jekyll sites. You may change this to anything you like.
|
16
|
-
gem 'minima', '~> 2.5'
|
17
|
-
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
|
18
|
-
# uncomment the line below. To upgrade, run `bundle update github-pages`.
|
19
|
-
# gem "github-pages", group: :jekyll_plugins
|
20
|
-
# If you have any plugins, put them here!
|
21
|
-
group :jekyll_plugins do
|
22
|
-
gem 'jekyll-feed', '~> 0.12'
|
23
|
-
end
|
24
|
-
|
25
|
-
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
|
26
|
-
# and associated library.
|
27
|
-
platforms :mingw, :x64_mingw, :mswin, :jruby do
|
28
|
-
gem 'tzinfo', '~> 1.2'
|
29
|
-
gem 'tzinfo-data'
|
30
|
-
end
|
31
|
-
|
32
|
-
# Performance-booster for watching directories on Windows
|
33
|
-
gem 'wdm', '~> 0.1.1', platforms: %i[mingw x64_mingw mswin]
|
34
|
-
|
35
|
-
# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
|
36
|
-
# do not have a Java counterpart.
|
37
|
-
gem 'http_parser.rb', '~> 0.6.0', platforms: [:jruby]
|