hybook 0.0.4 → 0.1.0
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/{History.md → HISTORY.md} +0 -0
- data/Manifest.txt +4 -1
- data/Rakefile +12 -1
- data/lib/hybook.rb +10 -0
- data/lib/hybook/builder/album.rb +13 -0
- data/lib/hybook/builder/book.rb +95 -0
- data/lib/hybook/type/album.rb +5 -0
- data/lib/hybook/version.rb +1 -3
- data/lib/hybook/writer/jekyll.rb +13 -0
- metadata +107 -16
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 025a0e3edbb9f098e19a14d29ed4ebb6f1781eb2
|
4
|
+
data.tar.gz: 449d801c54f96935679c985fc85c2efb08134069
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 69439953a99d3b653817ebb0fd9d95867a089fb95ea0b0dff5b96fdc9102b1278fed945ba53f5f5672d8eb97448ca0e047409c6cf9bdfc89f59e3f191968388d
|
7
|
+
data.tar.gz: 6097c65f219ba93e8be0414d6fc9f47af5441115a3eb0efdfa50ab39fe7343c30020b2809bb46fb0e51a59e690427622c4e1c60ea934488fc6e7fa6ba1f802c1
|
data/{History.md → HISTORY.md}
RENAMED
File without changes
|
data/Manifest.txt
CHANGED
@@ -1,11 +1,14 @@
|
|
1
|
-
|
1
|
+
HISTORY.md
|
2
2
|
Manifest.txt
|
3
3
|
README.md
|
4
4
|
Rakefile
|
5
5
|
lib/hybook.rb
|
6
|
+
lib/hybook/builder/album.rb
|
7
|
+
lib/hybook/builder/book.rb
|
6
8
|
lib/hybook/std/album.rb
|
7
9
|
lib/hybook/type/album.rb
|
8
10
|
lib/hybook/type/picture.rb
|
9
11
|
lib/hybook/type/section.rb
|
10
12
|
lib/hybook/version.rb
|
13
|
+
lib/hybook/writer/jekyll.rb
|
11
14
|
templates/album.md
|
data/Rakefile
CHANGED
@@ -15,10 +15,21 @@ Hoe.spec 'hybook' do
|
|
15
15
|
|
16
16
|
# switch extension to .markdown for gihub formatting
|
17
17
|
self.readme_file = 'README.md'
|
18
|
-
self.history_file = '
|
18
|
+
self.history_file = 'HISTORY.md'
|
19
19
|
|
20
20
|
self.licenses = ['Public Domain']
|
21
21
|
|
22
|
+
self.extra_deps = [
|
23
|
+
['props'], # settings / prop(ertie)s / env / INI
|
24
|
+
['logutils'], # logging
|
25
|
+
['textutils', '>= 0.9.4'], # e.g. >= 0.6 && <= 1.0 ## will include logutils, props
|
26
|
+
['markdown'], # markdown helper (e.g. link_to etc.)
|
27
|
+
|
28
|
+
## 3rd party
|
29
|
+
['gli', '>= 2.9'],
|
30
|
+
['activesupport']
|
31
|
+
]
|
32
|
+
|
22
33
|
self.spec_extras = {
|
23
34
|
:required_ruby_version => '>= 1.9.2'
|
24
35
|
}
|
data/lib/hybook.rb
CHANGED
@@ -0,0 +1,95 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# book builder
|
5
|
+
#
|
6
|
+
# - fix: build book structure in memory only (and use JekyllWriter to write/render to disk!!!)
|
7
|
+
# -- independent of jekyll (e.g. static site compiler)
|
8
|
+
|
9
|
+
#
|
10
|
+
#
|
11
|
+
# -- fix: use our own Page model or better Part / Section / etc. !!!!
|
12
|
+
# -- do NOT use TextUtils::Page --> use in writer/render when content gets mapped!!!
|
13
|
+
|
14
|
+
#
|
15
|
+
#
|
16
|
+
# fix: remove jekyll specific stuff
|
17
|
+
# -- move to jekyll writer
|
18
|
+
|
19
|
+
class BookBuilder
|
20
|
+
|
21
|
+
def inline?() @inline; end
|
22
|
+
def title() @title; end
|
23
|
+
def layout() @layout; end
|
24
|
+
def pages_dir() @pages_dir; end
|
25
|
+
|
26
|
+
|
27
|
+
def initialize( user_pages_dir, opts={} )
|
28
|
+
|
29
|
+
#
|
30
|
+
#
|
31
|
+
# fix: move user_pages_dir to opts ?? or remove
|
32
|
+
# only use for writer/renderer later
|
33
|
+
|
34
|
+
@pages_dir = user_pages_dir # add user_ to avoid conflict w/ attrib
|
35
|
+
|
36
|
+
@inline = opts[:inline ] == true ? true : false # all-in-one page version or multi-page?
|
37
|
+
|
38
|
+
@title = opts[:title] || 'Book Title Here'
|
39
|
+
@layout = opts[:layout] || 'book'
|
40
|
+
|
41
|
+
|
42
|
+
## if @inline create all-in-one book(.html) page
|
43
|
+
if inline?
|
44
|
+
path = "#{pages_dir}/book.md"
|
45
|
+
puts "[book] create all-in-one book page (#{path})"
|
46
|
+
|
47
|
+
## add frontmatter
|
48
|
+
|
49
|
+
page_opts = { frontmatter: {
|
50
|
+
layout: layout,
|
51
|
+
title: title,
|
52
|
+
permalink: '/book.html' } }
|
53
|
+
|
54
|
+
TextUtils::Page.create( path, page_opts ) do |page|
|
55
|
+
## do nothing for now
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
|
61
|
+
### fix: change to part/chapter/section/etc. ??
|
62
|
+
|
63
|
+
def page( name, opts={} )
|
64
|
+
|
65
|
+
# add fallbacks/defaults
|
66
|
+
opts[:title] ||= 'Page Title Here'
|
67
|
+
opts[:id] ||= TextUtils.slugify( @title ) ## add page/section counter to generated fallback id/anchor
|
68
|
+
|
69
|
+
if inline?
|
70
|
+
path = "#{pages_dir}/book.md"
|
71
|
+
puts "[book] update all-in-one book page -- #{name} (#{path})"
|
72
|
+
|
73
|
+
page_opts = {}.merge( opts ) ## for now pass along all opts; no built-in/auto-added opts -- in the future add page/section counter or similar, for example?
|
74
|
+
TextUtils::Page.update( path, page_opts ) do |page|
|
75
|
+
yield( page )
|
76
|
+
end
|
77
|
+
else
|
78
|
+
path = "#{pages_dir}/#{name}.md"
|
79
|
+
puts "[book] create page #{name} (#{path})"
|
80
|
+
|
81
|
+
page_opts = { frontmatter: {
|
82
|
+
layout: layout, # e.g. 'book'
|
83
|
+
title: opts[:title], # e.g. 'The Free Beer Book'
|
84
|
+
permalink: "/#{opts[:id]}.html" # e.g. '/index.html'
|
85
|
+
}}
|
86
|
+
page_opts = page_opts.merge( opts ) ## pass along all opts
|
87
|
+
|
88
|
+
TextUtils::Page.create( path, page_opts ) do |page|
|
89
|
+
yield( page )
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
end # class BookBuilder
|
95
|
+
|
data/lib/hybook/type/album.rb
CHANGED
data/lib/hybook/version.rb
CHANGED
metadata
CHANGED
@@ -1,62 +1,155 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hybook
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Gerald Bauer
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-03-31 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: props
|
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'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: logutils
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: textutils
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.9.4
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.9.4
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: markdown
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: gli
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ! '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.9'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.9'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: activesupport
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ! '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ! '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
14
97
|
- !ruby/object:Gem::Dependency
|
15
98
|
name: rdoc
|
16
|
-
requirement:
|
17
|
-
none: false
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
18
100
|
requirements:
|
19
101
|
- - ~>
|
20
102
|
- !ruby/object:Gem::Version
|
21
103
|
version: '4.0'
|
22
104
|
type: :development
|
23
105
|
prerelease: false
|
24
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '4.0'
|
25
111
|
- !ruby/object:Gem::Dependency
|
26
112
|
name: hoe
|
27
|
-
requirement:
|
28
|
-
none: false
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
29
114
|
requirements:
|
30
115
|
- - ~>
|
31
116
|
- !ruby/object:Gem::Version
|
32
|
-
version: '3.
|
117
|
+
version: '3.6'
|
33
118
|
type: :development
|
34
119
|
prerelease: false
|
35
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '3.6'
|
36
125
|
description: hybook - hypertext book generator
|
37
126
|
email: webslideshow@googlegroups.com
|
38
127
|
executables: []
|
39
128
|
extensions: []
|
40
129
|
extra_rdoc_files:
|
41
|
-
-
|
130
|
+
- HISTORY.md
|
42
131
|
- Manifest.txt
|
43
132
|
- README.md
|
44
133
|
- templates/album.md
|
45
134
|
files:
|
46
|
-
-
|
135
|
+
- HISTORY.md
|
47
136
|
- Manifest.txt
|
48
137
|
- README.md
|
49
138
|
- Rakefile
|
50
139
|
- lib/hybook.rb
|
140
|
+
- lib/hybook/builder/album.rb
|
141
|
+
- lib/hybook/builder/book.rb
|
51
142
|
- lib/hybook/std/album.rb
|
52
143
|
- lib/hybook/type/album.rb
|
53
144
|
- lib/hybook/type/picture.rb
|
54
145
|
- lib/hybook/type/section.rb
|
55
146
|
- lib/hybook/version.rb
|
147
|
+
- lib/hybook/writer/jekyll.rb
|
56
148
|
- templates/album.md
|
57
149
|
homepage: https://github.com/hybook/hybook
|
58
150
|
licenses:
|
59
151
|
- Public Domain
|
152
|
+
metadata: {}
|
60
153
|
post_install_message:
|
61
154
|
rdoc_options:
|
62
155
|
- --main
|
@@ -64,21 +157,19 @@ rdoc_options:
|
|
64
157
|
require_paths:
|
65
158
|
- lib
|
66
159
|
required_ruby_version: !ruby/object:Gem::Requirement
|
67
|
-
none: false
|
68
160
|
requirements:
|
69
161
|
- - ! '>='
|
70
162
|
- !ruby/object:Gem::Version
|
71
163
|
version: 1.9.2
|
72
164
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
165
|
requirements:
|
75
166
|
- - ! '>='
|
76
167
|
- !ruby/object:Gem::Version
|
77
168
|
version: '0'
|
78
169
|
requirements: []
|
79
170
|
rubyforge_project: hybook
|
80
|
-
rubygems_version: 1.
|
171
|
+
rubygems_version: 2.1.10
|
81
172
|
signing_key:
|
82
|
-
specification_version:
|
173
|
+
specification_version: 4
|
83
174
|
summary: hybook - hypertext book generator
|
84
175
|
test_files: []
|