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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 89602a8793e167f5b5c83ab8cf566ab3e8916c3c
4
- data.tar.gz: be8016c7fb57d483a602408f04cf85fbad59631b
3
+ metadata.gz: 111829d8a254eb0f1421e856b6492f1910c67614
4
+ data.tar.gz: 027e6f3acfa426e38e31814dbeb434612db63c06
5
5
  SHA512:
6
- metadata.gz: a0ac2dcac60f48976850173e1f150086ab23d24813350cd955104baeab43647e34f3e4b26c1a27a23e8bb881e0d858c4ffba28071461c59b2da684c2ffd4338b
7
- data.tar.gz: 948d8a6c5e2b3542ebe5a586f00238b8a6dc40eb3fc21ab0511f755b8f5c9d917eb3f0c9c865e430c1f1d7dcfc86ade7e0c98831ad1a13a94037e158303566bd
6
+ metadata.gz: e2051194365dfc8e0b824bb2347ef5bd754a8d78ef5e26aed835c569b881d75c57e272cc80f3ad320a10d68a054377a7149edb09b891cc1ce63557f530efbf30
7
+ data.tar.gz: ccd6c58d4ded6ffb09091463f96e16e41e710969e7213a38a0aaf19a95bd2649cbfbc4d41ebad2c02ff954a080413d41a0f92d46a1692a8e71a91649a42ec68b
@@ -1 +1 @@
1
- 2.1.0
1
+ 2.2.2
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bookingit (0.4.1)
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.9.0)
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
@@ -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
 
@@ -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')
@@ -4,5 +4,6 @@ require 'bookingit/errors.rb'
4
4
  require 'bookingit/code_block_interpreter.rb'
5
5
  require 'bookingit/shell_command.rb'
6
6
  require 'bookingit/renderer.rb'
7
+ require 'bookingit/html_renderer.rb'
7
8
  require 'bookingit/config.rb'
8
9
  require 'bookingit/book.rb'
@@ -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::Renderer.new(@config)
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
@@ -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
- "<a name='#{anchor}'></a><h#{header_level+1}>#{text}</h#{header_level+1}>"
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
- "<img src='#{link}' alt='#{alt_text}' title='#{title}'>"
51
+ render_image(link, title, alt_text)
52
52
  end
53
53
 
54
54
  def doc_header
55
55
  @headers = {}
56
- Views::HeaderView.new(@stylesheets,@theme,@config).render
56
+ render_doc_header
57
57
  end
58
58
 
59
59
  def doc_footer
60
- Views::FooterView.new(@chapter,@config).render
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
- Views::CodeView.new(code,filename,language,@config).render.strip
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
@@ -1,3 +1,3 @@
1
1
  module Bookingit
2
- VERSION = '0.4.1'
2
+ VERSION = '0.5.0'
3
3
  end
@@ -52,5 +52,13 @@
52
52
  {{#author}}
53
53
  <p class="byline">by {{config.author}}</p>
54
54
  {{/author}}
55
+ {{#hype}}
56
+ <div class="hype">
57
+ <a href="{{link}}">
58
+ <h2>{{title}}</h2>
59
+ <h3>{{subtitle}}</h3>
60
+ </a>
61
+ </div>
62
+ {{/hype}}
55
63
  {{/config}}
56
64
  </header>
@@ -4,7 +4,7 @@ require 'fileutils'
4
4
 
5
5
  include FileUtils
6
6
 
7
- class RendererTest < Test::Unit::TestCase
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::Renderer.new(options)
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.1
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: 2014-08-08 00:00:00.000000000 Z
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.2.0.rc.1
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