epubforge 0.0.10 → 0.0.11
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/Gemfile +17 -10
- data/VERSION +1 -1
- data/bin/epubforge +1 -1
- data/config/actions/epub.rb +50 -0
- data/config/actions/forge.rb +34 -13
- data/config/actions/git.rb +106 -0
- data/config/actions/help.rb +13 -13
- data/config/actions/html.rb +33 -0
- data/config/actions/mobi.rb +60 -0
- data/config/actions/new.rb +182 -0
- data/config/actions/word_count.rb +26 -24
- data/config/{actions → actions_to_ignore}/generate.rb +1 -1
- data/config/{actions → actions_to_ignore}/generate_chapter.rb +0 -0
- data/config/{actions → actions_to_ignore}/git_backup.rb +2 -2
- data/config/{actions → actions_to_ignore}/globals.rb +1 -1
- data/config/{actions → actions_to_ignore}/kindle.rb +3 -3
- data/config/{actions → actions_to_ignore}/local_action.rb +1 -1
- data/config/{actions → actions_to_ignore}/mobify.rb +3 -3
- data/config/actions_to_ignore/notes_to_epub.rb +19 -0
- data/config/actions_to_ignore/notes_to_kindle.rb +18 -0
- data/config/{actions → actions_to_ignore}/spell.rb +1 -1
- data/config/{actions → actions_to_ignore}/version.rb +3 -3
- data/config/{actions → actions_to_ignore}/wrap_scene_notes_in_hidden_div.rb +1 -1
- data/config/converters/epub_to_mobi.calibre.rb +8 -0
- data/config/converters/epub_to_mobi.kindlegen.rb +11 -0
- data/config/html_translators/default_kramdown.html_translator.rb +9 -0
- data/config/html_translators/default_markdown.html_translator.rb +10 -0
- data/config/html_translators/default_markdown_pandoc.html_translator.rb +10 -0
- data/config/html_translators/default_textile_pandoc.html_translator.rb +8 -0
- data/config/html_translators/default_xhtml.html_translator.rb +7 -0
- data/config/html_translators/fallback_html.html_translator.rb +9 -0
- data/config/html_translators/fallback_markdown.html_translator.rb +8 -0
- data/config/html_translators/fallback_textile.html_translator.rb +7 -0
- data/config/html_translators/fallback_txt.html_translator.rb +8 -0
- data/config/html_translators/fallback_unknown.html_translator.rb +7 -0
- data/lib/epubforge.rb +37 -82
- data/lib/{action/thor_action.rb → epubforge/action/action.rb} +89 -69
- data/lib/epubforge/action/action2.rb +109 -0
- data/lib/epubforge/action/action_definition.rb +62 -0
- data/lib/epubforge/action/actions_lookup.rb +45 -0
- data/lib/epubforge/action/chatterbox.rb +93 -0
- data/lib/{action → epubforge/action}/cli_command.rb +2 -2
- data/lib/{action → epubforge/action}/cli_sequence.rb +0 -0
- data/lib/{action → epubforge/action}/file_transformer.rb +0 -0
- data/lib/{action → epubforge/action}/hooks_interface.rb +2 -2
- data/lib/{action → epubforge/action}/run_description.rb +12 -9
- data/lib/{action → epubforge/action}/runner.rb +23 -24
- data/lib/{epub → epubforge/builder}/assets/asset.rb +1 -1
- data/lib/{epub → epubforge/builder}/assets/font.rb +1 -1
- data/lib/epubforge/builder/assets/html.rb +9 -0
- data/lib/{epub → epubforge/builder}/assets/image.rb +1 -1
- data/lib/epubforge/builder/assets/markdown.rb +9 -0
- data/lib/{epub → epubforge/builder}/assets/page.rb +12 -4
- data/lib/{epub → epubforge/builder}/assets/stylesheet.rb +1 -1
- data/lib/epubforge/builder/assets/textile.rb +9 -0
- data/lib/epubforge/builder/assets/xhtml.rb +9 -0
- data/lib/epubforge/builder/builder.rb +134 -0
- data/lib/{epub/builder.rb → epubforge/builder/epub.rb} +58 -161
- data/lib/epubforge/builder/html.rb +22 -0
- data/lib/epubforge/builder/packager.rb +16 -0
- data/lib/epubforge/core_extensions/array.rb +2 -0
- data/lib/{core_extensions → epubforge/core_extensions}/kernel.rb +0 -0
- data/lib/epubforge/core_extensions/nil_class.rb +2 -0
- data/lib/epubforge/core_extensions/object.rb +24 -0
- data/lib/{core_extensions → epubforge/core_extensions}/string.rb +1 -5
- data/lib/{custom_helpers.rb → epubforge/custom_helpers.rb} +0 -1
- data/lib/{errors.rb → epubforge/exceptions/errors.rb} +0 -0
- data/lib/{project → epubforge/project}/project.rb +23 -17
- data/lib/epubforge/utils/action_loader.rb +8 -0
- data/lib/epubforge/utils/class_loader.rb +102 -0
- data/lib/epubforge/utils/converter.rb +94 -0
- data/lib/{utils → epubforge/utils}/downloader.rb +0 -0
- data/lib/{utils → epubforge/utils}/file_orderer.rb +0 -0
- data/lib/epubforge/utils/file_path.rb +8 -0
- data/lib/epubforge/utils/html_translator.rb +126 -0
- data/lib/epubforge/utils/html_translator_queue.rb +113 -0
- data/lib/epubforge/utils/htmlizer.rb +61 -0
- data/lib/{utils → epubforge/utils}/misc.rb +0 -0
- data/lib/epubforge/utils/root_path.rb +8 -0
- data/lib/epubforge/utils/settings.rb +147 -0
- data/lib/epubforge/utils/template_evaluator.rb +7 -0
- data/templates/{default/book/afterword.markdown.template → project/book/afterword.markdown} +0 -0
- data/templates/project/book/chapter-%0000chapter%.markdown.template +4 -0
- data/templates/{default → project}/book/cover.xhtml.template +2 -2
- data/templates/{default/book/foreword.markdown.template → project/book/foreword.markdown} +0 -0
- data/templates/{default → project}/book/images/cover.png +0 -0
- data/templates/{default/book/stylesheets/stylesheet.css.template → project/book/stylesheets/stylesheet.css} +0 -0
- data/templates/project/book/title_page.markdown.template +5 -0
- data/templates/project/notes/character.%character.name_for_file%.markdown.template +15 -0
- data/templates/{default → project}/notes/images/cover.png +0 -0
- data/templates/{default/notes/stylesheets/stylesheet.css.template → project/notes/stylesheets/stylesheet.css} +0 -0
- data/templates/{default → project}/settings/actions/local_action.rb.example +1 -1
- data/templates/project/settings/config.rb.template +70 -0
- data/templates/project/settings/html_translators/example_translator.rb +29 -0
- data/templates/{default → project}/settings/wordcount.template +1 -1
- data/test/answers01.yml +30 -0
- data/test/helper.rb +62 -39
- data/test/misc/config.rb +5 -7
- data/test/test_epubforge.rb +18 -14
- data/test/{test_htmlizers.rb → test_html_translators.rb} +4 -8
- data/test/test_template_evaluator.rb +42 -0
- data/test/test_utils.rb +0 -11
- metadata +186 -189
- data/config/actions/gitify.rb +0 -72
- data/config/actions/init.rb +0 -138
- data/config/actions/notes_to_epub.rb +0 -18
- data/config/actions/notes_to_kindle.rb +0 -17
- data/config/htmlizers.rb +0 -70
- data/lib/action/actions_lookup.rb +0 -45
- data/lib/core_extensions/array.rb +0 -5
- data/lib/core_extensions/nil_class.rb +0 -5
- data/lib/core_extensions/object.rb +0 -5
- data/lib/epub/assets/html.rb +0 -8
- data/lib/epub/assets/markdown.rb +0 -8
- data/lib/epub/assets/textile.rb +0 -8
- data/lib/epub/assets/xhtml.rb +0 -8
- data/lib/epub/packager.rb +0 -16
- data/lib/utils/action_loader.rb +0 -7
- data/lib/utils/class_loader.rb +0 -102
- data/lib/utils/directory_builder.rb +0 -181
- data/lib/utils/file_path.rb +0 -152
- data/lib/utils/html_translator.rb +0 -100
- data/lib/utils/html_translator_queue.rb +0 -70
- data/lib/utils/htmlizer.rb +0 -92
- data/lib/utils/root_path.rb +0 -20
- data/lib/utils/settings.rb +0 -146
- data/lib/utils/template_evaluator.rb +0 -20
- data/templates/default/book/chapter-%i%.markdown.sequence +0 -4
- data/templates/default/book/title_page.markdown.template +0 -4
- data/templates/default/notes/character.named.markdown.template +0 -4
- data/templates/default/payload.rb +0 -65
- data/templates/default/settings/config.rb.form +0 -55
- data/templates/default/settings/htmlizers.rb +0 -0
- data/test/test_directory_builder.rb +0 -141
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# # Define only one translator per file.
|
|
2
|
+
# #
|
|
3
|
+
# # This htmlizer leaves the input file unaltered
|
|
4
|
+
# # Uncomment the line below, and the matching 'end' statement at the end
|
|
5
|
+
# EpubForge::Utils::HtmlTranslator.new do
|
|
6
|
+
# # format() describes the file extension that this translator will accept. It's a symbol, so do
|
|
7
|
+
# # :txt rather than .txt, for example.
|
|
8
|
+
# format :xhtml
|
|
9
|
+
# # group() describes which group it belongs in, and therefore the priority of this translator.
|
|
10
|
+
# # From most to least important, valid groups are :preferred, :user, :default, and :fallback
|
|
11
|
+
# group :default
|
|
12
|
+
#
|
|
13
|
+
# # executable(): The executable that will be substituted into the {{x}} portion of the command
|
|
14
|
+
# # that will be executed. If you don't give it the name of
|
|
15
|
+
# # a program in your path, or an absolute filepath, the translator will respond to translation
|
|
16
|
+
# # requests with "not installed", and a lower-priority translator will be sought.
|
|
17
|
+
# executable "false"
|
|
18
|
+
#
|
|
19
|
+
# # cmd() What to run.
|
|
20
|
+
# # {{f}} will be replaced with the filename
|
|
21
|
+
# # {{o}} will be replaced with options
|
|
22
|
+
# # {{x}} will be replaced with the name of the executable
|
|
23
|
+
# cmd "cat {{f}}"
|
|
24
|
+
#
|
|
25
|
+
# # Putting it all together: This translator just says "if you come across an XHTML file, just
|
|
26
|
+
# # include it unaltered."
|
|
27
|
+
# #
|
|
28
|
+
# # Uncomment the 'end' line, cuz Ruby.
|
|
29
|
+
# end
|
data/test/answers01.yml
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
:answers:
|
|
3
|
+
:chapter: !ruby/range
|
|
4
|
+
begin: 1
|
|
5
|
+
end: 3
|
|
6
|
+
excl: false
|
|
7
|
+
:book:
|
|
8
|
+
:author: Wilberforce Poncer
|
|
9
|
+
:title: The Courtesan of Fate
|
|
10
|
+
:cover:
|
|
11
|
+
:license: You Owe Me All the Money Limited License, v. 2.1
|
|
12
|
+
:use_git: true
|
|
13
|
+
:git:
|
|
14
|
+
:repo_id: abcdef0123456789
|
|
15
|
+
:backup_type: Back up to a remote host.
|
|
16
|
+
:host: myhost.somewhere.com
|
|
17
|
+
:user: andersbr
|
|
18
|
+
:repo: /home/andersbr/git
|
|
19
|
+
:character:
|
|
20
|
+
- :age: '27'
|
|
21
|
+
:name: Winifred Burkle
|
|
22
|
+
:summary: Adorkable whiz kid.
|
|
23
|
+
:description: Pylea sucks. Never going back.
|
|
24
|
+
:name_for_file: winifred_burkle
|
|
25
|
+
|
|
26
|
+
- :age: '324'
|
|
27
|
+
:name: Angel
|
|
28
|
+
:summary: Bitey vampire
|
|
29
|
+
:description: Broody as hell.
|
|
30
|
+
:name_for_file: angel
|
data/test/helper.rb
CHANGED
|
@@ -1,39 +1,46 @@
|
|
|
1
|
-
require '
|
|
2
|
-
require '
|
|
3
|
-
require 'shoulda'
|
|
1
|
+
# require 'bundler'
|
|
2
|
+
# require 'shoulda'
|
|
4
3
|
require 'stringio'
|
|
5
|
-
require '
|
|
4
|
+
require 'fun_with_testing'
|
|
6
5
|
|
|
7
|
-
begin
|
|
8
|
-
|
|
9
|
-
rescue Bundler::BundlerError => e
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
require 'test/unit'
|
|
16
|
-
|
|
17
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
18
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
6
|
+
# begin
|
|
7
|
+
# Bundler.setup(:default, :development)
|
|
8
|
+
# rescue Bundler::BundlerError => e
|
|
9
|
+
# $stderr.puts e.message
|
|
10
|
+
# $stderr.puts "Run `bundle install` to install missing gems"
|
|
11
|
+
# exit e.status_code
|
|
12
|
+
# end
|
|
13
|
+
#
|
|
14
|
+
# require 'test/unit'
|
|
19
15
|
require 'epubforge'
|
|
20
16
|
|
|
17
|
+
EpubForge.gem_test_mode = true
|
|
18
|
+
|
|
21
19
|
module EpubForge
|
|
22
|
-
class TestCase <
|
|
20
|
+
class TestCase < FunWith::Testing::TestCase
|
|
21
|
+
self.gem_to_test = EpubForge
|
|
22
|
+
|
|
23
|
+
include EpubForge::Utils
|
|
24
|
+
include FunWith::Testing::Assertions::Basics
|
|
25
|
+
include FunWith::Testing::Assertions::FunWithFiles
|
|
26
|
+
|
|
23
27
|
protected
|
|
24
28
|
def create_project( verbose = false, &block )
|
|
25
|
-
|
|
29
|
+
verbose = true
|
|
30
|
+
FunWith::Files::DirectoryBuilder.tmpdir do |d|
|
|
26
31
|
pipe_output_to = (verbose ? $stdout : StringIO.new)
|
|
27
32
|
@project_dir = d.current_path.join("project")
|
|
28
33
|
|
|
29
34
|
@printout = EpubForge.collect_stdout( pipe_output_to ) do # collect_stdout(STDOUT) to see what's being outputted.
|
|
30
|
-
EpubForge::Action::Runner.new.exec( "
|
|
35
|
+
@returned = EpubForge::Action::Runner.new.exec( "new", @project_dir, fill_in_project_options )
|
|
31
36
|
end
|
|
37
|
+
|
|
38
|
+
assert_directory( @project_dir, "Project directory doesn't exist. Cannot proceed." )
|
|
32
39
|
|
|
33
|
-
|
|
40
|
+
@default_opts = fill_in_project_options[:answers]
|
|
41
|
+
@book_title = @default_opts[:book][:title]
|
|
34
42
|
|
|
35
|
-
@
|
|
36
|
-
@chapter_count = fill_in_project_options[:answers][:chapter_count].to_i
|
|
43
|
+
@chapter_count = @default_opts[:chapter].last
|
|
37
44
|
@ebook_file = @project_dir.join( @book_title.epf_underscorize + ".epub" )
|
|
38
45
|
@notes_file = @project_dir.join( @book_title.epf_underscorize + ".notes.epub" )
|
|
39
46
|
|
|
@@ -42,26 +49,42 @@ module EpubForge
|
|
|
42
49
|
end
|
|
43
50
|
|
|
44
51
|
def fill_in_project_options( opts = {} )
|
|
45
|
-
template_options =
|
|
46
|
-
:answers => {
|
|
47
|
-
:chapter_count => 3,
|
|
48
|
-
:title => "The Courtesan of Fate",
|
|
49
|
-
:author => "Wilberforce Poncer",
|
|
50
|
-
:license => "You Owe Me All the Money Limited License, v. 2.1",
|
|
51
|
-
:use_git => true,
|
|
52
|
-
:git => {
|
|
53
|
-
:repo_id => "abcdef0123456789",
|
|
54
|
-
:backup_type => "Back up to a remote host.",
|
|
55
|
-
:host => "myhost.somewhere.com",
|
|
56
|
-
:user => "andersbr",
|
|
57
|
-
:repo => "/home/andersbr/git"
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
52
|
+
template_options = YAML.load( EpubForge.root("test", "answers01.yml").read )
|
|
62
53
|
template_options[:answers].merge(opts)
|
|
63
54
|
|
|
64
55
|
template_options
|
|
65
56
|
end
|
|
57
|
+
|
|
58
|
+
def tempdir( &block )
|
|
59
|
+
FunWith::Files::FilePath.tmpdir do |d|
|
|
60
|
+
@tmpdir = d
|
|
61
|
+
yield
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def runner_exec( *args )
|
|
66
|
+
if @runner_exec_quiet
|
|
67
|
+
@runner_exec_printout = EpubForge.collect_stdout do
|
|
68
|
+
@run_description = EpubForge::Action::Runner.new.exec( *args )
|
|
69
|
+
end
|
|
70
|
+
else
|
|
71
|
+
@run_description = EpubForge::Action::Runner.new.exec( *args )
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
if @run_description.errors? # , "running forge caused errors (#{run_desc.errors.length})"
|
|
75
|
+
error = @run_description.errors.first
|
|
76
|
+
case @runner_exec_errors_action
|
|
77
|
+
when :raise
|
|
78
|
+
raise error
|
|
79
|
+
when :print
|
|
80
|
+
puts "Runner.new.exec() args = #{args.inspect}"
|
|
81
|
+
puts error.message
|
|
82
|
+
puts "\t" + error.backtrace.map{ |line| "\t#{line}"}.join("\n")
|
|
83
|
+
puts "\n"
|
|
84
|
+
when :ignore
|
|
85
|
+
# do nothing
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
66
89
|
end
|
|
67
90
|
end
|
data/test/misc/config.rb
CHANGED
data/test/test_epubforge.rb
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
require 'helper'
|
|
2
|
-
require 'thor'
|
|
3
2
|
|
|
4
3
|
class TestEpubforge < EpubForge::TestCase #
|
|
5
4
|
context "Testing a few basic commands" do
|
|
@@ -15,7 +14,7 @@ class TestEpubforge < EpubForge::TestCase #
|
|
|
15
14
|
|
|
16
15
|
should "initialize a new project" do
|
|
17
16
|
create_project do
|
|
18
|
-
|
|
17
|
+
assert_file @project_dir.join( EpubForge::Project::SETTINGS_FOLDER, EpubForge::Project::CONFIG_FILE_NAME )
|
|
19
18
|
assert @project_dir.join( "settings", "actions" ).directory?
|
|
20
19
|
assert @project_dir.join( "notes" ).directory?
|
|
21
20
|
assert @project_dir.join( "book", "title_page.markdown" ).file?
|
|
@@ -30,8 +29,8 @@ class TestEpubforge < EpubForge::TestCase #
|
|
|
30
29
|
EpubForge.collect_stdout do
|
|
31
30
|
report = EpubForge::Action::Runner.new.exec( "wc", @project_dir ).execution_returned
|
|
32
31
|
assert_kind_of Hash, report
|
|
33
|
-
assert_equal
|
|
34
|
-
assert_equal
|
|
32
|
+
assert_equal 122, report["Book"]
|
|
33
|
+
assert_equal 157, report["Today"]
|
|
35
34
|
assert @project_dir.join( EpubForge::Project::SETTINGS_FOLDER, EpubForge::Action::WordCount::WORD_COUNT_FILE ).exist?
|
|
36
35
|
end
|
|
37
36
|
end
|
|
@@ -46,18 +45,23 @@ class TestEpubforge < EpubForge::TestCase #
|
|
|
46
45
|
end
|
|
47
46
|
|
|
48
47
|
assert_match /Error\(s\) trying to complete the requested action/, printout
|
|
49
|
-
|
|
48
|
+
puts printout.paint(:red, :invert, :white)
|
|
49
|
+
assert_match /Could not find a project directory/, printout
|
|
50
50
|
end
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
should "create an .epub file" do
|
|
54
54
|
create_project do
|
|
55
|
-
printout = EpubForge.collect_stdout() do # .collect_stdout(STDOUT) to see what's going on
|
|
56
|
-
|
|
57
|
-
end
|
|
55
|
+
# printout = EpubForge.collect_stdout() do # .collect_stdout(STDOUT) to see what's going on
|
|
56
|
+
# EpubForge::Action::Runner.new.exec( "forge", @project_dir )
|
|
57
|
+
# end
|
|
58
|
+
@runner_exec_errors_action = :raise
|
|
59
|
+
|
|
60
|
+
runner_exec( "epub", @project_dir )
|
|
61
|
+
raise @run_description.errors.first if @run_description.errors? # , "running forge caused errors (#{run_desc.errors.length})"
|
|
58
62
|
|
|
59
|
-
|
|
60
|
-
assert_match /Done building epub/,
|
|
63
|
+
assert_file @ebook_file, "Ebook was not created"
|
|
64
|
+
assert_match /Done building epub/, @runner_exec_printout if @runner_exec_printout
|
|
61
65
|
|
|
62
66
|
Dir.mktmpdir do |unzip_dir|
|
|
63
67
|
unzip_dir = unzip_dir.fwf_filepath
|
|
@@ -100,9 +104,9 @@ class TestEpubforge < EpubForge::TestCase #
|
|
|
100
104
|
assert_equal 1, toc.grep( /DOCTYPE/ ).length
|
|
101
105
|
assert_equal 4, toc.grep( /meta name=/ ).length
|
|
102
106
|
|
|
103
|
-
section_count = EpubForge.root( "templates", "
|
|
107
|
+
section_count = EpubForge.root( "templates", "project", "book" ).glob( :ext => ["markdown", "template"] ).length + @chapter_count - 1
|
|
104
108
|
assert_equal section_count, toc.grep( /xhtml/ ).length
|
|
105
|
-
assert_equal
|
|
109
|
+
assert_equal 2, toc.grep( /#{@book_title}/ ).length
|
|
106
110
|
|
|
107
111
|
assert_equal section_count, toc.grep( /<content src=/ ).length
|
|
108
112
|
end
|
|
@@ -110,10 +114,11 @@ class TestEpubforge < EpubForge::TestCase #
|
|
|
110
114
|
end
|
|
111
115
|
end
|
|
112
116
|
end
|
|
117
|
+
|
|
113
118
|
|
|
114
119
|
should "create an .epub of the notes directory" do
|
|
115
120
|
create_project do
|
|
116
|
-
EpubForge::Action::Runner.new.exec( "
|
|
121
|
+
EpubForge::Action::Runner.new.exec( "epub:notes", @project_dir )
|
|
117
122
|
assert @notes_file.file?
|
|
118
123
|
assert ! @notes_file.empty?
|
|
119
124
|
end
|
|
@@ -122,7 +127,6 @@ class TestEpubforge < EpubForge::TestCase #
|
|
|
122
127
|
should "print friggin' something when no args" do
|
|
123
128
|
EpubForge::Action::Runner.new.exec()
|
|
124
129
|
end
|
|
125
|
-
|
|
126
130
|
end
|
|
127
131
|
end
|
|
128
132
|
end
|
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
require 'helper'
|
|
2
|
-
Htmlizer = EpubForge::Utils::Htmlizer
|
|
3
2
|
|
|
4
|
-
class
|
|
3
|
+
class TestHtmlTranslators < EpubForge::TestCase
|
|
5
4
|
context "testing htmlizers" do
|
|
6
5
|
setup do
|
|
6
|
+
@translator_class = EpubForge::Utils::HtmlTranslator
|
|
7
7
|
@samples = EpubForge.root("test", "sample_text")
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
should "test markdown" do
|
|
11
|
-
result =
|
|
11
|
+
result = @translator_class.translate( @samples.join("sample.markdown") )
|
|
12
12
|
assert_match /<h1.*This is a header</, result
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
should "test textile" do
|
|
16
|
-
result =
|
|
16
|
+
result = @translator_class.translate( @samples.join("sample.textile") )
|
|
17
17
|
assert_match /<h1.*This is a header</, result
|
|
18
18
|
end
|
|
19
|
-
|
|
20
|
-
should "test everything else" do
|
|
21
|
-
skip "not written"
|
|
22
|
-
end
|
|
23
19
|
end
|
|
24
20
|
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
require 'helper'
|
|
2
|
+
|
|
3
|
+
class TestBookTemplates < EpubForge::TestCase
|
|
4
|
+
context "testing default templates" do
|
|
5
|
+
setup do
|
|
6
|
+
@template_dir = EpubForge.root( "templates", "project" )
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
should "properly create files from default templates" do
|
|
10
|
+
tempdir do
|
|
11
|
+
assert @template_dir.directory?
|
|
12
|
+
assert @tmpdir.directory?
|
|
13
|
+
|
|
14
|
+
src = @template_dir.join( "book", "afterword.markdown" )
|
|
15
|
+
dest = @tmpdir.join( "afterword.markdown" )
|
|
16
|
+
FunWith::Templates::TemplateEvaluator.write( src, dest )
|
|
17
|
+
|
|
18
|
+
assert_file_has_content dest
|
|
19
|
+
assert_file_contents dest, /all the way/
|
|
20
|
+
assert_file_contents dest, /go find something else to do/
|
|
21
|
+
|
|
22
|
+
src = @template_dir.join( "book", "cover.xhtml.template" )
|
|
23
|
+
dest = @tmpdir.join( "cover.xhtml" )
|
|
24
|
+
FunWith::Templates::TemplateEvaluator.write( src, dest, fill_in_project_options[:answers] )
|
|
25
|
+
|
|
26
|
+
assert dest.file?
|
|
27
|
+
src = @template_dir.join( "notes", "character.%character.name_for_file%.markdown.template" )
|
|
28
|
+
|
|
29
|
+
# specifying only the directory to write the file into should nonetheless yield the proper behavior
|
|
30
|
+
dest = @tmpdir
|
|
31
|
+
vars = { :character => {:name => "Wilber Pontiff", :name_for_file => "wilber_pontiff"}}
|
|
32
|
+
|
|
33
|
+
FunWith::Templates::TemplateEvaluator.write( src, @tmpdir, vars )
|
|
34
|
+
|
|
35
|
+
dest = dest.join("character.wilber_pontiff.markdown")
|
|
36
|
+
assert_file_has_content dest
|
|
37
|
+
assert_file_contents( dest, /Wilber Pontiff/ )
|
|
38
|
+
assert_file_contents( dest, /^==============$/ )
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
data/test/test_utils.rb
CHANGED
|
@@ -25,15 +25,4 @@ class TestUtils < EpubForge::TestCase
|
|
|
25
25
|
assert_equal files_in_expected_order, reordered_files
|
|
26
26
|
end
|
|
27
27
|
end
|
|
28
|
-
|
|
29
|
-
context "testing template_handler" do
|
|
30
|
-
should "evaluate erb in a string" do
|
|
31
|
-
sample = "(<%= Time.now %>): <%= @var_is_set %>"
|
|
32
|
-
result = TemplateEvaluator.new( sample, var_is_set: "true" ).result
|
|
33
|
-
|
|
34
|
-
assert_match /true/, result
|
|
35
|
-
time_string = /\((.*)\)/.match(result)[1]
|
|
36
|
-
assert_kind_of Time, Time.parse( time_string )
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
28
|
end
|
metadata
CHANGED
|
@@ -1,210 +1,192 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: epubforge
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.0.11
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Bryce Anderson
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 2014-05-31 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: xdg
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
|
-
- -
|
|
17
|
+
- - "~>"
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
|
-
version: '
|
|
19
|
+
version: '2'
|
|
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: '
|
|
26
|
+
version: '2'
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
|
31
28
|
name: builder
|
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
30
|
requirements:
|
|
35
|
-
- -
|
|
31
|
+
- - "~>"
|
|
36
32
|
- !ruby/object:Gem::Version
|
|
37
|
-
version: '
|
|
33
|
+
version: '3'
|
|
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: '
|
|
40
|
+
version: '3'
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
|
47
42
|
name: nokogiri
|
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
44
|
requirements:
|
|
51
|
-
- - ~>
|
|
45
|
+
- - "~>"
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
53
47
|
version: '1.5'
|
|
54
48
|
type: :runtime
|
|
55
49
|
prerelease: false
|
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
51
|
requirements:
|
|
59
|
-
- - ~>
|
|
52
|
+
- - "~>"
|
|
60
53
|
- !ruby/object:Gem::Version
|
|
61
54
|
version: '1.5'
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
|
63
56
|
name: thor
|
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
58
|
requirements:
|
|
67
|
-
- -
|
|
59
|
+
- - "~>"
|
|
68
60
|
- !ruby/object:Gem::Version
|
|
69
61
|
version: '0'
|
|
70
62
|
type: :runtime
|
|
71
63
|
prerelease: false
|
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
65
|
requirements:
|
|
75
|
-
- -
|
|
66
|
+
- - "~>"
|
|
76
67
|
- !ruby/object:Gem::Version
|
|
77
68
|
version: '0'
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
|
79
|
-
name:
|
|
70
|
+
name: kramdown
|
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
72
|
requirements:
|
|
83
|
-
- -
|
|
73
|
+
- - ">="
|
|
84
74
|
- !ruby/object:Gem::Version
|
|
85
|
-
version: '
|
|
75
|
+
version: '1.3'
|
|
86
76
|
type: :runtime
|
|
87
77
|
prerelease: false
|
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
-
none: false
|
|
90
79
|
requirements:
|
|
91
|
-
- -
|
|
80
|
+
- - ">="
|
|
92
81
|
- !ruby/object:Gem::Version
|
|
93
|
-
version: '
|
|
82
|
+
version: '1.3'
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
|
95
|
-
name:
|
|
84
|
+
name: fun_with_gems
|
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
none: false
|
|
98
86
|
requirements:
|
|
99
|
-
- -
|
|
87
|
+
- - "~>"
|
|
100
88
|
- !ruby/object:Gem::Version
|
|
101
|
-
version: '0'
|
|
89
|
+
version: '0.0'
|
|
102
90
|
type: :runtime
|
|
103
91
|
prerelease: false
|
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
-
none: false
|
|
106
93
|
requirements:
|
|
107
|
-
- -
|
|
94
|
+
- - "~>"
|
|
108
95
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: '0'
|
|
96
|
+
version: '0.0'
|
|
110
97
|
- !ruby/object:Gem::Dependency
|
|
111
|
-
name:
|
|
98
|
+
name: fun_with_configurations
|
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
|
113
|
-
none: false
|
|
114
100
|
requirements:
|
|
115
|
-
- - ~>
|
|
101
|
+
- - "~>"
|
|
116
102
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: '
|
|
118
|
-
type: :
|
|
103
|
+
version: '0.0'
|
|
104
|
+
type: :runtime
|
|
119
105
|
prerelease: false
|
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
none: false
|
|
122
107
|
requirements:
|
|
123
|
-
- - ~>
|
|
108
|
+
- - "~>"
|
|
124
109
|
- !ruby/object:Gem::Version
|
|
125
|
-
version: '
|
|
110
|
+
version: '0.0'
|
|
126
111
|
- !ruby/object:Gem::Dependency
|
|
127
|
-
name:
|
|
112
|
+
name: fun_with_templates
|
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
|
129
|
-
none: false
|
|
130
114
|
requirements:
|
|
131
|
-
- - ~>
|
|
115
|
+
- - "~>"
|
|
132
116
|
- !ruby/object:Gem::Version
|
|
133
|
-
version:
|
|
134
|
-
type: :
|
|
117
|
+
version: '0.0'
|
|
118
|
+
type: :runtime
|
|
135
119
|
prerelease: false
|
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
137
|
-
none: false
|
|
138
121
|
requirements:
|
|
139
|
-
- - ~>
|
|
122
|
+
- - "~>"
|
|
140
123
|
- !ruby/object:Gem::Version
|
|
141
|
-
version:
|
|
124
|
+
version: '0.0'
|
|
142
125
|
- !ruby/object:Gem::Dependency
|
|
143
|
-
name:
|
|
126
|
+
name: fun_with_string_colors
|
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
|
145
|
-
none: false
|
|
146
128
|
requirements:
|
|
147
|
-
- - ~>
|
|
129
|
+
- - "~>"
|
|
148
130
|
- !ruby/object:Gem::Version
|
|
149
|
-
version:
|
|
150
|
-
type: :
|
|
131
|
+
version: '0.0'
|
|
132
|
+
type: :runtime
|
|
151
133
|
prerelease: false
|
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
153
|
-
none: false
|
|
154
135
|
requirements:
|
|
155
|
-
- - ~>
|
|
136
|
+
- - "~>"
|
|
156
137
|
- !ruby/object:Gem::Version
|
|
157
|
-
version:
|
|
138
|
+
version: '0.0'
|
|
158
139
|
- !ruby/object:Gem::Dependency
|
|
159
|
-
name:
|
|
140
|
+
name: fun_with_patterns
|
|
160
141
|
requirement: !ruby/object:Gem::Requirement
|
|
161
|
-
none: false
|
|
162
142
|
requirements:
|
|
163
|
-
- - ~>
|
|
143
|
+
- - "~>"
|
|
164
144
|
- !ruby/object:Gem::Version
|
|
165
|
-
version: '
|
|
166
|
-
type: :
|
|
145
|
+
version: '0.0'
|
|
146
|
+
type: :runtime
|
|
167
147
|
prerelease: false
|
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
169
|
-
none: false
|
|
170
149
|
requirements:
|
|
171
|
-
- - ~>
|
|
150
|
+
- - "~>"
|
|
172
151
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: '
|
|
152
|
+
version: '0.0'
|
|
174
153
|
- !ruby/object:Gem::Dependency
|
|
175
|
-
name:
|
|
154
|
+
name: fun_with_testing
|
|
176
155
|
requirement: !ruby/object:Gem::Requirement
|
|
177
|
-
none: false
|
|
178
156
|
requirements:
|
|
179
|
-
- -
|
|
157
|
+
- - ">="
|
|
180
158
|
- !ruby/object:Gem::Version
|
|
181
|
-
version:
|
|
159
|
+
version: 0.0.2
|
|
160
|
+
- - "~>"
|
|
161
|
+
- !ruby/object:Gem::Version
|
|
162
|
+
version: '0.0'
|
|
182
163
|
type: :development
|
|
183
164
|
prerelease: false
|
|
184
165
|
version_requirements: !ruby/object:Gem::Requirement
|
|
185
|
-
none: false
|
|
186
166
|
requirements:
|
|
187
|
-
- -
|
|
167
|
+
- - ">="
|
|
188
168
|
- !ruby/object:Gem::Version
|
|
189
|
-
version:
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
169
|
+
version: 0.0.2
|
|
170
|
+
- - "~>"
|
|
171
|
+
- !ruby/object:Gem::Version
|
|
172
|
+
version: '0.0'
|
|
173
|
+
description: "= epubforge =\n\nWrite your book in markdown, then do all sorts of increasingly
|
|
174
|
+
nifty things with it using this command-line utility.\n\n== Project description
|
|
175
|
+
==\n\nepubforge is a command-line utility for creating, tracking and managing longer
|
|
176
|
+
(novella and book-length) writing projects. Write your text in markdown (http://whatismarkdown.com/),
|
|
177
|
+
use the built in actions to convert your project to various ebook formats, track
|
|
178
|
+
wordcount over the life of the project, manage a story bible, and back your project
|
|
179
|
+
up using git.\n\nOr go further and define your own formatters/converters and actions
|
|
180
|
+
in Ruby. Have fun!\n\n\n== Contributing to epubforge ==\n \n* Check out the latest
|
|
181
|
+
master to make sure the feature hasn't been implemented or the bug hasn't been fixed
|
|
182
|
+
yet.\n* Check out the issue tracker to make sure someone already hasn't requested
|
|
183
|
+
it and/or contributed it.\n* Fork the project.\n* Start a feature/bugfix branch.\n*
|
|
184
|
+
Commit and push until you are happy with your contribution.\n* Make sure to add
|
|
185
|
+
tests for it. This is important so I don't break it in a future version unintentionally.\n*
|
|
186
|
+
Please try not to mess with the Rakefile, version, or history. If you want to have
|
|
187
|
+
your own version, or is otherwise necessary, that is fine, but please isolate to
|
|
188
|
+
its own commit so I can cherry-pick around it.\n\n== Copyright ==\n\nCopyright (c)
|
|
189
|
+
2013 Bryce Anderson. See LICENSE.txt for\nfurther details.\n\n"
|
|
208
190
|
email: keeputahweird@gmail.com
|
|
209
191
|
executables:
|
|
210
192
|
- epubforge
|
|
@@ -213,92 +195,111 @@ extra_rdoc_files:
|
|
|
213
195
|
- LICENSE.txt
|
|
214
196
|
- README.rdoc
|
|
215
197
|
files:
|
|
216
|
-
- ./bin/epubforge
|
|
217
|
-
- ./config/actions/
|
|
218
|
-
- ./config/actions/
|
|
219
|
-
- ./config/actions/
|
|
220
|
-
- ./config/actions/
|
|
221
|
-
- ./config/actions/
|
|
222
|
-
- ./config/actions/
|
|
223
|
-
- ./config/actions/
|
|
224
|
-
- ./config/actions/
|
|
225
|
-
- ./config/
|
|
226
|
-
- ./config/
|
|
227
|
-
- ./config/
|
|
228
|
-
- ./config/
|
|
229
|
-
- ./config/
|
|
230
|
-
- ./config/
|
|
231
|
-
- ./config/
|
|
232
|
-
- ./config/
|
|
233
|
-
- ./config/
|
|
234
|
-
- ./config/
|
|
235
|
-
- ./
|
|
236
|
-
- ./
|
|
237
|
-
- ./
|
|
238
|
-
- ./
|
|
239
|
-
- ./
|
|
240
|
-
- ./
|
|
241
|
-
- ./
|
|
242
|
-
- ./
|
|
243
|
-
- ./
|
|
244
|
-
- ./
|
|
245
|
-
- ./
|
|
246
|
-
- ./
|
|
247
|
-
- ./
|
|
248
|
-
- ./
|
|
249
|
-
- ./lib/
|
|
250
|
-
- ./lib/
|
|
251
|
-
- ./lib/
|
|
252
|
-
- ./lib/
|
|
253
|
-
- ./lib/
|
|
254
|
-
- ./lib/
|
|
255
|
-
- ./lib/
|
|
256
|
-
- ./lib/
|
|
257
|
-
- ./lib/
|
|
258
|
-
- ./lib/
|
|
259
|
-
- ./lib/
|
|
260
|
-
- ./lib/epubforge.rb
|
|
261
|
-
- ./lib/
|
|
262
|
-
- ./lib/
|
|
263
|
-
- ./lib/
|
|
264
|
-
- ./lib/
|
|
265
|
-
- ./lib/
|
|
266
|
-
- ./lib/
|
|
267
|
-
- ./lib/
|
|
268
|
-
- ./lib/
|
|
269
|
-
- ./lib/
|
|
270
|
-
- ./lib/
|
|
271
|
-
- ./lib/
|
|
272
|
-
- ./lib/
|
|
273
|
-
- ./lib/
|
|
274
|
-
- ./lib/
|
|
275
|
-
- ./lib/
|
|
276
|
-
- ./
|
|
277
|
-
- ./
|
|
278
|
-
- ./
|
|
279
|
-
- ./
|
|
280
|
-
- ./
|
|
281
|
-
- ./
|
|
282
|
-
- ./
|
|
283
|
-
- ./
|
|
284
|
-
- ./
|
|
285
|
-
- ./
|
|
286
|
-
- ./
|
|
287
|
-
- ./
|
|
288
|
-
- ./
|
|
289
|
-
- ./
|
|
290
|
-
- ./
|
|
291
|
-
- ./
|
|
292
|
-
- ./
|
|
293
|
-
- ./
|
|
294
|
-
- ./
|
|
295
|
-
- ./
|
|
296
|
-
- ./
|
|
297
|
-
- ./
|
|
298
|
-
- ./
|
|
299
|
-
- ./
|
|
300
|
-
- ./
|
|
301
|
-
- ./
|
|
198
|
+
- "./bin/epubforge"
|
|
199
|
+
- "./config/actions/epub.rb"
|
|
200
|
+
- "./config/actions/forge.rb"
|
|
201
|
+
- "./config/actions/git.rb"
|
|
202
|
+
- "./config/actions/help.rb"
|
|
203
|
+
- "./config/actions/html.rb"
|
|
204
|
+
- "./config/actions/mobi.rb"
|
|
205
|
+
- "./config/actions/new.rb"
|
|
206
|
+
- "./config/actions/word_count.rb"
|
|
207
|
+
- "./config/actions_to_ignore/generate.rb"
|
|
208
|
+
- "./config/actions_to_ignore/generate_chapter.rb"
|
|
209
|
+
- "./config/actions_to_ignore/git_backup.rb"
|
|
210
|
+
- "./config/actions_to_ignore/globals.rb"
|
|
211
|
+
- "./config/actions_to_ignore/kindle.rb"
|
|
212
|
+
- "./config/actions_to_ignore/local_action.rb"
|
|
213
|
+
- "./config/actions_to_ignore/mobify.rb"
|
|
214
|
+
- "./config/actions_to_ignore/notes_to_epub.rb"
|
|
215
|
+
- "./config/actions_to_ignore/notes_to_kindle.rb"
|
|
216
|
+
- "./config/actions_to_ignore/spell.rb"
|
|
217
|
+
- "./config/actions_to_ignore/version.rb"
|
|
218
|
+
- "./config/actions_to_ignore/wrap_scene_notes_in_hidden_div.rb"
|
|
219
|
+
- "./config/converters/epub_to_mobi.calibre.rb"
|
|
220
|
+
- "./config/converters/epub_to_mobi.kindlegen.rb"
|
|
221
|
+
- "./config/html_translators/default_kramdown.html_translator.rb"
|
|
222
|
+
- "./config/html_translators/default_markdown.html_translator.rb"
|
|
223
|
+
- "./config/html_translators/default_markdown_pandoc.html_translator.rb"
|
|
224
|
+
- "./config/html_translators/default_textile_pandoc.html_translator.rb"
|
|
225
|
+
- "./config/html_translators/default_xhtml.html_translator.rb"
|
|
226
|
+
- "./config/html_translators/fallback_html.html_translator.rb"
|
|
227
|
+
- "./config/html_translators/fallback_markdown.html_translator.rb"
|
|
228
|
+
- "./config/html_translators/fallback_textile.html_translator.rb"
|
|
229
|
+
- "./config/html_translators/fallback_txt.html_translator.rb"
|
|
230
|
+
- "./config/html_translators/fallback_unknown.html_translator.rb"
|
|
231
|
+
- "./lib/epubforge.rb"
|
|
232
|
+
- "./lib/epubforge/action/action.rb"
|
|
233
|
+
- "./lib/epubforge/action/action2.rb"
|
|
234
|
+
- "./lib/epubforge/action/action_definition.rb"
|
|
235
|
+
- "./lib/epubforge/action/actions_lookup.rb"
|
|
236
|
+
- "./lib/epubforge/action/chatterbox.rb"
|
|
237
|
+
- "./lib/epubforge/action/cli_command.rb"
|
|
238
|
+
- "./lib/epubforge/action/cli_sequence.rb"
|
|
239
|
+
- "./lib/epubforge/action/file_transformer.rb"
|
|
240
|
+
- "./lib/epubforge/action/hooks_interface.rb"
|
|
241
|
+
- "./lib/epubforge/action/run_description.rb"
|
|
242
|
+
- "./lib/epubforge/action/runner.rb"
|
|
243
|
+
- "./lib/epubforge/builder/assets/asset.rb"
|
|
244
|
+
- "./lib/epubforge/builder/assets/font.rb"
|
|
245
|
+
- "./lib/epubforge/builder/assets/html.rb"
|
|
246
|
+
- "./lib/epubforge/builder/assets/image.rb"
|
|
247
|
+
- "./lib/epubforge/builder/assets/markdown.rb"
|
|
248
|
+
- "./lib/epubforge/builder/assets/page.rb"
|
|
249
|
+
- "./lib/epubforge/builder/assets/stylesheet.rb"
|
|
250
|
+
- "./lib/epubforge/builder/assets/textile.rb"
|
|
251
|
+
- "./lib/epubforge/builder/assets/xhtml.rb"
|
|
252
|
+
- "./lib/epubforge/builder/builder.rb"
|
|
253
|
+
- "./lib/epubforge/builder/epub.rb"
|
|
254
|
+
- "./lib/epubforge/builder/html.rb"
|
|
255
|
+
- "./lib/epubforge/builder/packager.rb"
|
|
256
|
+
- "./lib/epubforge/core_extensions/array.rb"
|
|
257
|
+
- "./lib/epubforge/core_extensions/kernel.rb"
|
|
258
|
+
- "./lib/epubforge/core_extensions/nil_class.rb"
|
|
259
|
+
- "./lib/epubforge/core_extensions/object.rb"
|
|
260
|
+
- "./lib/epubforge/core_extensions/string.rb"
|
|
261
|
+
- "./lib/epubforge/custom_helpers.rb"
|
|
262
|
+
- "./lib/epubforge/exceptions/errors.rb"
|
|
263
|
+
- "./lib/epubforge/project/project.rb"
|
|
264
|
+
- "./lib/epubforge/utils/action_loader.rb"
|
|
265
|
+
- "./lib/epubforge/utils/class_loader.rb"
|
|
266
|
+
- "./lib/epubforge/utils/converter.rb"
|
|
267
|
+
- "./lib/epubforge/utils/downloader.rb"
|
|
268
|
+
- "./lib/epubforge/utils/file_orderer.rb"
|
|
269
|
+
- "./lib/epubforge/utils/file_path.rb"
|
|
270
|
+
- "./lib/epubforge/utils/html_translator.rb"
|
|
271
|
+
- "./lib/epubforge/utils/html_translator_queue.rb"
|
|
272
|
+
- "./lib/epubforge/utils/htmlizer.rb"
|
|
273
|
+
- "./lib/epubforge/utils/misc.rb"
|
|
274
|
+
- "./lib/epubforge/utils/root_path.rb"
|
|
275
|
+
- "./lib/epubforge/utils/settings.rb"
|
|
276
|
+
- "./lib/epubforge/utils/template_evaluator.rb"
|
|
277
|
+
- "./templates/project/book/afterword.markdown"
|
|
278
|
+
- "./templates/project/book/chapter-%0000chapter%.markdown.template"
|
|
279
|
+
- "./templates/project/book/cover.xhtml.template"
|
|
280
|
+
- "./templates/project/book/foreword.markdown"
|
|
281
|
+
- "./templates/project/book/images/cover.png"
|
|
282
|
+
- "./templates/project/book/stylesheets/stylesheet.css"
|
|
283
|
+
- "./templates/project/book/title_page.markdown.template"
|
|
284
|
+
- "./templates/project/notes/character.%character.name_for_file%.markdown.template"
|
|
285
|
+
- "./templates/project/notes/images/cover.png"
|
|
286
|
+
- "./templates/project/notes/stylesheets/stylesheet.css"
|
|
287
|
+
- "./templates/project/settings/actions/local_action.rb.example"
|
|
288
|
+
- "./templates/project/settings/config.rb.template"
|
|
289
|
+
- "./templates/project/settings/html_translators/example_translator.rb"
|
|
290
|
+
- "./templates/project/settings/wordcount.template"
|
|
291
|
+
- "./test/answers01.yml"
|
|
292
|
+
- "./test/helper.rb"
|
|
293
|
+
- "./test/misc/config.rb"
|
|
294
|
+
- "./test/sample_text/sample.markdown"
|
|
295
|
+
- "./test/sample_text/sample.textile"
|
|
296
|
+
- "./test/test_custom_helpers.rb"
|
|
297
|
+
- "./test/test_epf_root.rb"
|
|
298
|
+
- "./test/test_epubforge.rb"
|
|
299
|
+
- "./test/test_html_translators.rb"
|
|
300
|
+
- "./test/test_runner.rb"
|
|
301
|
+
- "./test/test_template_evaluator.rb"
|
|
302
|
+
- "./test/test_utils.rb"
|
|
302
303
|
- Gemfile
|
|
303
304
|
- LICENSE.txt
|
|
304
305
|
- README.rdoc
|
|
@@ -308,30 +309,26 @@ files:
|
|
|
308
309
|
homepage: http://github.com/darth_schmoo/epubforge
|
|
309
310
|
licenses:
|
|
310
311
|
- MIT
|
|
312
|
+
metadata: {}
|
|
311
313
|
post_install_message:
|
|
312
314
|
rdoc_options: []
|
|
313
315
|
require_paths:
|
|
314
316
|
- lib
|
|
315
317
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
316
|
-
none: false
|
|
317
318
|
requirements:
|
|
318
|
-
- -
|
|
319
|
+
- - ">="
|
|
319
320
|
- !ruby/object:Gem::Version
|
|
320
321
|
version: '0'
|
|
321
|
-
segments:
|
|
322
|
-
- 0
|
|
323
|
-
hash: -427571737354431550
|
|
324
322
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
325
|
-
none: false
|
|
326
323
|
requirements:
|
|
327
|
-
- -
|
|
324
|
+
- - ">="
|
|
328
325
|
- !ruby/object:Gem::Version
|
|
329
326
|
version: '0'
|
|
330
327
|
requirements: []
|
|
331
328
|
rubyforge_project:
|
|
332
|
-
rubygems_version:
|
|
329
|
+
rubygems_version: 2.2.2
|
|
333
330
|
signing_key:
|
|
334
|
-
specification_version:
|
|
331
|
+
specification_version: 4
|
|
335
332
|
summary: Write your book in markdown, then do all sorts of increasingly nifty things
|
|
336
333
|
with it.
|
|
337
334
|
test_files: []
|