elemental_styleguide 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b1a2865f90e0e078a84f26cf5a332107457baf8221b7970e28671d0b4b39d67e
4
+ data.tar.gz: c74b074123b0addcb2f13fe696814ae3e71878ba2801d4ca903bc7d8768f1308
5
+ SHA512:
6
+ metadata.gz: 158a7d09eca0402be90744b9a876921f005780e89b260b45b6e3db3b0d647e11d6c6be65009e01a626c7e04fcada49bb7b481b6aa230b13c8235c9d931086bef
7
+ data.tar.gz: ded8cfb89e67a2a0e5fe0cc3a3b99cf1f65d0b033475ffb7c1b0c775e71ed3a589f9fbcc315466b2d1945e2a8bda2ea0c6dd4a987c7baef75316445862a1a55f
@@ -0,0 +1,20 @@
1
+ Copyright 2018 Jens Ljungblad
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,87 @@
1
+ # Elemental Style Guide
2
+
3
+ Simple style guide for Rails 5.1+, designed to go well with [elemental_components](https://github.com/jensljungblad/elemental_components). The two together are inspired by the works of [Brad Frost](http://bradfrost.com) and by the [thoughts behind](http://engineering.lonelyplanet.com/2014/05/18/a-maintainable-styleguide.html) Lonely Planet's style guide [Rizzo](http://rizzo.lonelyplanet.com).
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem "elemental_styleguide"
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ ```sh
16
+ $ bundle
17
+ ```
18
+
19
+ Run the install generator:
20
+
21
+ ```sh
22
+ $ bin/rails g elemental_styleguide:install
23
+ ```
24
+
25
+ This will create the following files and directories:
26
+
27
+ ```
28
+ app/
29
+ views/
30
+ layouts/
31
+ styleguide/
32
+ example.html.erb
33
+ styleguide/
34
+ 01_home.md
35
+ ```
36
+
37
+ The style guide can be mounted in your routes file with:
38
+
39
+ ```ruby
40
+ mount ElementalStyleguide::Engine => "/styleguide"
41
+ ```
42
+
43
+ You can now access the style guide at `http://localhost:3000/styleguide`.
44
+
45
+ ## Pages
46
+
47
+ You can create style guide pages simply by adding markdown files to the `app/views/styleguide` directory. These can be structured by putting them in subdirectories, and sorted by prefixing the file names with a digit.
48
+
49
+ Check out Brad Frost's [Style Guide Guide](https://github.com/bradfrost/style-guide-guide) for style guide inspiration.
50
+
51
+ ## Examples
52
+
53
+ A special markdown syntax, inspired by [Catalog](https://www.catalog.style), can be used to render examples of any `erb` code on the style guide page, in the context of your own application:
54
+
55
+ ````markdown
56
+ # Example
57
+
58
+ ```example
59
+ <%= "Hello world" %>
60
+ ```
61
+ ````
62
+
63
+ It is possible to pass options to the example, in order to control the width and height of the wrapping element:
64
+
65
+
66
+ ````markdown
67
+ ```example
68
+ width: 500
69
+ height: 200
70
+ ---
71
+ <%= "Hello world" %>
72
+ ```
73
+ ````
74
+
75
+ Examples need your application's CSS and JS in order to function properly. There is an `app/views/layouts/styleguide/example.html.erb` layout file that examples are rendered within. This file can be modified in order to add additional tags to the header, like the `javascript_pack_tag` when using the webpacker gem, or classes and styles to the body tag.
76
+
77
+ ## Acknowledgements
78
+
79
+ This library, together with [elemental_components](https://github.com/jensljungblad/elemental_components), was inspired by the writings of [Brad Frost](http://bradfrost.com) on atomic design and living style guides, and [Rizzo](http://rizzo.lonelyplanet.com), the Lonely Planet style guide. Other inspirations were:
80
+
81
+ - [Catalog](https://www.catalog.style) - style guide for React
82
+ - [Storybook](https://storybook.js.org) - style guide for React
83
+ - [React Styleguidist](https://react-styleguidist.js.org) - style guide for React
84
+ - [Cells](https://github.com/trailblazer/cells) - view components for Ruby
85
+ - [Komponent](https://github.com/komposable/komponent) - view components for Ruby
86
+
87
+ For a list of real world style guides, check out http://styleguides.io.
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ begin
4
+ require "bundler/setup"
5
+ rescue LoadError
6
+ puts "You must `gem install bundler` and `bundle install` to run rake tasks"
7
+ end
8
+
9
+ require "rdoc/task"
10
+
11
+ RDoc::Task.new(:rdoc) do |rdoc|
12
+ rdoc.rdoc_dir = "rdoc"
13
+ rdoc.title = "Elemental Styleguide"
14
+ rdoc.options << "--line-numbers"
15
+ rdoc.rdoc_files.include("README.md")
16
+ rdoc.rdoc_files.include("lib/**/*.rb")
17
+ end
18
+
19
+ APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__)
20
+ load "rails/tasks/engine.rake"
21
+
22
+ load "rails/tasks/statistics.rake"
23
+
24
+ require "bundler/gem_tasks"
25
+
26
+ require "rake/testtask"
27
+
28
+ Rake::TestTask.new(:test) do |t|
29
+ t.libs << "test"
30
+ t.pattern = "test/**/*_test.rb"
31
+ t.verbose = false
32
+ end
33
+
34
+ task default: :test
@@ -0,0 +1,2 @@
1
+ //= link_directory ../javascripts/elemental_styleguide .js
2
+ //= link_directory ../stylesheets/elemental_styleguide .css
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree .
@@ -0,0 +1,182 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
16
+
17
+ <%= Rouge::Themes::Base16.mode(:light).render(scope: '.highlight') %>
18
+
19
+ body {
20
+ margin: 0;
21
+ padding: 0;
22
+ font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
23
+ line-height: 1.5;
24
+ }
25
+
26
+ a {
27
+ color: #5296b2;
28
+ text-decoration: none;
29
+ border-bottom: 2px solid #ddebf0;
30
+ transition: all .2s ease-in-out;
31
+ }
32
+
33
+ a:hover {
34
+ border-color: #5296b2;
35
+ }
36
+
37
+ p {
38
+ margin: 0 0 2em;
39
+ }
40
+
41
+ main {
42
+ width: 100%;
43
+ max-width: 1024px;
44
+ margin: 0 auto;
45
+ padding: 40px 60px 60px;
46
+ }
47
+
48
+ pre {
49
+ margin: 0 0 2em;
50
+ padding: 30px;
51
+ background: #f4f7fb;
52
+ border: 1px solid #dfe3e6;
53
+ }
54
+
55
+ code {
56
+ font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
57
+ font-size: 15px;
58
+ }
59
+
60
+ iframe {
61
+ margin: 0;
62
+ height: 0;
63
+ border: none;
64
+ }
65
+
66
+ h1 {
67
+ margin: 0 0 1em;
68
+ padding: 0 0 .5em;
69
+ border-bottom: 2px solid #dfe3e6;
70
+ color: #333;
71
+ font-size: 50px;
72
+ font-weight: 500;
73
+ }
74
+
75
+ h2 {
76
+ color: #333;
77
+ font-weight: 600;
78
+ }
79
+
80
+ ul,
81
+ ol {
82
+ margin: 0 0 2em;
83
+ }
84
+
85
+ table {
86
+ margin: 0 0 2em;
87
+ border-collapse: collapse;
88
+ }
89
+
90
+ th,
91
+ td {
92
+ padding: .6em 2em .6em 0;
93
+ text-align: left;
94
+ }
95
+
96
+ th:last-child,
97
+ td:last-child {
98
+ padding-right: 0;
99
+ }
100
+
101
+ th {
102
+ border-bottom: 2px solid #dfe3e6;
103
+ }
104
+
105
+ td {
106
+ border-bottom: 1px solid #dfe3e6;
107
+ }
108
+
109
+ hr {
110
+ margin: 2em 0 0;
111
+ padding: 2em 0 0;
112
+ border: 1px solid #dfe3e6;
113
+ border-width: 1px 0 0;
114
+ }
115
+
116
+ blockquote {
117
+ padding-left: 25px;
118
+ border-left: 3px solid #dfe3e6;
119
+ color: #879097;
120
+ font-style: italic;
121
+ }
122
+
123
+ nav {
124
+ padding: 10px 30px 40px;
125
+ background: #f4f7fb;
126
+ min-width: 180px;
127
+ }
128
+
129
+ nav a {
130
+ text-decoration: none;
131
+ border-bottom: 2px solid transparent;
132
+ }
133
+
134
+ nav a:hover {
135
+ border-bottom: 2px solid #a9cbd9;
136
+ }
137
+
138
+ nav ul {
139
+ list-style: none;
140
+ margin: 0;
141
+ padding: 0;
142
+ font-size: 18px;
143
+ font-weight: 500;
144
+ }
145
+
146
+ nav > ul > li {
147
+ display: block;
148
+ margin: .6em 0 0;
149
+ padding: .6em 0 0;
150
+ box-shadow: 0 -1px 0 0 #dfe3e6;
151
+ }
152
+
153
+ nav > ul > li:first-child {
154
+ box-shadow: none;
155
+ }
156
+
157
+ nav ul ul {
158
+ margin: .6em 0;
159
+ padding: 0 0;
160
+ font-size: 15px;
161
+ font-weight: 400;
162
+ }
163
+
164
+ nav ul ul ul {
165
+ font-size: 14px;
166
+ padding-left: 1em;
167
+ }
168
+
169
+ .example {
170
+ display: grid;
171
+ padding: 30px;
172
+ border: 1px solid #dfe3e6;
173
+ border-width: 1px 1px 0;
174
+ }
175
+
176
+ .grid-container {
177
+ display: grid;
178
+ width: 100%;
179
+ height: 100vh;
180
+ grid-gap: 0;
181
+ grid-template-columns: auto 1fr;
182
+ }
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ElementalStyleguide
4
+ class ApplicationController < ActionController::Base
5
+ protect_from_forgery with: :exception
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ElementalStyleguide
4
+ class ExamplesController < ApplicationController
5
+ helper Rails.application.helpers
6
+ helper Rails.application.routes.url_helpers
7
+
8
+ def show
9
+ render inline: Base64.urlsafe_decode64(params[:example]), layout: "styleguide/example"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ElementalStyleguide
4
+ class PagesController < ApplicationController
5
+ helper ElementalStyleguide::NavigationHelper
6
+
7
+ def show
8
+ unless params[:path]
9
+ params[:path] = ElementalStyleguide.page_names[0][0]
10
+ end
11
+ render "styleguide/#{params[:path]}", layout: "elemental_styleguide/application"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ElementalStyleguide
4
+ module NavigationHelper
5
+ # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
6
+ def navigation(pages = nil, paths = [])
7
+ content_tag :ul do
8
+ (pages || ElementalStyleguide.page_names).map do |page|
9
+ path, label, children = page
10
+ path = paths.dup << path
11
+
12
+ content_tag :li do
13
+ if children
14
+ [label, navigation(children, path)].join("").html_safe
15
+ else
16
+ link_to label, elemental_styleguide.page_path(path)
17
+ end
18
+ end
19
+ end.join("").html_safe
20
+ end
21
+ end
22
+ # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
23
+ end
24
+ end
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Style guide</title>
5
+ <%= stylesheet_link_tag "elemental_styleguide/application", media: "all" %>
6
+ <%= javascript_include_tag "elemental_styleguide/application" %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+ <div class="grid-container">
11
+ <nav>
12
+ <%= navigation %>
13
+ </nav>
14
+ <main>
15
+ <%= yield %>
16
+ </main>
17
+ </div>
18
+ <script>
19
+ var iframes = document.getElementsByTagName('iframe');
20
+
21
+ for (var i = 0; i < iframes.length; i++) {
22
+ iframes[i].onload = function(e) {
23
+ var i = e.target;
24
+ var d = i.contentWindow.document;
25
+ var b = d.getElementsByTagName('body')[0];
26
+
27
+ if (i.height == 'auto') {
28
+ i.style.height = b.scrollHeight + 'px';
29
+ } else {
30
+ i.style.height = i.height + 'px';
31
+ }
32
+ }
33
+ }
34
+ </script>
35
+ </body>
36
+ </html>
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ ElementalStyleguide::Engine.routes.draw do
4
+ root to: "pages#show"
5
+ get "example", to: "examples#show", as: :example
6
+ get "*path", to: "pages#show", as: :page
7
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "redcarpet"
4
+ require "rouge"
5
+ require "rouge/plugins/redcarpet"
6
+ require "elemental_styleguide/markdown_handler"
7
+ require "elemental_styleguide/markdown_renderer"
8
+ require "elemental_styleguide/engine"
9
+
10
+ module ElementalStyleguide
11
+ def self.pages_path
12
+ Rails.root.join("app", "views", "styleguide")
13
+ end
14
+
15
+ def self.page_names(path = nil)
16
+ Dir.chdir(path || pages_path) do
17
+ Dir.glob("*").sort.map do |item|
18
+ [
19
+ item.sub(/\..*/, ""),
20
+ item.sub(/\..*/, "").sub(/[0-9]*_?/, "").titleize
21
+ ].tap do |array|
22
+ array << page_names(item) if File.directory?(item)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ElementalStyleguide
4
+ class Engine < ::Rails::Engine
5
+ isolate_namespace ElementalStyleguide
6
+
7
+ initializer "elemental_styleguide.template_hander" do
8
+ ActionView::Template.register_template_handler :md, ElementalStyleguide::MarkdownHandler
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ElementalStyleguide
4
+ class MarkdownHandler
5
+ class << self
6
+ def call(template, _source)
7
+ @markdown_renderer ||= Redcarpet::Markdown.new(
8
+ ElementalStyleguide::MarkdownRenderer,
9
+ autolink: true,
10
+ tables: true,
11
+ fenced_code_blocks: true
12
+ )
13
+ "#{@markdown_renderer.render(template.source).inspect}.html_safe"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ElementalStyleguide
4
+ class MarkdownRenderer < Redcarpet::Render::HTML
5
+ include Rouge::Plugins::Redcarpet
6
+
7
+ def block_code(code, language)
8
+ case language
9
+ when "example"
10
+ options, code = parse_options(code)
11
+ example(code, options)
12
+ else
13
+ super
14
+ end
15
+ end
16
+
17
+ def example(code, options)
18
+ <<-EXAMPLE
19
+ <div class="example">
20
+ <iframe src="/styleguide/example?example=#{Base64.urlsafe_encode64(code)}"
21
+ width="#{options['width'] || '100%'}"
22
+ height="#{options['height'] || 'auto'}"></iframe>
23
+ </div>
24
+ <div class="example-source">
25
+ #{block_code(code.strip, 'erb')}
26
+ </div>
27
+ EXAMPLE
28
+ end
29
+
30
+ private
31
+
32
+ def parse_options(code)
33
+ pieces = code.split("---")
34
+
35
+ if pieces.length > 1
36
+ options = pieces[0].split("\n").map { |i| i.split(": ") }.to_h
37
+ [options, pieces[1]]
38
+ else
39
+ options = {}
40
+ [options, pieces[0]]
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ElementalStyleguide
4
+ class Railtie < ::Rails::Railtie
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ElementalStyleguide
4
+ VERSION = "1.0.0.beta1"
5
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ElementalStyleguide
4
+ class InstallGenerator < Rails::Generators::Base
5
+ desc "Install style guide"
6
+
7
+ source_root File.expand_path("templates", __dir__)
8
+
9
+ def create_style_guide
10
+ directory "install", "app"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <%= stylesheet_link_tag "application", media: "all" %>
5
+ <%= javascript_include_tag "application" %>
6
+ </head>
7
+ <body>
8
+ <div id="example">
9
+ <%= yield %>
10
+ </div>
11
+ </body>
12
+ </html>
@@ -0,0 +1,5 @@
1
+ # Style guide
2
+
3
+ The homepage of a style guide should provide high-level information around what the design system is, what benefits it provides, who it’s for, and how to get started with it.
4
+
5
+ Check out Brad Frost's [Style Guide Guide](https://github.com/bradfrost/style-guide-guide) for style guide inspiration.
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ # desc "Explaining what the task does"
4
+ # task :elemental_styleguide do
5
+ # # Task goes here
6
+ # end
metadata ADDED
@@ -0,0 +1,150 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: elemental_styleguide
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0.beta1
5
+ platform: ruby
6
+ authors:
7
+ - Jens Ljungblad
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-02-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 5.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: 5.1.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: redcarpet
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 3.5.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 3.5.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rouge
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 3.13.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 3.13.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: appraisal
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.74.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.74.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: sqlite3
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.4.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.4.0
97
+ description: Simple style guide for Rails 5.1+
98
+ email:
99
+ - jens.ljungblad@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - MIT-LICENSE
105
+ - README.md
106
+ - Rakefile
107
+ - app/assets/config/elemental_styleguide_manifest.js
108
+ - app/assets/javascripts/elemental_styleguide/application.js
109
+ - app/assets/stylesheets/elemental_styleguide/application.css.erb
110
+ - app/controllers/elemental_styleguide/application_controller.rb
111
+ - app/controllers/elemental_styleguide/examples_controller.rb
112
+ - app/controllers/elemental_styleguide/pages_controller.rb
113
+ - app/helpers/elemental_styleguide/navigation_helper.rb
114
+ - app/views/layouts/elemental_styleguide/application.html.erb
115
+ - config/routes.rb
116
+ - lib/elemental_styleguide.rb
117
+ - lib/elemental_styleguide/engine.rb
118
+ - lib/elemental_styleguide/markdown_handler.rb
119
+ - lib/elemental_styleguide/markdown_renderer.rb
120
+ - lib/elemental_styleguide/railtie.rb
121
+ - lib/elemental_styleguide/version.rb
122
+ - lib/generators/elemental_styleguide/install_generator.rb
123
+ - lib/generators/elemental_styleguide/templates/install/views/layouts/styleguide/example.html.erb
124
+ - lib/generators/elemental_styleguide/templates/install/views/styleguide/01_home.md
125
+ - lib/tasks/elemental_styleguide_tasks.rake
126
+ homepage: https://www.github.com/jensljungblad/elemental_styleguide
127
+ licenses:
128
+ - MIT
129
+ metadata: {}
130
+ post_install_message:
131
+ rdoc_options: []
132
+ require_paths:
133
+ - lib
134
+ required_ruby_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ required_rubygems_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">"
142
+ - !ruby/object:Gem::Version
143
+ version: 1.3.1
144
+ requirements: []
145
+ rubyforge_project:
146
+ rubygems_version: 2.7.6
147
+ signing_key:
148
+ specification_version: 4
149
+ summary: Simple style guide for Rails 5.1+
150
+ test_files: []