flutterby 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +23 -0
- data/README.md +14 -10
- data/flutterby.gemspec +12 -5
- data/lib/flutterby/cli.rb +18 -1
- data/lib/flutterby/exporter.rb +1 -1
- data/lib/flutterby/filters.rb +7 -17
- data/lib/flutterby/markdown_formatter.rb +17 -0
- data/lib/flutterby/node.rb +6 -6
- data/lib/flutterby/server.rb +11 -2
- data/lib/flutterby/version.rb +1 -1
- data/lib/flutterby/view.rb +2 -1
- data/lib/templates/new_project/site/_layout.erb +5 -0
- data/lib/templates/new_project/site/blog/2017-01-01-hello-world.html.md +19 -2
- data/lib/templates/new_project/site/css/styles.css.scss +24 -0
- data/lib/templates/new_project/site/js/app.js +2 -0
- metadata +44 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51679cec3fb95d5b0e6a2ee392373856eb160b3f
|
4
|
+
data.tar.gz: 17e5203af322a8bc0c9fbe9b435b25c7a27f9166
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc7c1767f95d7a49e5fd2612a187e9e10d1976da0dfd6afad7172a79ac684d3f11e9ef8dffe078e4a4a538b9ff629fd0af45d1461dd45d7bf26d7dbaeccbbc82
|
7
|
+
data.tar.gz: 73b5970b058190ec21e67339d5134f00a795aa92e18d3a65fca87da627b1c9ae7dc2944045aa9e2c91cfe1de7cc243199b1c786bb55ad3481be33805f37b654d
|
data/CHANGES.md
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# Version History
|
2
|
+
|
3
|
+
### 0.2.0 (in development)
|
4
|
+
|
5
|
+
- **BREAKING CHANGE:** The default for `Node#render` is now to _not_ render a layout. Pass `layout: true` if you do want the node to be rendered within a layout.
|
6
|
+
- **BREAKING CHANGE:** The behavior of `find` has now changed with regard to relative paths. `find(".")` will now return _the node's parent_ (ie. it's folder); before, a single dot would return the node itself. This change was made to make `find` behave more like what you would expect from a file system.
|
7
|
+
- **CHANGE:** Stop the [Slodown] library from picking up Coderay et al to perform server-side syntax highlighting. This will probably be made configurable at some point in the future. For the time being, it is recommended to perform syntax highlighting through client-side libraries like [highlight.js].
|
8
|
+
- **NEW:** You can now pass options to rendered partials. For example, when you invoke `<%= render("_foo.html.erb", name: "bar") %>`, `_foo.html.erb` can use `opts[:name]`.
|
9
|
+
- **NEW:** `flutterby serve` now properly catches and displays exceptions via the [better_errors](https://github.com/charliesome/better_errors) gem.
|
10
|
+
- **NEW:** For filters not natively supported by Flutterby, it will now fall back to [Tilt]. This means you can just add any gem supported by Tilt to your project to use it as a template language, with no Flutterby-specific plugin required. Hooray!
|
11
|
+
- **NEW:** the `flutterby` CLI now has a `version` command that will print the version of Flutterby you're using.
|
12
|
+
|
13
|
+
|
14
|
+
### 0.1.0 (2017-01-11)
|
15
|
+
|
16
|
+
- First release!
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
[Tilt]: https://github.com/rtomayko/tilt
|
22
|
+
[Slodown]: http://github.com/hmans/slodown
|
23
|
+
[highlight.js]: https://highlightjs.org/
|
data/README.md
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
[![Gem Version](https://badge.fury.io/rb/flutterby.svg)](https://badge.fury.io/rb/flutterby) [![Build Status](https://travis-ci.org/hmans/flutterby.svg?branch=master)](https://travis-ci.org/hmans/flutterby) ![Status](https://img.shields.io/badge/status-active-brightgreen.svg)
|
2
|
-
|
3
1
|
# Flutterby
|
4
2
|
|
5
|
-
|
3
|
+
### A very, very good static site generator.
|
4
|
+
|
5
|
+
[![Gem Version](https://badge.fury.io/rb/flutterby.svg)](https://badge.fury.io/rb/flutterby) [![Build Status](https://travis-ci.org/hmans/flutterby.svg?branch=master)](https://travis-ci.org/hmans/flutterby) [![license](https://img.shields.io/github/license/hmans/flutterby.svg)](https://github.com/hmans/flutterby/blob/master/LICENSE.txt) ![Status](https://img.shields.io/badge/status-active-brightgreen.svg)
|
6
6
|
|
7
7
|
|
8
|
-
|
8
|
+
#### Key Features
|
9
9
|
|
10
10
|
- Generate a static website from a source directory!
|
11
11
|
- Apply any number of transformations on files!
|
@@ -13,6 +13,10 @@
|
|
13
13
|
- Extremely easy to extend with new transformation filters!
|
14
14
|
- Sprinkle your site with Ruby code that can interact with your site's pages and data!
|
15
15
|
|
16
|
+
#### Recommended Reading
|
17
|
+
|
18
|
+
- [Blog post introducing Flutterby](http://hmans.io/posts/2017/01/11/flutterby.html)
|
19
|
+
- [New project template](https://github.com/hmans/flutterby/tree/master/lib/templates/new_project) (example code)
|
16
20
|
|
17
21
|
## Installation & Basic Usage
|
18
22
|
|
@@ -20,20 +24,20 @@ Flutterby is distributed as a RubyGem, so let's install it first:
|
|
20
24
|
|
21
25
|
gem install flutterby
|
22
26
|
|
23
|
-
|
27
|
+
This will install a `flutterby` executable on your system. Let's use it to create a new project:
|
24
28
|
|
25
29
|
flutterby new mysite
|
26
30
|
cd mysite
|
27
31
|
|
28
|
-
|
32
|
+
The new project template serves as a simple starting point for new projects. Let's compile it into a static site:
|
29
33
|
|
30
34
|
flutterby build
|
31
35
|
|
32
|
-
|
36
|
+
Flutterby comes with a local development server that will automatically pick up changes you make to your files:
|
33
37
|
|
34
|
-
flutterby
|
38
|
+
flutterby serve
|
35
39
|
|
36
|
-
**Note**: by default, both the `build` and `
|
40
|
+
**Note**: by default, both the `build` and `serve` commands assume `./site/` to be the source directory and `./_build/` to be the export directory. Please refer to `flutterby help` to see how you can override these.
|
37
41
|
|
38
42
|
|
39
43
|
## Examples
|
@@ -46,7 +50,7 @@ Please refer to the [Sites built with Flutterby](https://github.com/hmans/flutte
|
|
46
50
|
Flutterby is young, but already quite functional. Here's a list of changes I'm intending to make in the near future -- if you want to work on any of these, let me know!
|
47
51
|
|
48
52
|
- Performance! Right now, the source file for every node is read into RAM as a whole. Not a big problem when you're building a small site, but add some larger images, and you'll have one.
|
49
|
-
- Change `flutterby
|
53
|
+
- Change `flutterby serve` so it doesn't always regenerate the _entire_ site graph when a file is modified.
|
50
54
|
- Extract filters (like Slim, Sass etc.) to separate gems, to make the core gem more light-weight.
|
51
55
|
- Improve the template site (`flutterby new`).
|
52
56
|
- Produce a fun screencast to explain what the heck is going on here!
|
data/flutterby.gemspec
CHANGED
@@ -14,6 +14,8 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.homepage = "https://github.com/hmans/flutterby"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
|
+
spec.required_ruby_version = '~> 2.2'
|
18
|
+
|
17
19
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
20
|
f.match(%r{^(test|spec|features)/})
|
19
21
|
end
|
@@ -32,13 +34,18 @@ Gem::Specification.new do |spec|
|
|
32
34
|
spec.add_dependency 'json', '~> 2.0'
|
33
35
|
spec.add_dependency 'thor', '~> 0.19'
|
34
36
|
spec.add_dependency 'highline', '~> 1.7'
|
35
|
-
spec.add_dependency 'slodown', '~> 0.
|
36
|
-
spec.add_dependency 'builder', '~> 3.2'
|
37
|
-
spec.add_dependency 'sass', '~> 3.4'
|
38
|
-
spec.add_dependency 'tilt', '~> 2.0'
|
39
|
-
spec.add_dependency 'slim', '~> 3.0'
|
37
|
+
spec.add_dependency 'slodown', '~> 0.4'
|
40
38
|
spec.add_dependency 'toml-rb', '~> 0.3'
|
41
39
|
spec.add_dependency 'rack', '~> 2.0'
|
42
40
|
spec.add_dependency 'listen', '~> 3.1'
|
43
41
|
spec.add_dependency 'mime-types', '~> 3.1'
|
42
|
+
spec.add_dependency 'better_errors', '~> 2.1'
|
43
|
+
|
44
|
+
# We support some template engines out of the box.
|
45
|
+
# There's a chance these will be extracted/made optional
|
46
|
+
# at some point in the future.
|
47
|
+
spec.add_dependency 'sass', '~> 3.4'
|
48
|
+
spec.add_dependency 'builder', '~> 3.2'
|
49
|
+
spec.add_dependency 'slim', '~> 3.0'
|
50
|
+
spec.add_dependency 'tilt', '~> 2.0'
|
44
51
|
end
|
data/lib/flutterby/cli.rb
CHANGED
@@ -13,6 +13,13 @@ module Flutterby
|
|
13
13
|
class CLI < Thor
|
14
14
|
include Thor::Actions
|
15
15
|
|
16
|
+
desc "version", "Displays Flutterby's version"
|
17
|
+
map "-v" => :version
|
18
|
+
map "--version" => :version
|
19
|
+
def version
|
20
|
+
say_hi
|
21
|
+
end
|
22
|
+
|
16
23
|
desc "build", "Build your static site"
|
17
24
|
option :in, default: "./site/", aliases: [:i]
|
18
25
|
option :out, default: "./_build/", aliases: [:o]
|
@@ -23,6 +30,8 @@ module Flutterby
|
|
23
30
|
" • #{msg}\n"
|
24
31
|
end
|
25
32
|
|
33
|
+
say_hi
|
34
|
+
|
26
35
|
time = Benchmark.realtime do
|
27
36
|
# Import site
|
28
37
|
say color("📚 Importing site...", :bold)
|
@@ -44,6 +53,8 @@ module Flutterby
|
|
44
53
|
option :port, default: 4004, aliases: [:p], type: :numeric
|
45
54
|
|
46
55
|
def serve
|
56
|
+
say_hi
|
57
|
+
|
47
58
|
say color("📚 Importing site...", :bold)
|
48
59
|
root = Flutterby::Node.new("/", fs_path: options.in)
|
49
60
|
root.stage!
|
@@ -57,10 +68,12 @@ module Flutterby
|
|
57
68
|
|
58
69
|
desc "new PATH", "Create a new Flutterby project"
|
59
70
|
def new(path)
|
71
|
+
say_hi
|
72
|
+
|
60
73
|
path = File.expand_path(path)
|
61
74
|
self.destination_root = path
|
62
75
|
|
63
|
-
say color("
|
76
|
+
say color("🏗 Creating a new Flutterby project in #{path}...", :bold)
|
64
77
|
directory("new_project", path)
|
65
78
|
in_root { bundle_install }
|
66
79
|
end
|
@@ -81,6 +94,10 @@ module Flutterby
|
|
81
94
|
$terminal.color(*args)
|
82
95
|
end
|
83
96
|
|
97
|
+
def say_hi
|
98
|
+
say color("🦋 Flutterby #{Flutterby::VERSION}", :bold, :blue)
|
99
|
+
end
|
100
|
+
|
84
101
|
def self.source_root
|
85
102
|
File.expand_path("../templates/", File.dirname(__FILE__))
|
86
103
|
end
|
data/lib/flutterby/exporter.rb
CHANGED
data/lib/flutterby/filters.rb
CHANGED
@@ -2,7 +2,7 @@ require 'sass'
|
|
2
2
|
require 'tilt'
|
3
3
|
require 'slim'
|
4
4
|
require 'builder'
|
5
|
-
require '
|
5
|
+
require 'flutterby/markdown_formatter'
|
6
6
|
|
7
7
|
module Flutterby
|
8
8
|
module Filters
|
@@ -15,6 +15,10 @@ module Flutterby
|
|
15
15
|
|
16
16
|
if Filters.respond_to?(meth)
|
17
17
|
Filters.send(meth, node)
|
18
|
+
elsif template = tilt(filter, node.body)
|
19
|
+
node.body = template.render(node.view)
|
20
|
+
else
|
21
|
+
Flutterby.logger.warn "Unsupported filter '#{filter}' for #{node.url}"
|
18
22
|
end
|
19
23
|
end
|
20
24
|
end
|
@@ -26,7 +30,7 @@ module Flutterby
|
|
26
30
|
end
|
27
31
|
|
28
32
|
def self.tilt(format, body)
|
29
|
-
Tilt[format].new { body }
|
33
|
+
t = Tilt[format] and t.new { body }
|
30
34
|
end
|
31
35
|
end
|
32
36
|
end
|
@@ -35,16 +39,8 @@ Flutterby::Filters.add("rb") do |node|
|
|
35
39
|
node.instance_eval(node.body)
|
36
40
|
end
|
37
41
|
|
38
|
-
Flutterby::Filters.add("erb") do |node|
|
39
|
-
node.body = tilt("erb", node.body).render(node.view)
|
40
|
-
end
|
41
|
-
|
42
|
-
Flutterby::Filters.add("slim") do |node|
|
43
|
-
node.body = tilt("slim", node.body).render(node.view)
|
44
|
-
end
|
45
|
-
|
46
42
|
Flutterby::Filters.add(["md", "markdown"]) do |node|
|
47
|
-
node.body =
|
43
|
+
node.body = Flutterby::MarkdownFormatter.new(node.body).complete.to_s
|
48
44
|
end
|
49
45
|
|
50
46
|
Flutterby::Filters.add("scss") do |node|
|
@@ -59,9 +55,3 @@ Flutterby::Filters.add("scss") do |node|
|
|
59
55
|
|
60
56
|
node.body = Sass::Engine.new(node.body, sass_options).render
|
61
57
|
end
|
62
|
-
|
63
|
-
Flutterby::Filters.add("builder") do |node|
|
64
|
-
xml = Builder::XmlMarkup.new
|
65
|
-
node.view.instance_eval(node.body)
|
66
|
-
node.body = xml.target!
|
67
|
-
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'slodown'
|
2
|
+
|
3
|
+
module Flutterby
|
4
|
+
class MarkdownFormatter < Slodown::Formatter
|
5
|
+
def complete
|
6
|
+
markdown.autolink.sanitize
|
7
|
+
end
|
8
|
+
|
9
|
+
def kramdown_options
|
10
|
+
{
|
11
|
+
input: "GFM",
|
12
|
+
syntax_highlighter: nil,
|
13
|
+
syntax_highlighter_opts: { }
|
14
|
+
}
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/flutterby/node.rb
CHANGED
@@ -104,13 +104,11 @@ module Flutterby
|
|
104
104
|
return self if path.nil? || path.empty?
|
105
105
|
|
106
106
|
# remove duplicate slashes
|
107
|
-
path.gsub!(%r{
|
107
|
+
path.gsub!(%r{/+}, "/")
|
108
108
|
|
109
109
|
case path
|
110
|
-
when %r{
|
111
|
-
parent ? parent.find($') :
|
112
|
-
when %r{^\.} then
|
113
|
-
self
|
110
|
+
when %r{^\./?} then
|
111
|
+
parent ? parent.find($') : root.find($')
|
114
112
|
when %r{^/} then
|
115
113
|
root.find($')
|
116
114
|
when %r{^([^/]+)/?} then
|
@@ -247,7 +245,9 @@ module Flutterby
|
|
247
245
|
@data
|
248
246
|
end
|
249
247
|
|
250
|
-
def render(
|
248
|
+
def render(opts = {})
|
249
|
+
layout = opts[:layout]
|
250
|
+
view.opts.merge!(opts)
|
251
251
|
(layout && apply_layout?) ? apply_layout(body) : body
|
252
252
|
end
|
253
253
|
|
data/lib/flutterby/server.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'rack'
|
2
2
|
require 'listen'
|
3
|
+
require 'better_errors'
|
3
4
|
|
4
5
|
module Flutterby
|
5
6
|
class Server
|
@@ -20,6 +21,14 @@ module Flutterby
|
|
20
21
|
@root.stage!
|
21
22
|
end
|
22
23
|
|
24
|
+
# Set up Rack app
|
25
|
+
BetterErrors.application_root = __dir__
|
26
|
+
this = self
|
27
|
+
app = Rack::Builder.app do |app|
|
28
|
+
app.use BetterErrors::Middleware
|
29
|
+
app.run this
|
30
|
+
end
|
31
|
+
|
23
32
|
# Set up server
|
24
33
|
server = Rack::Handler::WEBrick
|
25
34
|
|
@@ -31,7 +40,7 @@ module Flutterby
|
|
31
40
|
|
32
41
|
# Go!
|
33
42
|
listener.start
|
34
|
-
server.run
|
43
|
+
server.run app, Port: @port, Logger: Flutterby.logger
|
35
44
|
end
|
36
45
|
|
37
46
|
def call(env)
|
@@ -45,7 +54,7 @@ module Flutterby
|
|
45
54
|
|
46
55
|
# Build response
|
47
56
|
res.headers["Content-Type"] = mime_type
|
48
|
-
res.body = [node.render]
|
57
|
+
res.body = [node.render(layout: true)]
|
49
58
|
else
|
50
59
|
res.status = 404
|
51
60
|
res.headers["Content-Type"] = "text/html"
|
data/lib/flutterby/version.rb
CHANGED
data/lib/flutterby/view.rb
CHANGED
@@ -4,6 +4,11 @@
|
|
4
4
|
<meta charset="utf-8">
|
5
5
|
<title><%= config["site"]["title"] %></title>
|
6
6
|
<link rel="stylesheet" href="/css/styles.css">
|
7
|
+
|
8
|
+
<!-- highlight.js for syntax highlighting -->
|
9
|
+
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/styles/default.min.css">
|
10
|
+
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/highlight.min.js"></script>
|
11
|
+
|
7
12
|
<script src="/js/app.js"></script>
|
8
13
|
</head>
|
9
14
|
<body>
|
@@ -1,5 +1,22 @@
|
|
1
1
|
---
|
2
|
-
title:
|
2
|
+
title: Welcome to Flutterby!
|
3
3
|
---
|
4
4
|
|
5
|
-
|
5
|
+
|
6
|
+
**Congratulations!** You've just created a new Flutterby project through the magic of `flutterby new` -- now it's time to make it your own!
|
7
|
+
|
8
|
+
This sample project is set up as a simple blog, but of course you can do so much more with Flutterby. Just head straight into your project's `site` directory and mix things up. Some files you should look at:
|
9
|
+
|
10
|
+
| `/_config.toml` | Your site configuration. |
|
11
|
+
| `/css/styles.css.scss` | Your stylesheet. [Sass]-powered, of course! |
|
12
|
+
| `/_layout.erb` | Your global site layout. |
|
13
|
+
| `/posts/_layout.erb` | Your post-specific layout. |
|
14
|
+
|
15
|
+
#### Recommended Reading
|
16
|
+
|
17
|
+
- [Flutterby on Github](https://github.com/hmans/flutterby)
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
[Sass]: http://sass-lang.com/
|
@@ -37,3 +37,27 @@ ul.post-list {
|
|
37
37
|
list-style: none;
|
38
38
|
padding-left: 0;
|
39
39
|
}
|
40
|
+
|
41
|
+
|
42
|
+
/* embedded code */
|
43
|
+
code {
|
44
|
+
background-color: #e8e8e8;
|
45
|
+
font: 85% "Office Code Pro",Menlo,Consolas,Monaco,monotype;
|
46
|
+
padding: 2px 4px;
|
47
|
+
border-radius: 2px;
|
48
|
+
}
|
49
|
+
|
50
|
+
pre>code {
|
51
|
+
padding: 15px !important;
|
52
|
+
}
|
53
|
+
|
54
|
+
/* tables */
|
55
|
+
table {
|
56
|
+
}
|
57
|
+
|
58
|
+
td {
|
59
|
+
vertical-align: top;
|
60
|
+
}
|
61
|
+
td+td {
|
62
|
+
padding-left: 10px;
|
63
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flutterby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hendrik Mans
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -152,6 +152,20 @@ dependencies:
|
|
152
152
|
version: '1.7'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: slodown
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0.4'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0.4'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: toml-rb
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
156
170
|
requirements:
|
157
171
|
- - "~>"
|
@@ -165,117 +179,117 @@ dependencies:
|
|
165
179
|
- !ruby/object:Gem::Version
|
166
180
|
version: '0.3'
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
182
|
+
name: rack
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
170
184
|
requirements:
|
171
185
|
- - "~>"
|
172
186
|
- !ruby/object:Gem::Version
|
173
|
-
version: '
|
187
|
+
version: '2.0'
|
174
188
|
type: :runtime
|
175
189
|
prerelease: false
|
176
190
|
version_requirements: !ruby/object:Gem::Requirement
|
177
191
|
requirements:
|
178
192
|
- - "~>"
|
179
193
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
194
|
+
version: '2.0'
|
181
195
|
- !ruby/object:Gem::Dependency
|
182
|
-
name:
|
196
|
+
name: listen
|
183
197
|
requirement: !ruby/object:Gem::Requirement
|
184
198
|
requirements:
|
185
199
|
- - "~>"
|
186
200
|
- !ruby/object:Gem::Version
|
187
|
-
version: '3.
|
201
|
+
version: '3.1'
|
188
202
|
type: :runtime
|
189
203
|
prerelease: false
|
190
204
|
version_requirements: !ruby/object:Gem::Requirement
|
191
205
|
requirements:
|
192
206
|
- - "~>"
|
193
207
|
- !ruby/object:Gem::Version
|
194
|
-
version: '3.
|
208
|
+
version: '3.1'
|
195
209
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
210
|
+
name: mime-types
|
197
211
|
requirement: !ruby/object:Gem::Requirement
|
198
212
|
requirements:
|
199
213
|
- - "~>"
|
200
214
|
- !ruby/object:Gem::Version
|
201
|
-
version: '
|
215
|
+
version: '3.1'
|
202
216
|
type: :runtime
|
203
217
|
prerelease: false
|
204
218
|
version_requirements: !ruby/object:Gem::Requirement
|
205
219
|
requirements:
|
206
220
|
- - "~>"
|
207
221
|
- !ruby/object:Gem::Version
|
208
|
-
version: '
|
222
|
+
version: '3.1'
|
209
223
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
224
|
+
name: better_errors
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
212
226
|
requirements:
|
213
227
|
- - "~>"
|
214
228
|
- !ruby/object:Gem::Version
|
215
|
-
version: '
|
229
|
+
version: '2.1'
|
216
230
|
type: :runtime
|
217
231
|
prerelease: false
|
218
232
|
version_requirements: !ruby/object:Gem::Requirement
|
219
233
|
requirements:
|
220
234
|
- - "~>"
|
221
235
|
- !ruby/object:Gem::Version
|
222
|
-
version: '
|
236
|
+
version: '2.1'
|
223
237
|
- !ruby/object:Gem::Dependency
|
224
|
-
name:
|
238
|
+
name: sass
|
225
239
|
requirement: !ruby/object:Gem::Requirement
|
226
240
|
requirements:
|
227
241
|
- - "~>"
|
228
242
|
- !ruby/object:Gem::Version
|
229
|
-
version: '
|
243
|
+
version: '3.4'
|
230
244
|
type: :runtime
|
231
245
|
prerelease: false
|
232
246
|
version_requirements: !ruby/object:Gem::Requirement
|
233
247
|
requirements:
|
234
248
|
- - "~>"
|
235
249
|
- !ruby/object:Gem::Version
|
236
|
-
version: '
|
250
|
+
version: '3.4'
|
237
251
|
- !ruby/object:Gem::Dependency
|
238
|
-
name:
|
252
|
+
name: builder
|
239
253
|
requirement: !ruby/object:Gem::Requirement
|
240
254
|
requirements:
|
241
255
|
- - "~>"
|
242
256
|
- !ruby/object:Gem::Version
|
243
|
-
version: '2
|
257
|
+
version: '3.2'
|
244
258
|
type: :runtime
|
245
259
|
prerelease: false
|
246
260
|
version_requirements: !ruby/object:Gem::Requirement
|
247
261
|
requirements:
|
248
262
|
- - "~>"
|
249
263
|
- !ruby/object:Gem::Version
|
250
|
-
version: '2
|
264
|
+
version: '3.2'
|
251
265
|
- !ruby/object:Gem::Dependency
|
252
|
-
name:
|
266
|
+
name: slim
|
253
267
|
requirement: !ruby/object:Gem::Requirement
|
254
268
|
requirements:
|
255
269
|
- - "~>"
|
256
270
|
- !ruby/object:Gem::Version
|
257
|
-
version: '3.
|
271
|
+
version: '3.0'
|
258
272
|
type: :runtime
|
259
273
|
prerelease: false
|
260
274
|
version_requirements: !ruby/object:Gem::Requirement
|
261
275
|
requirements:
|
262
276
|
- - "~>"
|
263
277
|
- !ruby/object:Gem::Version
|
264
|
-
version: '3.
|
278
|
+
version: '3.0'
|
265
279
|
- !ruby/object:Gem::Dependency
|
266
|
-
name:
|
280
|
+
name: tilt
|
267
281
|
requirement: !ruby/object:Gem::Requirement
|
268
282
|
requirements:
|
269
283
|
- - "~>"
|
270
284
|
- !ruby/object:Gem::Version
|
271
|
-
version: '
|
285
|
+
version: '2.0'
|
272
286
|
type: :runtime
|
273
287
|
prerelease: false
|
274
288
|
version_requirements: !ruby/object:Gem::Requirement
|
275
289
|
requirements:
|
276
290
|
- - "~>"
|
277
291
|
- !ruby/object:Gem::Version
|
278
|
-
version: '
|
292
|
+
version: '2.0'
|
279
293
|
description: There are many static site generators. This is mine.
|
280
294
|
email:
|
281
295
|
- hendrik@mans.de
|
@@ -287,6 +301,7 @@ files:
|
|
287
301
|
- ".gitignore"
|
288
302
|
- ".rspec"
|
289
303
|
- ".travis.yml"
|
304
|
+
- CHANGES.md
|
290
305
|
- Gemfile
|
291
306
|
- LICENSE.txt
|
292
307
|
- README.md
|
@@ -301,6 +316,7 @@ files:
|
|
301
316
|
- lib/flutterby/cli.rb
|
302
317
|
- lib/flutterby/exporter.rb
|
303
318
|
- lib/flutterby/filters.rb
|
319
|
+
- lib/flutterby/markdown_formatter.rb
|
304
320
|
- lib/flutterby/node.rb
|
305
321
|
- lib/flutterby/server.rb
|
306
322
|
- lib/flutterby/version.rb
|
@@ -330,9 +346,9 @@ require_paths:
|
|
330
346
|
- lib
|
331
347
|
required_ruby_version: !ruby/object:Gem::Requirement
|
332
348
|
requirements:
|
333
|
-
- - "
|
349
|
+
- - "~>"
|
334
350
|
- !ruby/object:Gem::Version
|
335
|
-
version: '
|
351
|
+
version: '2.2'
|
336
352
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
337
353
|
requirements:
|
338
354
|
- - ">="
|