ichiban 1.0.10 → 1.0.12
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/empty_project/compiled/.htaccess +24 -0
- data/lib/ichiban/ejs_compiler.rb +31 -0
- data/lib/ichiban/file.rb +62 -31
- data/lib/ichiban/html_compiler.rb +1 -0
- data/lib/ichiban/scripts.rb +4 -2
- data/lib/ichiban/watcher.rb +27 -37
- data/lib/ichiban.rb +4 -1
- metadata +59 -73
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 493fedcf1994573c9e8dc03c7bd288893d3c8b39
|
4
|
+
data.tar.gz: 33a5e9a79f14ec03267c866780cc67033cd2c9ae
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9cf876c1ba23d929bc2fca3e30d459e562cd68c1114a1bd14f666b4fcea6955e04a15e6931e5a7f514a0a921719c154c00a19e855b8cfe652083b745a9f82855
|
7
|
+
data.tar.gz: dd97fdd59a181f94090640ab9e013c498ea42ea1d80fd220df5fdcd1ae44e584d28adfda61a964fff6f9e9f3ba58707424a865468e25e86ec3e2f1ca0193778d
|
@@ -0,0 +1,24 @@
|
|
1
|
+
RewriteEngine On
|
2
|
+
|
3
|
+
# Force the trailing slash for all pages unless they end in .html
|
4
|
+
RewriteCond %{REQUEST_FILENAME} !-f
|
5
|
+
RewriteCond %{REQUEST_FILENAME} !-d
|
6
|
+
# Skipping pages with the .html extension is necessary to avoid an infinite chain of .html. See the note at the bottom.
|
7
|
+
RewriteCond %{REQUEST_URI} !\.html$
|
8
|
+
RewriteRule ^(.*[^/])$ /$1/ [R=301,L]
|
9
|
+
|
10
|
+
RewriteCond %{REQUEST_FILENAME} !-f
|
11
|
+
RewriteCond %{REQUEST_FILENAME} !-d
|
12
|
+
# If the HTML file doesn't exist don't attempt to rewrite, or we'll get an infinite loop
|
13
|
+
RewriteCond %{REQUEST_FILENAME}.html -f
|
14
|
+
# If we've already tried appending HTML and the file still doesn't exist, don't do it again. See the note at the bottom.
|
15
|
+
RewriteCond %{REQUEST_URI} !\.html$
|
16
|
+
RewriteRule ^(.*)/$ $1.html
|
17
|
+
|
18
|
+
ErrorDocument 404 /404.html
|
19
|
+
ErrorDocument 422 /422.html
|
20
|
+
ErrorDocument 500 /500.html
|
21
|
+
|
22
|
+
# Note on infinite .html appending loops: We have to take pains to ensure that if a certain file, say foo.html, exists,
|
23
|
+
# then a path like /foo/bar won't get .html appended an infinite number of times. This can happen because %{REQUEST_FILENAME}
|
24
|
+
# would match /foo/bar/ to foo.html. Our redirect to force trailing slashes then sends us through an infinite loop.
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Ichiban
|
2
|
+
class EJSCompiler
|
3
|
+
def compile
|
4
|
+
FileUtils.mkdir_p File.dirname(@ejs_file.dest)
|
5
|
+
File.open(@ejs_file.dest, 'w') do |f|
|
6
|
+
f << compile_to_str
|
7
|
+
end
|
8
|
+
Ichiban.logger.compilation(@ejs_file.abs, @ejs_file.dest)
|
9
|
+
end
|
10
|
+
|
11
|
+
def compile_to_str
|
12
|
+
add_preamble(
|
13
|
+
EJS.compile(
|
14
|
+
File.read(@ejs_file.abs)
|
15
|
+
),
|
16
|
+
File.basename(@ejs_file.dest, '.js')
|
17
|
+
)
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize(ejs_file)
|
21
|
+
@ejs_file = ejs_file
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def add_preamble(fn, name)
|
27
|
+
%Q(if (typeof(window.EJS) == "undefined") { window.EJS = {} } ) +
|
28
|
+
%Q(window.EJS[#{JSON.dump(name)}] = #{fn})
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/lib/ichiban/file.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
module Ichiban
|
2
2
|
class ProjectFile
|
3
|
+
@types = []
|
4
|
+
|
3
5
|
attr_reader :abs
|
4
6
|
|
5
7
|
# Returns an absolute path in the compiled directory
|
@@ -12,34 +14,12 @@ module Ichiban
|
|
12
14
|
def self.from_abs(abs)
|
13
15
|
rel = abs.slice(Ichiban.project_root.length..-1) # Relative to project root
|
14
16
|
rel.sub!(/^\//, '') # Remove leading slash
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
elsif rel.start_with?('layouts') and rel.end_with?('.html')
|
22
|
-
Ichiban::LayoutFile.new(rel)
|
23
|
-
elsif rel.start_with?('assets/js')
|
24
|
-
Ichiban::JSFile.new(rel)
|
25
|
-
elsif rel.start_with?('assets/css') and rel.end_with?('.css')
|
26
|
-
Ichiban::CSSFile.new(rel)
|
27
|
-
elsif rel.start_with?('assets/css') and rel.end_with?('.scss')
|
28
|
-
Ichiban::SCSSFile.new(rel)
|
29
|
-
elsif rel.start_with?('assets/img')
|
30
|
-
Ichiban::ImageFile.new(rel)
|
31
|
-
elsif rel.start_with?('assets/misc')
|
32
|
-
Ichiban::MiscAssetFile.new(rel)
|
33
|
-
elsif rel.start_with?('models')
|
34
|
-
Ichiban::ModelFile.new(rel)
|
35
|
-
elsif rel.start_with?('data')
|
36
|
-
Ichiban::DataFile.new(rel)
|
37
|
-
elsif rel.start_with?('scripts')
|
38
|
-
Ichiban::ScriptFile.new(rel)
|
39
|
-
elsif rel.start_with?('helpers')
|
40
|
-
Ichiban::HelperFile.new(rel)
|
41
|
-
elsif rel == 'webserver/htaccess.txt'
|
42
|
-
Ichiban::HtaccessFile.new(rel)
|
17
|
+
handler = @types.detect do |_, proc|
|
18
|
+
proc.call rel
|
19
|
+
end
|
20
|
+
if handler
|
21
|
+
klass = handler.first
|
22
|
+
klass.new rel
|
43
23
|
else
|
44
24
|
nil
|
45
25
|
end
|
@@ -54,6 +34,15 @@ module Ichiban
|
|
54
34
|
@abs = File.join(Ichiban.project_root, rel)
|
55
35
|
end
|
56
36
|
|
37
|
+
# Pass in a subclass of Ichiban::ProjectFile and a block. The block accepts one param:
|
38
|
+
# a file path relative to the Ichiban project root. For example: 'assets/css/main.css'.
|
39
|
+
# Each time the watcher detects a change to a file, the file's path will be passed to
|
40
|
+
# the block. If the block returns true, an instance of klass will be created to compile
|
41
|
+
# the changed file.
|
42
|
+
def self.register_type(klass, &block)
|
43
|
+
@types << [klass, block]
|
44
|
+
end
|
45
|
+
|
57
46
|
attr_reader :rel
|
58
47
|
|
59
48
|
# Returns a new path where the old extension is replaced with new_ext
|
@@ -74,7 +63,13 @@ module Ichiban
|
|
74
63
|
|
75
64
|
def web_path
|
76
65
|
d = dest_rel_to_compiled
|
77
|
-
|
66
|
+
fname = File.basename(d, File.extname(d))
|
67
|
+
if fname == 'index'
|
68
|
+
# If this is an index file, the web path is just the folder name.
|
69
|
+
'/' + File.dirname(d) + '/'
|
70
|
+
else
|
71
|
+
'/' + File.join(File.dirname(d), fname) + '/'
|
72
|
+
end
|
78
73
|
end
|
79
74
|
end
|
80
75
|
|
@@ -142,6 +137,16 @@ module Ichiban
|
|
142
137
|
end
|
143
138
|
end
|
144
139
|
|
140
|
+
class EJSFile < ProjectFile
|
141
|
+
def dest_rel_to_compiled
|
142
|
+
File.join('ejs', File.basename(@rel, '.ejs') + '.js')
|
143
|
+
end
|
144
|
+
|
145
|
+
def update
|
146
|
+
Ichiban::EJSCompiler.new(self).compile
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
145
150
|
class CSSFile < ProjectFile
|
146
151
|
def dest_rel_to_compiled
|
147
152
|
File.join('css', @rel.slice('assets/css/'.length..-1))
|
@@ -197,14 +202,14 @@ module Ichiban
|
|
197
202
|
|
198
203
|
class ModelFile < ProjectFile
|
199
204
|
def update
|
200
|
-
# No-op. The watcher hands the path to
|
205
|
+
# No-op. The watcher hands the path to every changed file to the Loader instance.
|
201
206
|
# So we don't have to worry about that here.
|
202
207
|
end
|
203
208
|
end
|
204
209
|
|
205
210
|
class HelperFile < ProjectFile
|
206
211
|
def update
|
207
|
-
# No-op. The watcher hands the path to
|
212
|
+
# No-op. The watcher hands the path to every changed file to the Loader instance.
|
208
213
|
# So we don't have to worry about that here.
|
209
214
|
end
|
210
215
|
end
|
@@ -220,4 +225,30 @@ module Ichiban
|
|
220
225
|
Ichiban.script_runner.script_file_changed(@abs)
|
221
226
|
end
|
222
227
|
end
|
228
|
+
|
229
|
+
# Re-open this class to register all default file types
|
230
|
+
class ProjectFile
|
231
|
+
register_type(Ichiban::PartialHTMLFile) do |rel|
|
232
|
+
rel.start_with?('html') and
|
233
|
+
(rel.end_with?('.html') or rel.end_with?('.md') or rel.end_with?('.markdown')) and
|
234
|
+
File.basename(rel).start_with?('_')
|
235
|
+
end
|
236
|
+
register_type(Ichiban::HTMLFile) do |rel|
|
237
|
+
rel.start_with?('html') and
|
238
|
+
(rel.end_with?('.html') or rel.end_with?('.md') or rel.end_with?('.markdown')) and
|
239
|
+
!File.basename(rel).start_with?('_')
|
240
|
+
end
|
241
|
+
register_type(Ichiban::LayoutFile) { |rel| rel.start_with?('layouts') and rel.end_with?('.html') }
|
242
|
+
register_type(Ichiban::JSFile) { |rel| rel.start_with?('assets/js') }
|
243
|
+
register_type(Ichiban::EJSFile) { |rel| rel.start_with?('assets/ejs') and rel.end_with?('.ejs') }
|
244
|
+
register_type(Ichiban::CSSFile) { |rel| rel.start_with?('assets/css') and rel.end_with?('.css') }
|
245
|
+
register_type(Ichiban::SCSSFile) { |rel| rel.start_with?('assets/css') and rel.end_with?('.scss') }
|
246
|
+
register_type(Ichiban::ImageFile) { |rel| rel.start_with?('assets/img') }
|
247
|
+
register_type(Ichiban::MiscAssetFile) { |rel| rel.start_with?('assets/misc') }
|
248
|
+
register_type(Ichiban::ModelFile) { |rel| rel.start_with?('models') }
|
249
|
+
register_type(Ichiban::DataFile) { |rel| rel.start_with?('data') }
|
250
|
+
register_type(Ichiban::ScriptFile) { |rel| rel.start_with?('scripts') }
|
251
|
+
register_type(Ichiban::HelperFile) { |rel| rel.start_with?('helpers') }
|
252
|
+
register_type(Ichiban::HtaccessFile) { |rel| rel == 'webserver/htaccess.txt' }
|
253
|
+
end
|
223
254
|
end
|
data/lib/ichiban/scripts.rb
CHANGED
@@ -64,8 +64,10 @@ module Ichiban
|
|
64
64
|
)
|
65
65
|
)
|
66
66
|
compiler.ivars = {:_current_path => web_path}.merge(ivars)
|
67
|
-
html = compiler.compile_to_str
|
68
|
-
File.
|
67
|
+
html = compiler.compile_to_str
|
68
|
+
abs_dest_path = File.join(Ichiban.project_root, 'compiled', dest_path)
|
69
|
+
FileUtils.mkdir_p File.dirname(abs_dest_path)
|
70
|
+
File.open(abs_dest_path, 'w') do |f|
|
69
71
|
f << html
|
70
72
|
end
|
71
73
|
Ichiban.logger.compilation(
|
data/lib/ichiban/watcher.rb
CHANGED
@@ -11,11 +11,34 @@ module Ichiban
|
|
11
11
|
|
12
12
|
Ichiban.logger.out 'Starting watcher'
|
13
13
|
begin
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
@listener = Listen.to(
|
15
|
+
File.join(Ichiban.project_root, 'html'),
|
16
|
+
File.join(Ichiban.project_root, 'layouts'),
|
17
|
+
File.join(Ichiban.project_root, 'assets'),
|
18
|
+
File.join(Ichiban.project_root, 'models'),
|
19
|
+
File.join(Ichiban.project_root, 'helpers'),
|
20
|
+
File.join(Ichiban.project_root, 'scripts'),
|
21
|
+
File.join(Ichiban.project_root, 'data'),
|
22
|
+
File.join(Ichiban.project_root, 'webserver')
|
23
|
+
)
|
24
|
+
.ignore(/.listen_test$/)
|
25
|
+
.latency(@options[:latency])
|
26
|
+
.change do |modified, added, deleted|
|
27
|
+
(modified + added).uniq.each do |path|
|
28
|
+
if file = Ichiban::ProjectFile.from_abs(path)
|
29
|
+
@loader.change(file) # Tell the Loader that this file has changed
|
30
|
+
begin
|
31
|
+
file.update
|
32
|
+
rescue => exc
|
33
|
+
Ichiban.logger.exception(exc)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
deleted.each do |path|
|
38
|
+
Ichiban::Deleter.new.delete_dest(path)
|
39
|
+
end
|
18
40
|
end
|
41
|
+
@listener.start(blocking)
|
19
42
|
rescue Interrupt
|
20
43
|
Ichiban.logger.out "Stopping watcher"
|
21
44
|
exit 0
|
@@ -29,38 +52,5 @@ module Ichiban
|
|
29
52
|
@listener = nil
|
30
53
|
end
|
31
54
|
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
def boot_listen_gem
|
36
|
-
@listener = Listen.to(
|
37
|
-
File.join(Ichiban.project_root, 'html'),
|
38
|
-
File.join(Ichiban.project_root, 'layouts'),
|
39
|
-
File.join(Ichiban.project_root, 'assets'),
|
40
|
-
File.join(Ichiban.project_root, 'models'),
|
41
|
-
File.join(Ichiban.project_root, 'helpers'),
|
42
|
-
File.join(Ichiban.project_root, 'scripts'),
|
43
|
-
File.join(Ichiban.project_root, 'data'),
|
44
|
-
File.join(Ichiban.project_root, 'webserver'),
|
45
|
-
ignore: /.listen_test$/,
|
46
|
-
latency: @options[:latency],
|
47
|
-
) do |modified, added, deleted|
|
48
|
-
(modified + added).uniq.each do |path|
|
49
|
-
if file = Ichiban::ProjectFile.from_abs(path)
|
50
|
-
@loader.change(file) # Tell the Loader that this file has changed
|
51
|
-
begin
|
52
|
-
file.update
|
53
|
-
rescue => exc
|
54
|
-
Ichiban.logger.exception(exc)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
deleted.each do |path|
|
59
|
-
Ichiban::Deleter.new.delete_dest(path)
|
60
|
-
end
|
61
|
-
end
|
62
|
-
@listener.start
|
63
|
-
sleep
|
64
|
-
end
|
65
55
|
end
|
66
56
|
end
|
data/lib/ichiban.rb
CHANGED
@@ -9,10 +9,12 @@ require 'erb' # Just for the helpers
|
|
9
9
|
require 'active_support/core_ext/array/extract_options'
|
10
10
|
require 'active_support/inflector'
|
11
11
|
require 'sass'
|
12
|
-
require 'listen'
|
13
12
|
require 'erubis'
|
14
13
|
require 'rake'
|
15
14
|
require 'bundler'
|
15
|
+
gem 'listen', '= 0.7.3'
|
16
|
+
require 'listen'
|
17
|
+
require 'ejs'
|
16
18
|
|
17
19
|
# Ichiban files. Order matters!
|
18
20
|
require 'ichiban/bundle'
|
@@ -29,6 +31,7 @@ require 'ichiban/helpers'
|
|
29
31
|
require 'ichiban/nav_helper'
|
30
32
|
require 'ichiban/html_compiler'
|
31
33
|
require 'ichiban/asset_compiler'
|
34
|
+
require 'ichiban/ejs_compiler'
|
32
35
|
require 'ichiban/markdown'
|
33
36
|
require 'ichiban/scripts'
|
34
37
|
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ichiban
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.12
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jarrett Colby
|
@@ -11,132 +10,130 @@ bindir: bin
|
|
11
10
|
cert_chain: []
|
12
11
|
date: 2012-11-29 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: ejs
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
14
27
|
- !ruby/object:Gem::Dependency
|
15
28
|
name: erubis
|
16
29
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
30
|
requirements:
|
19
|
-
- -
|
31
|
+
- - ">="
|
20
32
|
- !ruby/object:Gem::Version
|
21
33
|
version: '0'
|
22
34
|
type: :runtime
|
23
35
|
prerelease: false
|
24
36
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
37
|
requirements:
|
27
|
-
- -
|
38
|
+
- - ">="
|
28
39
|
- !ruby/object:Gem::Version
|
29
40
|
version: '0'
|
30
41
|
- !ruby/object:Gem::Dependency
|
31
42
|
name: sass
|
32
43
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
44
|
requirements:
|
35
|
-
- -
|
45
|
+
- - ">="
|
36
46
|
- !ruby/object:Gem::Version
|
37
47
|
version: '0'
|
38
48
|
type: :runtime
|
39
49
|
prerelease: false
|
40
50
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
51
|
requirements:
|
43
|
-
- -
|
52
|
+
- - ">="
|
44
53
|
- !ruby/object:Gem::Version
|
45
54
|
version: '0'
|
46
55
|
- !ruby/object:Gem::Dependency
|
47
56
|
name: listen
|
48
57
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
58
|
requirements:
|
51
|
-
- -
|
59
|
+
- - '='
|
52
60
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
61
|
+
version: 0.7.3
|
54
62
|
type: :runtime
|
55
63
|
prerelease: false
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
65
|
requirements:
|
59
|
-
- -
|
66
|
+
- - '='
|
60
67
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
68
|
+
version: 0.7.3
|
62
69
|
- !ruby/object:Gem::Dependency
|
63
70
|
name: activesupport
|
64
71
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
72
|
requirements:
|
67
|
-
- -
|
73
|
+
- - ">="
|
68
74
|
- !ruby/object:Gem::Version
|
69
75
|
version: '0'
|
70
76
|
type: :runtime
|
71
77
|
prerelease: false
|
72
78
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
79
|
requirements:
|
75
|
-
- -
|
80
|
+
- - ">="
|
76
81
|
- !ruby/object:Gem::Version
|
77
82
|
version: '0'
|
78
83
|
- !ruby/object:Gem::Dependency
|
79
84
|
name: bundler
|
80
85
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
86
|
requirements:
|
83
|
-
- -
|
87
|
+
- - ">="
|
84
88
|
- !ruby/object:Gem::Version
|
85
89
|
version: '0'
|
86
90
|
type: :runtime
|
87
91
|
prerelease: false
|
88
92
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
93
|
requirements:
|
91
|
-
- -
|
94
|
+
- - ">="
|
92
95
|
- !ruby/object:Gem::Version
|
93
96
|
version: '0'
|
94
97
|
- !ruby/object:Gem::Dependency
|
95
98
|
name: mocha
|
96
99
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
100
|
requirements:
|
99
|
-
- -
|
101
|
+
- - ">="
|
100
102
|
- !ruby/object:Gem::Version
|
101
103
|
version: '0'
|
102
104
|
type: :development
|
103
105
|
prerelease: false
|
104
106
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
107
|
requirements:
|
107
|
-
- -
|
108
|
+
- - ">="
|
108
109
|
- !ruby/object:Gem::Version
|
109
110
|
version: '0'
|
110
111
|
- !ruby/object:Gem::Dependency
|
111
112
|
name: turn
|
112
113
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
121
|
requirements:
|
123
|
-
- -
|
122
|
+
- - ">="
|
124
123
|
- !ruby/object:Gem::Version
|
125
124
|
version: '0'
|
126
125
|
- !ruby/object:Gem::Dependency
|
127
126
|
name: lorax
|
128
127
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
128
|
requirements:
|
131
|
-
- -
|
129
|
+
- - ">="
|
132
130
|
- !ruby/object:Gem::Version
|
133
131
|
version: '0'
|
134
132
|
type: :development
|
135
133
|
prerelease: false
|
136
134
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
135
|
requirements:
|
139
|
-
- -
|
136
|
+
- - ">="
|
140
137
|
- !ruby/object:Gem::Version
|
141
138
|
version: '0'
|
142
139
|
description: Static website compiler with advanced feature, including watcher script.
|
@@ -146,12 +143,31 @@ executables:
|
|
146
143
|
extensions: []
|
147
144
|
extra_rdoc_files: []
|
148
145
|
files:
|
146
|
+
- bin/ichiban
|
147
|
+
- empty_project/assets/css/screen.scss
|
148
|
+
- empty_project/assets/js/interaction.js
|
149
|
+
- empty_project/assets/misc/readme.txt
|
150
|
+
- empty_project/compiled/.htaccess
|
151
|
+
- empty_project/compiled/css/screen.css
|
152
|
+
- empty_project/compiled/index.html
|
153
|
+
- empty_project/compiled/js/interaction.js
|
154
|
+
- empty_project/config.rb
|
155
|
+
- empty_project/data/readme.txt
|
156
|
+
- empty_project/deploy.sh
|
157
|
+
- empty_project/helpers/readme.txt
|
158
|
+
- empty_project/html/index.html
|
159
|
+
- empty_project/layouts/default.html
|
160
|
+
- empty_project/models/readme.txt
|
161
|
+
- empty_project/scripts/readme.txt
|
162
|
+
- empty_project/webserver/htaccess.txt
|
163
|
+
- lib/ichiban.rb
|
149
164
|
- lib/ichiban/asset_compiler.rb
|
150
165
|
- lib/ichiban/bundle.rb
|
151
166
|
- lib/ichiban/command.rb
|
152
167
|
- lib/ichiban/config.rb
|
153
168
|
- lib/ichiban/deleter.rb
|
154
169
|
- lib/ichiban/dependencies.rb
|
170
|
+
- lib/ichiban/ejs_compiler.rb
|
155
171
|
- lib/ichiban/file.rb
|
156
172
|
- lib/ichiban/helpers.rb
|
157
173
|
- lib/ichiban/html_compiler.rb
|
@@ -162,74 +178,44 @@ files:
|
|
162
178
|
- lib/ichiban/project_generator.rb
|
163
179
|
- lib/ichiban/scripts.rb
|
164
180
|
- lib/ichiban/watcher.rb
|
165
|
-
- lib/ichiban.rb
|
166
|
-
- empty_project/assets/css/screen.scss
|
167
|
-
- empty_project/assets/js/interaction.js
|
168
|
-
- empty_project/assets/misc/readme.txt
|
169
|
-
- empty_project/compiled/css/screen.css
|
170
|
-
- empty_project/compiled/index.html
|
171
|
-
- empty_project/compiled/js/interaction.js
|
172
|
-
- empty_project/config.rb
|
173
|
-
- empty_project/data/readme.txt
|
174
|
-
- empty_project/deploy.sh
|
175
|
-
- empty_project/helpers/readme.txt
|
176
|
-
- empty_project/html/index.html
|
177
|
-
- empty_project/layouts/default.html
|
178
|
-
- empty_project/models/readme.txt
|
179
|
-
- empty_project/scripts/readme.txt
|
180
|
-
- empty_project/webserver/htaccess.txt
|
181
|
-
- bin/ichiban
|
182
181
|
homepage: https://github.com/jarrett/ichiban
|
183
182
|
licenses: []
|
184
|
-
|
183
|
+
metadata: {}
|
184
|
+
post_install_message: |2-
|
185
185
|
|
186
186
|
Ichiban was installed successfully.
|
187
|
-
|
188
187
|
Type `ichiban` for usage hints.
|
189
188
|
|
190
|
-
|
191
189
|
If you intend to use Markdown in your projects,
|
192
|
-
|
193
190
|
be sure to install one of these Markdown gems:
|
194
|
-
|
195
191
|
redcarpet
|
196
|
-
|
197
192
|
maruku
|
198
|
-
|
199
193
|
rdiscount
|
200
194
|
|
201
|
-
|
202
195
|
Ichiban uses Guard (http://github.com/guard/guard).
|
203
|
-
|
204
196
|
When you run `ichiban watch`, Guard may prompt
|
205
|
-
|
206
197
|
you to install an event listener specific to your
|
207
|
-
|
208
198
|
operating system. Follow its advice.
|
209
199
|
|
210
|
-
|
211
200
|
For more information:
|
212
|
-
|
213
|
-
https://github.com/jarrett/ichiban'
|
201
|
+
https://github.com/jarrett/ichiban
|
214
202
|
rdoc_options: []
|
215
203
|
require_paths:
|
216
204
|
- lib
|
217
205
|
required_ruby_version: !ruby/object:Gem::Requirement
|
218
|
-
none: false
|
219
206
|
requirements:
|
220
|
-
- -
|
207
|
+
- - ">="
|
221
208
|
- !ruby/object:Gem::Version
|
222
209
|
version: '0'
|
223
210
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
224
|
-
none: false
|
225
211
|
requirements:
|
226
|
-
- -
|
212
|
+
- - ">="
|
227
213
|
- !ruby/object:Gem::Version
|
228
214
|
version: '0'
|
229
215
|
requirements: []
|
230
216
|
rubyforge_project:
|
231
|
-
rubygems_version:
|
217
|
+
rubygems_version: 2.2.2
|
232
218
|
signing_key:
|
233
|
-
specification_version:
|
219
|
+
specification_version: 4
|
234
220
|
summary: Ichiban
|
235
221
|
test_files: []
|