bookingit 0.4.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/Gemfile.lock +9 -2
- data/README.rdoc +2 -0
- data/bookingit.gemspec +1 -0
- data/lib/bookingit.rb +1 -0
- data/lib/bookingit/book.rb +1 -1
- data/lib/bookingit/html_renderer.rb +37 -0
- data/lib/bookingit/renderer.rb +5 -21
- data/lib/bookingit/version.rb +1 -1
- data/templates/header.html.mustache +8 -0
- data/test/renderer_test.rb +2 -2
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 111829d8a254eb0f1421e856b6492f1910c67614
|
4
|
+
data.tar.gz: 027e6f3acfa426e38e31814dbeb434612db63c06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2051194365dfc8e0b824bb2347ef5bd754a8d78ef5e26aed835c569b881d75c57e272cc80f3ad320a10d68a054377a7149edb09b891cc1ce63557f530efbf30
|
7
|
+
data.tar.gz: ccd6c58d4ded6ffb09091463f96e16e41e710969e7213a38a0aaf19a95bd2649cbfbc4d41ebad2c02ff954a080413d41a0f92d46a1692a8e71a91649a42ec68b
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.2.2
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bookingit (0.
|
4
|
+
bookingit (0.5.0)
|
5
5
|
gli
|
6
6
|
mustache
|
7
7
|
redcarpet (= 3.1.1)
|
@@ -30,7 +30,7 @@ GEM
|
|
30
30
|
ffi (1.9.3)
|
31
31
|
gherkin (2.12.2)
|
32
32
|
multi_json (~> 1.3)
|
33
|
-
gli (2.
|
33
|
+
gli (2.13.1)
|
34
34
|
i18n (0.6.9)
|
35
35
|
json (1.8.1)
|
36
36
|
metaclass (0.0.4)
|
@@ -39,12 +39,15 @@ GEM
|
|
39
39
|
multi_json (1.8.4)
|
40
40
|
multi_test (0.0.3)
|
41
41
|
mustache (0.99.5)
|
42
|
+
power_assert (0.2.2)
|
42
43
|
rake (10.1.1)
|
43
44
|
rdoc (4.1.1)
|
44
45
|
json (~> 1.4)
|
45
46
|
redcarpet (3.1.1)
|
46
47
|
rspec-expectations (2.14.5)
|
47
48
|
diff-lcs (>= 1.1.3, < 2.0)
|
49
|
+
test-unit (3.0.8)
|
50
|
+
power_assert
|
48
51
|
|
49
52
|
PLATFORMS
|
50
53
|
ruby
|
@@ -56,3 +59,7 @@ DEPENDENCIES
|
|
56
59
|
mocha
|
57
60
|
rake
|
58
61
|
rdoc
|
62
|
+
test-unit
|
63
|
+
|
64
|
+
BUNDLED WITH
|
65
|
+
1.10.6
|
data/README.rdoc
CHANGED
@@ -6,6 +6,8 @@ A basic publishing system that takes Mardown and Git repositories and produces a
|
|
6
6
|
* PDF
|
7
7
|
* EBook
|
8
8
|
|
9
|
+
<b>This only produces a website version, currently</b>
|
10
|
+
|
9
11
|
The idea is that you can show the evolution of code by referencing particular versions or diffs beteween verions. Further, you can show the actual output of commands run from particular verisons of the repo.
|
10
12
|
|
11
13
|
|
data/bookingit.gemspec
CHANGED
@@ -21,6 +21,7 @@ spec = Gem::Specification.new do |s|
|
|
21
21
|
s.add_development_dependency('aruba')
|
22
22
|
s.add_development_dependency('clean_test')
|
23
23
|
s.add_development_dependency('mocha')
|
24
|
+
s.add_development_dependency('test-unit')
|
24
25
|
s.add_runtime_dependency('gli')
|
25
26
|
s.add_runtime_dependency('redcarpet','3.1.1') # 3.1.2 made a breaking change. Yup
|
26
27
|
s.add_runtime_dependency('mustache')
|
data/lib/bookingit.rb
CHANGED
data/lib/bookingit/book.rb
CHANGED
@@ -10,7 +10,7 @@ module Bookingit
|
|
10
10
|
|
11
11
|
rendering_config = @config.rendering_config
|
12
12
|
rendering_config[:cache] = File.expand_path('cache') if @config.cache
|
13
|
-
renderer = Bookingit::
|
13
|
+
renderer = Bookingit::HtmlRenderer.new(@config)
|
14
14
|
@redcarpet = Redcarpet::Markdown.new(renderer, no_intra_emphasis: true,
|
15
15
|
tables: true,
|
16
16
|
fenced_code_blocks: true,
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'redcarpet'
|
2
|
+
require 'cgi'
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
module Bookingit
|
6
|
+
class HtmlRenderer < Bookingit::Renderer
|
7
|
+
include FileUtils
|
8
|
+
|
9
|
+
def render_header(text,header_level,anchor)
|
10
|
+
"<a name='#{anchor}'></a><h#{header_level+1}>#{text}</h#{header_level+1}>"
|
11
|
+
end
|
12
|
+
|
13
|
+
def render_image(link, title, alt_text)
|
14
|
+
"<img src='#{link}' alt='#{alt_text}' title='#{title}'>"
|
15
|
+
end
|
16
|
+
|
17
|
+
def render_doc_header
|
18
|
+
Views::HeaderView.new(@stylesheets,@theme,@config).render
|
19
|
+
end
|
20
|
+
|
21
|
+
def render_doc_footer
|
22
|
+
Views::FooterView.new(@chapter,@config).render
|
23
|
+
end
|
24
|
+
|
25
|
+
def render_block_code(code,filename,language)
|
26
|
+
Views::CodeView.new(code,filename,language,@config).render.strip
|
27
|
+
end
|
28
|
+
|
29
|
+
def css_class(language)
|
30
|
+
if language.nil? || language.strip == ''
|
31
|
+
""
|
32
|
+
else
|
33
|
+
" class=\"language-#{language}\""
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/bookingit/renderer.rb
CHANGED
@@ -42,22 +42,22 @@ module Bookingit
|
|
42
42
|
if header_level == 2 && @record_sections
|
43
43
|
@chapter.add_section(text,anchor)
|
44
44
|
end
|
45
|
-
|
45
|
+
render_header(text,header_level,anchor)
|
46
46
|
end
|
47
47
|
|
48
48
|
def image(link, title, alt_text)
|
49
49
|
title = title.gsub(/'/,'"') if title
|
50
50
|
@images << link
|
51
|
-
|
51
|
+
render_image(link, title, alt_text)
|
52
52
|
end
|
53
53
|
|
54
54
|
def doc_header
|
55
55
|
@headers = {}
|
56
|
-
|
56
|
+
render_doc_header
|
57
57
|
end
|
58
58
|
|
59
59
|
def doc_footer
|
60
|
-
|
60
|
+
render_doc_footer
|
61
61
|
end
|
62
62
|
|
63
63
|
EXTENSION_TO_LANGUAGE = {
|
@@ -88,7 +88,7 @@ module Bookingit
|
|
88
88
|
[code,language,nil]
|
89
89
|
}.result
|
90
90
|
end
|
91
|
-
|
91
|
+
render_block_code(code,filename,language)
|
92
92
|
end
|
93
93
|
|
94
94
|
private
|
@@ -186,21 +186,5 @@ module Bookingit
|
|
186
186
|
shell_command.run!
|
187
187
|
["> #{shell_command.command}\n#{shell_command.stdout}",'shell']
|
188
188
|
end
|
189
|
-
|
190
|
-
def css_class(language)
|
191
|
-
if language.nil? || language.strip == ''
|
192
|
-
""
|
193
|
-
else
|
194
|
-
" class=\"language-#{language}\""
|
195
|
-
end
|
196
|
-
end
|
197
|
-
|
198
|
-
def filename_footer(filename)
|
199
|
-
if filename && filename.strip != ''
|
200
|
-
%{<footer><h1>#{filename}</h1></footer>}
|
201
|
-
else
|
202
|
-
''
|
203
|
-
end
|
204
|
-
end
|
205
189
|
end
|
206
190
|
end
|
data/lib/bookingit/version.rb
CHANGED
data/test/renderer_test.rb
CHANGED
@@ -4,7 +4,7 @@ require 'fileutils'
|
|
4
4
|
|
5
5
|
include FileUtils
|
6
6
|
|
7
|
-
class
|
7
|
+
class HtmlRendererTest < Test::Unit::TestCase
|
8
8
|
|
9
9
|
def setup
|
10
10
|
@tempdir = Dir.mktmpdir
|
@@ -16,7 +16,7 @@ class RendererTest < Test::Unit::TestCase
|
|
16
16
|
|
17
17
|
def renderer(options={})
|
18
18
|
options = OpenStruct.new(:rendering_config => { basedir: @tempdir }.merge(options))
|
19
|
-
Bookingit::
|
19
|
+
Bookingit::HtmlRenderer.new(options)
|
20
20
|
end
|
21
21
|
|
22
22
|
test_that "block_code can read a file URL and guess ruby" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bookingit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dave Copeland
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: test-unit
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: gli
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -149,6 +163,7 @@ files:
|
|
149
163
|
- lib/bookingit/code_block_interpreter.rb
|
150
164
|
- lib/bookingit/config.rb
|
151
165
|
- lib/bookingit/errors.rb
|
166
|
+
- lib/bookingit/html_renderer.rb
|
152
167
|
- lib/bookingit/renderer.rb
|
153
168
|
- lib/bookingit/shell_command.rb
|
154
169
|
- lib/bookingit/version.rb
|
@@ -193,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
208
|
version: '0'
|
194
209
|
requirements: []
|
195
210
|
rubyforge_project:
|
196
|
-
rubygems_version: 2.
|
211
|
+
rubygems_version: 2.4.8
|
197
212
|
signing_key:
|
198
213
|
specification_version: 4
|
199
214
|
summary: Write a code-heavy book in Markdown
|