meta 0.0.1 → 0.0.3
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.
- data/Gemfile.lock +13 -1
- data/README.md +4 -1
- data/docs/backlog +11 -4
- data/docs/design +70 -4
- data/lib/meta.rb +7 -1
- data/lib/meta/catalog.rb +12 -1
- data/lib/meta/cli.rb +42 -3
- data/lib/meta/filelib.rb +2 -2
- data/lib/meta/page.rb +22 -76
- data/lib/meta/version.rb +1 -1
- data/meta.gemspec +15 -2
- metadata +180 -4
data/Gemfile.lock
CHANGED
@@ -1,7 +1,18 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
meta (0.0.
|
4
|
+
meta (0.0.3)
|
5
|
+
colorize (~> 0.6.0)
|
6
|
+
haml (~> 4.0.4)
|
7
|
+
highline (~> 1.6.20)
|
8
|
+
rack (~> 1.5.2)
|
9
|
+
redcarpet (~> 3.0.0)
|
10
|
+
sequel (~> 4.5.0)
|
11
|
+
sqlite3 (~> 1.3.8)
|
12
|
+
thin (~> 1.6.1)
|
13
|
+
thor (~> 0.18.1)
|
14
|
+
tilt (~> 2.0.0)
|
15
|
+
url2thumb
|
5
16
|
|
6
17
|
GEM
|
7
18
|
remote: https://rubygems.org/
|
@@ -23,6 +34,7 @@ GEM
|
|
23
34
|
rack (>= 1.0.0)
|
24
35
|
thor (0.18.1)
|
25
36
|
tilt (2.0.0)
|
37
|
+
url2thumb (0.0.1)
|
26
38
|
|
27
39
|
PLATFORMS
|
28
40
|
ruby
|
data/README.md
CHANGED
@@ -8,7 +8,8 @@ be used to test/preview static pages in your development environment without
|
|
8
8
|
having to deploy into production.
|
9
9
|
|
10
10
|
## requirements
|
11
|
-
*
|
11
|
+
* linux (tested on ubuntu 12.04.x lts)
|
12
|
+
* ruby (1.9.2+)
|
12
13
|
* bundler
|
13
14
|
* colorize
|
14
15
|
* haml
|
@@ -20,6 +21,8 @@ having to deploy into production.
|
|
20
21
|
* thin
|
21
22
|
* thor
|
22
23
|
* tilt
|
24
|
+
* url2thumb
|
25
|
+
* yaml
|
23
26
|
|
24
27
|
## installation
|
25
28
|
```gem install meta```
|
data/docs/backlog
CHANGED
@@ -1,12 +1,16 @@
|
|
1
1
|
open:
|
2
|
-
+
|
3
|
-
+ multiple templates
|
4
|
-
+ syntax highlighting for code
|
5
|
-
+ title modification
|
2
|
+
+ custom templates
|
6
3
|
+ referencing a link and commenting on that
|
4
|
+
+ post tags
|
5
|
+
+ rss/atom feed
|
6
|
+
+ config file based configuration
|
7
|
+
+ pull content from other sinks like facebook, flickr, twitter, wechat, etc
|
8
|
+
+ links
|
7
9
|
|
8
10
|
iced:
|
11
|
+
+ syntax highlighting for code
|
9
12
|
+ support uppercase file extensions
|
13
|
+
+ migrate schema without losing any data
|
10
14
|
+ detect and compile changes only
|
11
15
|
+ tie static files with source repository
|
12
16
|
+ clone template files
|
@@ -24,3 +28,6 @@ closed:
|
|
24
28
|
+ single entry template
|
25
29
|
+ add config.ru file for testing, this should be added during compilation
|
26
30
|
+ google analytics
|
31
|
+
+ title modification
|
32
|
+
+ statistics
|
33
|
+
|
data/docs/design
CHANGED
@@ -9,15 +9,12 @@ design:
|
|
9
9
|
directory layout example:
|
10
10
|
|
11
11
|
+ src
|
12
|
-
+-- site.
|
12
|
+
+-- site.sqlite3
|
13
13
|
+-- article1.md
|
14
14
|
+-- article2.md
|
15
15
|
+-- layout.haml
|
16
16
|
+-- navbar.haml
|
17
17
|
+-- footer.haml
|
18
|
-
+-- css
|
19
|
-
+-- images
|
20
|
-
+-- js
|
21
18
|
|
22
19
|
* create a flat hierarchy of html files
|
23
20
|
* js, css, images are found in folders
|
@@ -37,3 +34,72 @@ articles( id, creation, modification, title, layout, src )
|
|
37
34
|
b. organize by latest at the top
|
38
35
|
4. create individual pages
|
39
36
|
|
37
|
+
in the initial version, layout.haml, navbar.haml were fixed templates. this
|
38
|
+
assumes that each site will have these files. there can actually be multiple
|
39
|
+
layouts for a site so there needs to be a mapping of layouts to content (md
|
40
|
+
files). also there should be enough flexibility to not have navbars, or
|
41
|
+
multiple navbars, etc.
|
42
|
+
|
43
|
+
there will be 4 main types of haml templates: page layouts, navbars, footers,
|
44
|
+
and contents.
|
45
|
+
|
46
|
+
layout files are the main templates that house the structure of the site,
|
47
|
+
from enclosing html tags to the head which includes all of the stylesheets
|
48
|
+
and javascript assets. in order to identify layout files, the filename will
|
49
|
+
be searched for the substring "layout.haml".
|
50
|
+
|
51
|
+
e.g.
|
52
|
+
|
53
|
+
layout.haml
|
54
|
+
main.layout.haml
|
55
|
+
sub-layout.haml
|
56
|
+
layout-sub.haml (not valid)
|
57
|
+
|
58
|
+
each of these will be listed in the layouts table
|
59
|
+
|
60
|
+
navbars are embedded in layout templates and need to have the "navbar.haml"
|
61
|
+
identifier in the filename.
|
62
|
+
|
63
|
+
footers are also embedded in layout templates and need to have the
|
64
|
+
"footer.haml" identifier in the filename.
|
65
|
+
|
66
|
+
content templates are also embedded in layout templates and need to have the
|
67
|
+
"content.haml" identifier in the filename.
|
68
|
+
|
69
|
+
if there's only one set of navbars, footer, and layout, then the user
|
70
|
+
won't be prompted.
|
71
|
+
|
72
|
+
the above is for a more advanced version, let's keep things simple, you
|
73
|
+
must have layout.haml, index.haml, and page.haml.
|
74
|
+
|
75
|
+
1. layout.haml defines the overall site from html tags to body and head.
|
76
|
+
meta requires this file be present in order to compile.
|
77
|
+
|
78
|
+
2. index.haml includes the content for the main page of a site, typically
|
79
|
+
it's a summary of all posts.
|
80
|
+
|
81
|
+
3. page.haml includes the content for a single post.
|
82
|
+
|
83
|
+
let's initially support the case where layout.haml, index.haml, and page.haml
|
84
|
+
are required.
|
85
|
+
|
86
|
+
custom templates:
|
87
|
+
|
88
|
+
assume a site has pages for about, projects, etc. there should be a generic
|
89
|
+
way to associate a layout and content layer, and the process should be very
|
90
|
+
simple.
|
91
|
+
|
92
|
+
assume there are these types of posts:
|
93
|
+
|
94
|
+
1. blog: mostly original text from an author, can contain pictures, tables,
|
95
|
+
etc.
|
96
|
+
2. picture: picture only post, no text. will include pictures from other
|
97
|
+
sources only, will not store many pictures on my site.
|
98
|
+
3. recommended link: user submit's url, title, summary, maybe a picture
|
99
|
+
included.
|
100
|
+
|
101
|
+
|
102
|
+
markdown compendium:
|
103
|
+
|
104
|
+
[](web link)
|
105
|
+
|
data/lib/meta.rb
CHANGED
@@ -4,11 +4,13 @@ require "colorize"
|
|
4
4
|
require "digest/md5"
|
5
5
|
require "haml"
|
6
6
|
require "highline/import"
|
7
|
+
require "open3"
|
7
8
|
require "redcarpet"
|
8
9
|
require "sequel"
|
9
10
|
require "sqlite3"
|
10
11
|
require "thor"
|
11
12
|
require "tilt"
|
13
|
+
require "yaml"
|
12
14
|
|
13
15
|
require File.join( File.dirname(__FILE__), "meta", "catalog" )
|
14
16
|
require File.join( File.dirname(__FILE__), "meta", "cli" )
|
@@ -24,17 +26,21 @@ end
|
|
24
26
|
module Meta
|
25
27
|
|
26
28
|
BASEDIR = ".".freeze
|
29
|
+
CONFIGFILE = "~/.meta".freeze
|
27
30
|
DATASTORE = File.join( Dir.pwd, "site.sqlite3" )
|
28
31
|
EXCLUDES = [ "layout.haml", "navbar.haml", "footer.haml" ]
|
32
|
+
FEXISTS = "File already exists".freeze
|
29
33
|
HAML = ["*.haml"]
|
30
34
|
HAMLEXT = ".haml".freeze
|
31
35
|
HTML = ["*.html"]
|
32
36
|
HTMLEXT = ".html".freeze
|
33
37
|
INDEX = "index.html".freeze
|
34
38
|
MARKDOWN = ["*.md", "*.markdown", "*.mkd"]
|
35
|
-
|
39
|
+
MDEXT = ".md".freeze
|
40
|
+
PNGEXT = ".png".freeze
|
36
41
|
SEED = 1234562
|
37
42
|
SLASH = "/".freeze
|
43
|
+
SPACE = " ".freeze
|
38
44
|
|
39
45
|
end
|
40
46
|
|
data/lib/meta/catalog.rb
CHANGED
@@ -10,6 +10,17 @@ module Meta
|
|
10
10
|
|
11
11
|
end
|
12
12
|
|
13
|
+
def get_statistics
|
14
|
+
|
15
|
+
stats = Hash.new
|
16
|
+
|
17
|
+
stats[:posts] = self.db[:contents].count
|
18
|
+
stats[:pictures] = self.db[:contents].where(:picture => true).count
|
19
|
+
|
20
|
+
return stats
|
21
|
+
|
22
|
+
end
|
23
|
+
|
13
24
|
def content_exists?(file)
|
14
25
|
|
15
26
|
rs = self.db[:contents].where(:path => file).all
|
@@ -75,7 +86,7 @@ module Meta
|
|
75
86
|
:title => title,
|
76
87
|
:hash => hash,
|
77
88
|
:path => file,
|
78
|
-
:created_at =>
|
89
|
+
:created_at => Time.now )
|
79
90
|
|
80
91
|
end
|
81
92
|
|
data/lib/meta/cli.rb
CHANGED
@@ -3,6 +3,8 @@ module Meta
|
|
3
3
|
class CLI < Thor
|
4
4
|
include Thor::Actions
|
5
5
|
|
6
|
+
config = YAML.load_file(CONFIGFILE) if File.exists?(CONFIGFILE)
|
7
|
+
|
6
8
|
desc "compile", "compile meta files"
|
7
9
|
method_option :output, :aliases => "-o", :type => :string,
|
8
10
|
:required => false, :desc => "static file output directory"
|
@@ -21,7 +23,7 @@ module Meta
|
|
21
23
|
p = Meta::Page.new(dest)
|
22
24
|
|
23
25
|
p.generate(options[:force])
|
24
|
-
p.
|
26
|
+
p.generate_index(options[:force])
|
25
27
|
|
26
28
|
end
|
27
29
|
|
@@ -96,11 +98,48 @@ module Meta
|
|
96
98
|
|
97
99
|
end
|
98
100
|
|
101
|
+
desc "capture", "capture thumbnail of url"
|
102
|
+
method_option :output, :aliases => "-o", :type => :string,
|
103
|
+
:required => false, :desc => "output directory"
|
104
|
+
def capture(url)
|
105
|
+
|
106
|
+
if options[:output].nil?
|
107
|
+
dest = BASEDIR
|
108
|
+
else
|
109
|
+
dest = options[:output]
|
110
|
+
end
|
111
|
+
|
112
|
+
images = dest + SLASH + "images"
|
113
|
+
|
114
|
+
images = dest unless Dir.exists?(images)
|
115
|
+
|
116
|
+
cmd = "xvfb-run url2thumb capture #{url} -o #{images}"
|
117
|
+
|
118
|
+
stdin, stdout, stderr = Open3.popen3(cmd)
|
119
|
+
|
120
|
+
abort( stderr.read.chomp.red ) if stdout.nil?
|
121
|
+
|
122
|
+
out = stdout.read.chomp
|
123
|
+
|
124
|
+
unless out.include?(FEXISTS)
|
125
|
+
|
126
|
+
created = out.split(SPACE).first
|
127
|
+
|
128
|
+
link = "[})](#{url})"
|
129
|
+
|
130
|
+
Meta::Filelib.create_file( link, created, MDEXT, dest, false )
|
131
|
+
|
132
|
+
end
|
133
|
+
|
134
|
+
end
|
135
|
+
|
99
136
|
desc "test", "testing"
|
100
137
|
def test
|
101
138
|
|
102
|
-
|
103
|
-
|
139
|
+
c = Meta::Catalog.new
|
140
|
+
stats = c.get_statistics
|
141
|
+
puts stats[:posts]
|
142
|
+
puts stats[:pictures]
|
104
143
|
|
105
144
|
end
|
106
145
|
|
data/lib/meta/filelib.rb
CHANGED
@@ -17,9 +17,9 @@ module Meta
|
|
17
17
|
|
18
18
|
end
|
19
19
|
|
20
|
-
def self.create_file( text, filename, dest, overwrite=false )
|
20
|
+
def self.create_file( text, filename, ext, dest, overwrite=false )
|
21
21
|
|
22
|
-
filename = File.basename( filename, File.extname(filename) ) +
|
22
|
+
filename = File.basename( filename, File.extname(filename) ) + ext
|
23
23
|
filename = dest + SLASH + filename
|
24
24
|
|
25
25
|
reply = false
|
data/lib/meta/page.rb
CHANGED
@@ -2,88 +2,39 @@ module Meta
|
|
2
2
|
|
3
3
|
class Page
|
4
4
|
|
5
|
-
attr_reader :
|
5
|
+
attr_reader :catalog
|
6
6
|
|
7
7
|
def initialize(dest=BASEDIR)
|
8
8
|
|
9
|
-
@dest
|
9
|
+
@dest = dest
|
10
10
|
|
11
|
-
@catalog
|
11
|
+
@catalog = Meta::Catalog.new
|
12
12
|
|
13
|
-
@
|
14
|
-
@navbar = Tilt.new("navbar.haml")
|
15
|
-
@col = Tilt.new("col.haml")
|
13
|
+
@templates = Meta::Filelib.get_templates
|
16
14
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
length = contents.length
|
22
|
-
|
23
|
-
if length == 1
|
24
|
-
contents[0][:col_classes] = "col-lg-12 box"
|
25
|
-
elsif length == 2
|
26
|
-
|
27
|
-
rng = Random.new(SEED)
|
28
|
-
|
29
|
-
r = rng.rand(1..3)
|
15
|
+
@layout = Tilt.new("layout.haml") if @templates.include?("layout.haml")
|
16
|
+
@navbar = Tilt.new("navbar.haml") if @templates.include?("navbar.haml")
|
17
|
+
@index = Tilt.new("index.haml") if @templates.include?("index.haml")
|
18
|
+
@page = Tilt.new("page.haml") if @templates.include?("page.haml")
|
30
19
|
|
31
|
-
|
32
|
-
|
33
|
-
contents[1][:col_classes] = "col-lg-6 box"
|
34
|
-
elsif r == 2
|
35
|
-
contents[0][:col_classes] = "col-lg-8 box"
|
36
|
-
contents[1][:col_classes] = "col-lg-4 box"
|
37
|
-
else
|
38
|
-
contents[0][:col_classes] = "col-lg-4 box"
|
39
|
-
contents[1][:col_classes] = "col-lg-8 box"
|
40
|
-
end
|
41
|
-
|
42
|
-
elsif length == 3
|
43
|
-
contents[0][:col_classes] = "col-lg-4 box"
|
44
|
-
contents[1][:col_classes] = "col-lg-4 box"
|
45
|
-
contents[2][:col_classes] = "col-lg-4 box"
|
46
|
-
else
|
47
|
-
contents[0][:col_classes] = "col-lg-3 box"
|
48
|
-
contents[1][:col_classes] = "col-lg-3 box"
|
49
|
-
contents[2][:col_classes] = "col-lg-3 box"
|
50
|
-
contents[3][:col_classes] = "col-lg-3 box"
|
20
|
+
if @layout.nil?
|
21
|
+
abort("layout.haml template missing, this file must be included".red)
|
51
22
|
end
|
52
|
-
|
53
|
-
return contents
|
23
|
+
#TODO: must include index and page as well
|
54
24
|
|
55
25
|
end
|
56
26
|
|
57
|
-
def
|
58
|
-
|
59
|
-
c = @catalog.get_recent(-1)
|
60
|
-
|
61
|
-
length = c.length
|
62
|
-
remain = length
|
63
|
-
index = 0
|
27
|
+
def generate_index(overwrite=false)
|
64
28
|
|
65
|
-
|
29
|
+
contents = @catalog.get_recent(-1)
|
66
30
|
|
67
|
-
|
31
|
+
stats = @catalog.get_statistics
|
68
32
|
|
69
|
-
|
33
|
+
doc = @index.render( self, :contents => contents )
|
70
34
|
|
71
|
-
|
35
|
+
html = @layout.render( self, :stats => stats ) { doc }
|
72
36
|
|
73
|
-
|
74
|
-
|
75
|
-
remain = remain - n
|
76
|
-
index = index + n
|
77
|
-
|
78
|
-
rows << r
|
79
|
-
|
80
|
-
end
|
81
|
-
|
82
|
-
doc = @col.render( self, :rows => rows )
|
83
|
-
|
84
|
-
html = @layout.render { doc }
|
85
|
-
|
86
|
-
Meta::Filelib.create_file( html, INDEX, @dest, overwrite )
|
37
|
+
Meta::Filelib.create_file( html, INDEX, HTMLEXT, @dest, overwrite )
|
87
38
|
|
88
39
|
end
|
89
40
|
|
@@ -91,6 +42,8 @@ module Meta
|
|
91
42
|
|
92
43
|
all = Meta::Filelib.get_contents
|
93
44
|
|
45
|
+
stats = @catalog.get_statistics
|
46
|
+
|
94
47
|
all.each do |c|
|
95
48
|
|
96
49
|
if File.zero?(c)
|
@@ -102,22 +55,15 @@ module Meta
|
|
102
55
|
|
103
56
|
content = @catalog.check_content(c)
|
104
57
|
|
105
|
-
content[:col_classes] = "col-lg-12 box"
|
106
58
|
content[:summary] = Tilt.new(c).render
|
107
59
|
content[:link] = File.basename( content[:path],
|
108
60
|
File.extname(content[:path]) ) + HTMLEXT
|
109
61
|
|
110
|
-
|
111
|
-
contents << content
|
112
|
-
|
113
|
-
rows = []
|
114
|
-
rows << contents
|
115
|
-
|
116
|
-
r = @col.render( self, :rows => rows )
|
62
|
+
p = @page.render( self, :content => content )
|
117
63
|
|
118
|
-
html = @layout.render {
|
64
|
+
html = @layout.render( self, :stats => stats ) { p }
|
119
65
|
|
120
|
-
Meta::Filelib.create_file( html, c, @dest, overwrite )
|
66
|
+
Meta::Filelib.create_file( html, c, HTMLEXT, @dest, overwrite )
|
121
67
|
|
122
68
|
end
|
123
69
|
|
data/lib/meta/version.rb
CHANGED
data/meta.gemspec
CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Meta::VERSION
|
9
9
|
spec.authors = ["stephenhu"]
|
10
10
|
spec.email = ["epynonymous@outlook.com"]
|
11
|
-
spec.description = %q{
|
12
|
-
spec.summary = %q{
|
11
|
+
spec.description = %q{opinionated static web page generator}
|
12
|
+
spec.summary = %q{opinionated static web page generator}
|
13
13
|
spec.homepage = "http://github.io/stephenhu/meta"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
@@ -19,7 +19,20 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
spec.bindir = "bin"
|
21
21
|
|
22
|
+
spec.add_dependency "colorize", "~>0.6.0"
|
23
|
+
spec.add_dependency "haml", "~>4.0.4"
|
24
|
+
spec.add_dependency "highline", "~>1.6.20"
|
25
|
+
spec.add_dependency "rack", "~>1.5.2"
|
26
|
+
spec.add_dependency "redcarpet", "~>3.0.0"
|
27
|
+
spec.add_dependency "sequel", "~>4.5.0"
|
28
|
+
spec.add_dependency "sqlite3", "~>1.3.8"
|
29
|
+
spec.add_dependency "thin", "~>1.6.1"
|
30
|
+
spec.add_dependency "thor", "~>0.18.1"
|
31
|
+
spec.add_dependency "tilt", "~>2.0.0"
|
32
|
+
|
22
33
|
spec.add_development_dependency "bundler", "~> 1.3"
|
23
34
|
spec.add_development_dependency "rake"
|
35
|
+
|
36
|
+
spec.add_runtime_dependency "url2thumb"
|
24
37
|
end
|
25
38
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: meta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,168 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-01-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: colorize
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.6.0
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.6.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: haml
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 4.0.4
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 4.0.4
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: highline
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 1.6.20
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.6.20
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rack
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 1.5.2
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.5.2
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: redcarpet
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 3.0.0
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 3.0.0
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: sequel
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 4.5.0
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 4.5.0
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: sqlite3
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 1.3.8
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 1.3.8
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: thin
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ~>
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 1.6.1
|
134
|
+
type: :runtime
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 1.6.1
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: thor
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ~>
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 0.18.1
|
150
|
+
type: :runtime
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ~>
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 0.18.1
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: tilt
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ~>
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 2.0.0
|
166
|
+
type: :runtime
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 2.0.0
|
14
174
|
- !ruby/object:Gem::Dependency
|
15
175
|
name: bundler
|
16
176
|
requirement: !ruby/object:Gem::Requirement
|
@@ -43,7 +203,23 @@ dependencies:
|
|
43
203
|
- - ! '>='
|
44
204
|
- !ruby/object:Gem::Version
|
45
205
|
version: '0'
|
46
|
-
|
206
|
+
- !ruby/object:Gem::Dependency
|
207
|
+
name: url2thumb
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
210
|
+
requirements:
|
211
|
+
- - ! '>='
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0'
|
214
|
+
type: :runtime
|
215
|
+
prerelease: false
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0'
|
222
|
+
description: opinionated static web page generator
|
47
223
|
email:
|
48
224
|
- epynonymous@outlook.com
|
49
225
|
executables:
|
@@ -97,5 +273,5 @@ rubyforge_project:
|
|
97
273
|
rubygems_version: 1.8.23
|
98
274
|
signing_key:
|
99
275
|
specification_version: 3
|
100
|
-
summary:
|
276
|
+
summary: opinionated static web page generator
|
101
277
|
test_files: []
|