bookery 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -8
  3. data/.travis.yml +5 -0
  4. data/{LICENSE.txt → LICENSE} +0 -0
  5. data/README.md +26 -11
  6. data/Rakefile +2 -1
  7. data/bookery.gemspec +18 -14
  8. data/docs/config.md +61 -0
  9. data/docs/contributing.md +47 -0
  10. data/docs/editing.md +82 -0
  11. data/docs/project.md +77 -0
  12. data/lib/bookery.rb +27 -4
  13. data/lib/bookery/book.rb +13 -15
  14. data/lib/bookery/cli.rb +29 -12
  15. data/lib/bookery/config.rb +42 -0
  16. data/lib/bookery/factories/chapter_factory.rb +35 -0
  17. data/lib/bookery/factories/publisher_factory.rb +13 -0
  18. data/lib/bookery/processors/include_processor.rb +17 -0
  19. data/lib/bookery/project.rb +75 -0
  20. data/lib/bookery/publishers/html_publisher.rb +68 -0
  21. data/lib/bookery/version.rb +1 -1
  22. data/{bin → libexec}/bookery +1 -4
  23. data/templates/basic/Gemfile.tt +2 -0
  24. data/templates/basic/assets/css/base.css +7 -0
  25. data/templates/basic/assets/css/layout.css +23 -0
  26. data/templates/basic/assets/css/modules/code-block.css +132 -0
  27. data/templates/{book/assets → basic/assets/includes}/.empty_directory +0 -0
  28. data/templates/basic/assets/style.css +3 -0
  29. data/templates/basic/assets/templates/template.html.erb +30 -0
  30. data/templates/basic/book/en/001-first-chapter/01-chapter-file.md +9 -0
  31. data/templates/basic/config.yml +14 -0
  32. data/test/bookery/book_test.rb +32 -9
  33. data/test/bookery/cli_test.rb +25 -14
  34. data/test/bookery/config_test.rb +26 -0
  35. data/test/bookery/factories/chapter_factory_test.rb +24 -0
  36. data/test/bookery/factories/publisher_factory_test.rb +16 -0
  37. data/test/bookery/processor/include_processor_test.rb +38 -0
  38. data/test/bookery/project_test.rb +37 -0
  39. data/test/bookery/publishers/html_publisher_test.rb +78 -0
  40. data/test/data/project/Gemfile.tt +2 -0
  41. data/{templates/book/book/.empty_directory → test/data/project/assets/images/cover.png} +0 -0
  42. data/test/data/project/assets/includes/ruby/chapter2.rb +3 -0
  43. data/test/data/project/assets/style.css +1 -0
  44. data/test/data/project/assets/templates/template.html.erb +15 -0
  45. data/test/data/project/book/en/001-first-chapter/01-chapter-file.md +9 -0
  46. data/test/data/project/book/en/002-second-chapter/01-chapter-file.md +7 -0
  47. data/test/data/project/book/en/002-second-chapter/02-second-chapter-file.md +1 -0
  48. data/{templates/book/book/en/.empty_directory → test/data/project/book/es/.git-keep} +0 -0
  49. data/test/data/project/config.yml +19 -0
  50. data/test/test_helper.rb +3 -46
  51. metadata +107 -79
  52. data/Gemfile.lock +0 -64
  53. data/Guardfile +0 -9
  54. data/lib/bookery/chapter.rb +0 -30
  55. data/templates/book/Gemfile +0 -2
  56. data/templates/book/README.md +0 -3
  57. data/templates/book/config.yml +0 -5
  58. data/templates/sample/Gemfile +0 -2
  59. data/templates/sample/README.md +0 -3
  60. data/templates/sample/book/en/01-introduction/01-intro-to-book.md +0 -0
  61. data/templates/sample/book/en/02-second-chapter/01-first-things-first.md +0 -1
  62. data/templates/sample/book/en/02-second-chapter/02-before_intro.md +0 -1
  63. data/templates/sample/config.yml +0 -5
  64. data/test/bookery/chapter_test.rb +0 -21
@@ -0,0 +1,7 @@
1
+ # The Second Chapter
2
+
3
+ We can also include ruby like this:
4
+
5
+ ```ruby
6
+ includes::ruby/chapter2.rb
7
+ ```
@@ -0,0 +1 @@
1
+ # Another File in Chapter 2
@@ -0,0 +1,19 @@
1
+ ---
2
+ book:
3
+ title: The Testing book
4
+ authors:
5
+ - David Muto
6
+ - Jesus Christ
7
+ editors:
8
+ - Kevin Centeno
9
+ - Kevin Ackland
10
+ template: assets/templates/template.html.erb
11
+
12
+ es:
13
+ title: 'El libro Testing'
14
+
15
+ generator:
16
+ input: GFM
17
+ enable_coderay: true
18
+ coderay_css: class
19
+ coderay_line_numbers: inline
data/test/test_helper.rb CHANGED
@@ -1,54 +1,11 @@
1
1
  require 'simplecov'
2
2
  SimpleCov.start do
3
3
  add_filter "/vendor/"
4
+ add_filter "/test/"
4
5
  end
5
6
 
6
7
  require 'minitest/autorun'
7
8
  require 'minitest/pride'
8
- require File.expand_path('../../lib/bookery', __FILE__)
9
+ require 'mocha/setup'
9
10
 
10
- require 'stringio'
11
-
12
- def capture(stream)
13
- begin
14
- stream = stream.to_s
15
- eval "$#{stream} = StringIO.new"
16
- yield
17
- result = eval("$#{stream}").string
18
- ensure
19
- eval("$#{stream} = #{stream.upcase}")
20
- end
21
-
22
- result
23
- end
24
-
25
- alias :silence :capture
26
-
27
- class AppTest < MiniTest::Unit::TestCase
28
- def template_name
29
- 'book'
30
- end
31
-
32
- def setup
33
- silence(:stdout) do
34
- args = ['new', destination_root, template_name]
35
- Bookery::CLI.start(args)
36
- end
37
- end
38
-
39
- def teardown
40
- ::FileUtils.rm_rf(destination_root)
41
- end
42
-
43
- def destination_root
44
- 'sandbox'
45
- end
46
-
47
- def assert_file(relative_path)
48
- assert File.exist?(File.join(destination_root, relative_path))
49
- end
50
-
51
- def assert_dir(relative_path)
52
- assert File.directory?(File.join(destination_root, relative_path))
53
- end
54
- end
11
+ require_relative '../lib/bookery'
metadata CHANGED
@@ -1,129 +1,129 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bookery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: 0.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - David Muto
9
8
  autorequire:
10
- bindir: bin
9
+ bindir: libexec
11
10
  cert_chain: []
12
- date: 2013-12-08 00:00:00.000000000 Z
11
+ date: 2014-01-03 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: activesupport
14
+ name: thor
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: '0'
19
+ version: 0.18.1
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: '0'
26
+ version: 0.18.1
30
27
  - !ruby/object:Gem::Dependency
31
- name: i18n
28
+ name: kramdown
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ~>
36
32
  - !ruby/object:Gem::Version
37
- version: '0'
33
+ version: 1.3.0
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ~>
44
39
  - !ruby/object:Gem::Version
45
- version: '0'
40
+ version: 1.3.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: coderay
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 1.1.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.1.0
46
55
  - !ruby/object:Gem::Dependency
47
56
  name: bundler
48
57
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
58
  requirements:
51
59
  - - ~>
52
60
  - !ruby/object:Gem::Version
53
- version: '1.3'
61
+ version: 1.3.5
54
62
  type: :development
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: '1.3'
68
+ version: 1.3.5
62
69
  - !ruby/object:Gem::Dependency
63
70
  name: rake
64
71
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
72
  requirements:
67
- - - ! '>='
73
+ - - ~>
68
74
  - !ruby/object:Gem::Version
69
- version: '0'
75
+ version: 10.1.1
70
76
  type: :development
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
- version: '0'
82
+ version: 10.1.1
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: minitest
80
85
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
86
  requirements:
83
- - - ! '>='
87
+ - - ~>
84
88
  - !ruby/object:Gem::Version
85
- version: '0'
89
+ version: 5.2.0
86
90
  type: :development
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
- version: '0'
96
+ version: 5.2.0
94
97
  - !ruby/object:Gem::Dependency
95
- name: guard-minitest
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
- version: '0'
103
+ version: 0.14.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
- version: '0'
110
+ version: 0.14.0
110
111
  - !ruby/object:Gem::Dependency
111
112
  name: simplecov
112
113
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
114
  requirements:
115
- - - ! '>='
115
+ - - ~>
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 0.8.2
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
- version: '0'
126
- description: A gem (that, will) gives you the tools you need to write your own book
124
+ version: 0.8.2
125
+ description: "\n A gem that gives you the tools you need to write your own book\n
126
+ \ "
127
127
  email:
128
128
  - david.muto@gmail.com
129
129
  executables:
@@ -132,68 +132,96 @@ extensions: []
132
132
  extra_rdoc_files: []
133
133
  files:
134
134
  - .gitignore
135
+ - .travis.yml
135
136
  - Gemfile
136
- - Gemfile.lock
137
- - Guardfile
138
- - LICENSE.txt
137
+ - LICENSE
139
138
  - README.md
140
139
  - Rakefile
141
- - bin/bookery
142
140
  - bookery.gemspec
141
+ - docs/config.md
142
+ - docs/contributing.md
143
+ - docs/editing.md
144
+ - docs/project.md
143
145
  - lib/bookery.rb
144
146
  - lib/bookery/book.rb
145
- - lib/bookery/chapter.rb
146
147
  - lib/bookery/cli.rb
148
+ - lib/bookery/config.rb
149
+ - lib/bookery/factories/chapter_factory.rb
150
+ - lib/bookery/factories/publisher_factory.rb
151
+ - lib/bookery/processors/include_processor.rb
152
+ - lib/bookery/project.rb
153
+ - lib/bookery/publishers/html_publisher.rb
147
154
  - lib/bookery/version.rb
148
- - templates/book/Gemfile
149
- - templates/book/README.md
150
- - templates/book/assets/.empty_directory
151
- - templates/book/book/.empty_directory
152
- - templates/book/book/en/.empty_directory
153
- - templates/book/config.yml
154
- - templates/sample/Gemfile
155
- - templates/sample/README.md
156
- - templates/sample/book/en/01-introduction/01-intro-to-book.md
157
- - templates/sample/book/en/02-second-chapter/01-first-things-first.md
158
- - templates/sample/book/en/02-second-chapter/02-before_intro.md
159
- - templates/sample/config.yml
155
+ - libexec/bookery
156
+ - templates/basic/Gemfile.tt
157
+ - templates/basic/assets/css/base.css
158
+ - templates/basic/assets/css/layout.css
159
+ - templates/basic/assets/css/modules/code-block.css
160
+ - templates/basic/assets/includes/.empty_directory
161
+ - templates/basic/assets/style.css
162
+ - templates/basic/assets/templates/template.html.erb
163
+ - templates/basic/book/en/001-first-chapter/01-chapter-file.md
164
+ - templates/basic/config.yml
160
165
  - test/bookery/book_test.rb
161
- - test/bookery/chapter_test.rb
162
166
  - test/bookery/cli_test.rb
167
+ - test/bookery/config_test.rb
168
+ - test/bookery/factories/chapter_factory_test.rb
169
+ - test/bookery/factories/publisher_factory_test.rb
170
+ - test/bookery/processor/include_processor_test.rb
171
+ - test/bookery/project_test.rb
172
+ - test/bookery/publishers/html_publisher_test.rb
173
+ - test/data/project/Gemfile.tt
174
+ - test/data/project/assets/images/cover.png
175
+ - test/data/project/assets/includes/ruby/chapter2.rb
176
+ - test/data/project/assets/style.css
177
+ - test/data/project/assets/templates/template.html.erb
178
+ - test/data/project/book/en/001-first-chapter/01-chapter-file.md
179
+ - test/data/project/book/en/002-second-chapter/01-chapter-file.md
180
+ - test/data/project/book/en/002-second-chapter/02-second-chapter-file.md
181
+ - test/data/project/book/es/.git-keep
182
+ - test/data/project/config.yml
163
183
  - test/test_helper.rb
164
184
  homepage: https://github.com/pseudomuto/bookery
165
185
  licenses:
166
186
  - MIT
187
+ metadata: {}
167
188
  post_install_message:
168
189
  rdoc_options: []
169
190
  require_paths:
170
191
  - lib
171
192
  required_ruby_version: !ruby/object:Gem::Requirement
172
- none: false
173
193
  requirements:
174
- - - ! '>='
194
+ - - '>='
175
195
  - !ruby/object:Gem::Version
176
196
  version: '0'
177
- segments:
178
- - 0
179
- hash: 3704780808993066549
180
197
  required_rubygems_version: !ruby/object:Gem::Requirement
181
- none: false
182
198
  requirements:
183
- - - ! '>='
199
+ - - '>='
184
200
  - !ruby/object:Gem::Version
185
201
  version: '0'
186
- segments:
187
- - 0
188
- hash: 3704780808993066549
189
202
  requirements: []
190
203
  rubyforge_project:
191
- rubygems_version: 1.8.23
204
+ rubygems_version: 2.0.14
192
205
  signing_key:
193
- specification_version: 3
206
+ specification_version: 4
194
207
  summary: A simple way to author your book
195
208
  test_files:
196
209
  - test/bookery/book_test.rb
197
- - test/bookery/chapter_test.rb
198
210
  - test/bookery/cli_test.rb
211
+ - test/bookery/config_test.rb
212
+ - test/bookery/factories/chapter_factory_test.rb
213
+ - test/bookery/factories/publisher_factory_test.rb
214
+ - test/bookery/processor/include_processor_test.rb
215
+ - test/bookery/project_test.rb
216
+ - test/bookery/publishers/html_publisher_test.rb
217
+ - test/data/project/Gemfile.tt
218
+ - test/data/project/assets/images/cover.png
219
+ - test/data/project/assets/includes/ruby/chapter2.rb
220
+ - test/data/project/assets/style.css
221
+ - test/data/project/assets/templates/template.html.erb
222
+ - test/data/project/book/en/001-first-chapter/01-chapter-file.md
223
+ - test/data/project/book/en/002-second-chapter/01-chapter-file.md
224
+ - test/data/project/book/en/002-second-chapter/02-second-chapter-file.md
225
+ - test/data/project/book/es/.git-keep
226
+ - test/data/project/config.yml
199
227
  - test/test_helper.rb
data/Gemfile.lock DELETED
@@ -1,64 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- bookery (0.0.2)
5
- activesupport
6
- i18n
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- activesupport (3.2.16)
12
- i18n (~> 0.6, >= 0.6.4)
13
- multi_json (~> 1.0)
14
- celluloid (0.15.2)
15
- timers (~> 1.1.0)
16
- coderay (1.1.0)
17
- docile (1.1.1)
18
- ffi (1.9.3)
19
- formatador (0.2.4)
20
- guard (2.2.4)
21
- formatador (>= 0.2.4)
22
- listen (~> 2.1)
23
- lumberjack (~> 1.0)
24
- pry (>= 0.9.12)
25
- thor (>= 0.18.1)
26
- guard-minitest (2.1.2)
27
- guard (~> 2.0)
28
- minitest (>= 3.0)
29
- i18n (0.6.9)
30
- listen (2.3.1)
31
- celluloid (>= 0.15.2)
32
- rb-fsevent (>= 0.9.3)
33
- rb-inotify (>= 0.9)
34
- lumberjack (1.0.4)
35
- method_source (0.8.2)
36
- minitest (5.1.0)
37
- multi_json (1.8.2)
38
- pry (0.9.12.4)
39
- coderay (~> 1.0)
40
- method_source (~> 0.8)
41
- slop (~> 3.4)
42
- rake (10.1.0)
43
- rb-fsevent (0.9.3)
44
- rb-inotify (0.9.2)
45
- ffi (>= 0.5.0)
46
- simplecov (0.8.2)
47
- docile (~> 1.1.0)
48
- multi_json
49
- simplecov-html (~> 0.8.0)
50
- simplecov-html (0.8.0)
51
- slop (3.4.7)
52
- thor (0.18.1)
53
- timers (1.1.0)
54
-
55
- PLATFORMS
56
- ruby
57
-
58
- DEPENDENCIES
59
- bookery!
60
- bundler (~> 1.3)
61
- guard-minitest
62
- minitest
63
- rake
64
- simplecov