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.
Files changed (135) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +17 -10
  3. data/VERSION +1 -1
  4. data/bin/epubforge +1 -1
  5. data/config/actions/epub.rb +50 -0
  6. data/config/actions/forge.rb +34 -13
  7. data/config/actions/git.rb +106 -0
  8. data/config/actions/help.rb +13 -13
  9. data/config/actions/html.rb +33 -0
  10. data/config/actions/mobi.rb +60 -0
  11. data/config/actions/new.rb +182 -0
  12. data/config/actions/word_count.rb +26 -24
  13. data/config/{actions → actions_to_ignore}/generate.rb +1 -1
  14. data/config/{actions → actions_to_ignore}/generate_chapter.rb +0 -0
  15. data/config/{actions → actions_to_ignore}/git_backup.rb +2 -2
  16. data/config/{actions → actions_to_ignore}/globals.rb +1 -1
  17. data/config/{actions → actions_to_ignore}/kindle.rb +3 -3
  18. data/config/{actions → actions_to_ignore}/local_action.rb +1 -1
  19. data/config/{actions → actions_to_ignore}/mobify.rb +3 -3
  20. data/config/actions_to_ignore/notes_to_epub.rb +19 -0
  21. data/config/actions_to_ignore/notes_to_kindle.rb +18 -0
  22. data/config/{actions → actions_to_ignore}/spell.rb +1 -1
  23. data/config/{actions → actions_to_ignore}/version.rb +3 -3
  24. data/config/{actions → actions_to_ignore}/wrap_scene_notes_in_hidden_div.rb +1 -1
  25. data/config/converters/epub_to_mobi.calibre.rb +8 -0
  26. data/config/converters/epub_to_mobi.kindlegen.rb +11 -0
  27. data/config/html_translators/default_kramdown.html_translator.rb +9 -0
  28. data/config/html_translators/default_markdown.html_translator.rb +10 -0
  29. data/config/html_translators/default_markdown_pandoc.html_translator.rb +10 -0
  30. data/config/html_translators/default_textile_pandoc.html_translator.rb +8 -0
  31. data/config/html_translators/default_xhtml.html_translator.rb +7 -0
  32. data/config/html_translators/fallback_html.html_translator.rb +9 -0
  33. data/config/html_translators/fallback_markdown.html_translator.rb +8 -0
  34. data/config/html_translators/fallback_textile.html_translator.rb +7 -0
  35. data/config/html_translators/fallback_txt.html_translator.rb +8 -0
  36. data/config/html_translators/fallback_unknown.html_translator.rb +7 -0
  37. data/lib/epubforge.rb +37 -82
  38. data/lib/{action/thor_action.rb → epubforge/action/action.rb} +89 -69
  39. data/lib/epubforge/action/action2.rb +109 -0
  40. data/lib/epubforge/action/action_definition.rb +62 -0
  41. data/lib/epubforge/action/actions_lookup.rb +45 -0
  42. data/lib/epubforge/action/chatterbox.rb +93 -0
  43. data/lib/{action → epubforge/action}/cli_command.rb +2 -2
  44. data/lib/{action → epubforge/action}/cli_sequence.rb +0 -0
  45. data/lib/{action → epubforge/action}/file_transformer.rb +0 -0
  46. data/lib/{action → epubforge/action}/hooks_interface.rb +2 -2
  47. data/lib/{action → epubforge/action}/run_description.rb +12 -9
  48. data/lib/{action → epubforge/action}/runner.rb +23 -24
  49. data/lib/{epub → epubforge/builder}/assets/asset.rb +1 -1
  50. data/lib/{epub → epubforge/builder}/assets/font.rb +1 -1
  51. data/lib/epubforge/builder/assets/html.rb +9 -0
  52. data/lib/{epub → epubforge/builder}/assets/image.rb +1 -1
  53. data/lib/epubforge/builder/assets/markdown.rb +9 -0
  54. data/lib/{epub → epubforge/builder}/assets/page.rb +12 -4
  55. data/lib/{epub → epubforge/builder}/assets/stylesheet.rb +1 -1
  56. data/lib/epubforge/builder/assets/textile.rb +9 -0
  57. data/lib/epubforge/builder/assets/xhtml.rb +9 -0
  58. data/lib/epubforge/builder/builder.rb +134 -0
  59. data/lib/{epub/builder.rb → epubforge/builder/epub.rb} +58 -161
  60. data/lib/epubforge/builder/html.rb +22 -0
  61. data/lib/epubforge/builder/packager.rb +16 -0
  62. data/lib/epubforge/core_extensions/array.rb +2 -0
  63. data/lib/{core_extensions → epubforge/core_extensions}/kernel.rb +0 -0
  64. data/lib/epubforge/core_extensions/nil_class.rb +2 -0
  65. data/lib/epubforge/core_extensions/object.rb +24 -0
  66. data/lib/{core_extensions → epubforge/core_extensions}/string.rb +1 -5
  67. data/lib/{custom_helpers.rb → epubforge/custom_helpers.rb} +0 -1
  68. data/lib/{errors.rb → epubforge/exceptions/errors.rb} +0 -0
  69. data/lib/{project → epubforge/project}/project.rb +23 -17
  70. data/lib/epubforge/utils/action_loader.rb +8 -0
  71. data/lib/epubforge/utils/class_loader.rb +102 -0
  72. data/lib/epubforge/utils/converter.rb +94 -0
  73. data/lib/{utils → epubforge/utils}/downloader.rb +0 -0
  74. data/lib/{utils → epubforge/utils}/file_orderer.rb +0 -0
  75. data/lib/epubforge/utils/file_path.rb +8 -0
  76. data/lib/epubforge/utils/html_translator.rb +126 -0
  77. data/lib/epubforge/utils/html_translator_queue.rb +113 -0
  78. data/lib/epubforge/utils/htmlizer.rb +61 -0
  79. data/lib/{utils → epubforge/utils}/misc.rb +0 -0
  80. data/lib/epubforge/utils/root_path.rb +8 -0
  81. data/lib/epubforge/utils/settings.rb +147 -0
  82. data/lib/epubforge/utils/template_evaluator.rb +7 -0
  83. data/templates/{default/book/afterword.markdown.template → project/book/afterword.markdown} +0 -0
  84. data/templates/project/book/chapter-%0000chapter%.markdown.template +4 -0
  85. data/templates/{default → project}/book/cover.xhtml.template +2 -2
  86. data/templates/{default/book/foreword.markdown.template → project/book/foreword.markdown} +0 -0
  87. data/templates/{default → project}/book/images/cover.png +0 -0
  88. data/templates/{default/book/stylesheets/stylesheet.css.template → project/book/stylesheets/stylesheet.css} +0 -0
  89. data/templates/project/book/title_page.markdown.template +5 -0
  90. data/templates/project/notes/character.%character.name_for_file%.markdown.template +15 -0
  91. data/templates/{default → project}/notes/images/cover.png +0 -0
  92. data/templates/{default/notes/stylesheets/stylesheet.css.template → project/notes/stylesheets/stylesheet.css} +0 -0
  93. data/templates/{default → project}/settings/actions/local_action.rb.example +1 -1
  94. data/templates/project/settings/config.rb.template +70 -0
  95. data/templates/project/settings/html_translators/example_translator.rb +29 -0
  96. data/templates/{default → project}/settings/wordcount.template +1 -1
  97. data/test/answers01.yml +30 -0
  98. data/test/helper.rb +62 -39
  99. data/test/misc/config.rb +5 -7
  100. data/test/test_epubforge.rb +18 -14
  101. data/test/{test_htmlizers.rb → test_html_translators.rb} +4 -8
  102. data/test/test_template_evaluator.rb +42 -0
  103. data/test/test_utils.rb +0 -11
  104. metadata +186 -189
  105. data/config/actions/gitify.rb +0 -72
  106. data/config/actions/init.rb +0 -138
  107. data/config/actions/notes_to_epub.rb +0 -18
  108. data/config/actions/notes_to_kindle.rb +0 -17
  109. data/config/htmlizers.rb +0 -70
  110. data/lib/action/actions_lookup.rb +0 -45
  111. data/lib/core_extensions/array.rb +0 -5
  112. data/lib/core_extensions/nil_class.rb +0 -5
  113. data/lib/core_extensions/object.rb +0 -5
  114. data/lib/epub/assets/html.rb +0 -8
  115. data/lib/epub/assets/markdown.rb +0 -8
  116. data/lib/epub/assets/textile.rb +0 -8
  117. data/lib/epub/assets/xhtml.rb +0 -8
  118. data/lib/epub/packager.rb +0 -16
  119. data/lib/utils/action_loader.rb +0 -7
  120. data/lib/utils/class_loader.rb +0 -102
  121. data/lib/utils/directory_builder.rb +0 -181
  122. data/lib/utils/file_path.rb +0 -152
  123. data/lib/utils/html_translator.rb +0 -100
  124. data/lib/utils/html_translator_queue.rb +0 -70
  125. data/lib/utils/htmlizer.rb +0 -92
  126. data/lib/utils/root_path.rb +0 -20
  127. data/lib/utils/settings.rb +0 -146
  128. data/lib/utils/template_evaluator.rb +0 -20
  129. data/templates/default/book/chapter-%i%.markdown.sequence +0 -4
  130. data/templates/default/book/title_page.markdown.template +0 -4
  131. data/templates/default/notes/character.named.markdown.template +0 -4
  132. data/templates/default/payload.rb +0 -65
  133. data/templates/default/settings/config.rb.form +0 -55
  134. data/templates/default/settings/htmlizers.rb +0 -0
  135. data/test/test_directory_builder.rb +0 -141
File without changes
@@ -1,141 +0,0 @@
1
- require 'helper'
2
-
3
- DirBuilder = EpubForge::Utils::DirectoryBuilder
4
-
5
- class TestDirectoryBuilder < EpubForge::TestCase
6
- context "tearing my hair out because shoulda seems borked" do
7
- should "stop blaming shoulda for my problems" do
8
- assert true
9
- end
10
-
11
- should "realize that assert statements need to be inside should blocks" do
12
- assert "Okay, okay. I get it. Now lay off me."
13
- end
14
-
15
- should "figure out why the hell [].is_a?(Array) returns false" do
16
- assert_kind_of Array, []
17
- assert [].is_a?(Array)
18
- # seems fine here.
19
- # subclassing Array for use in the EpubForge module seems
20
- # to be the culprit. Guess I'm not doing that.
21
- end
22
- end
23
-
24
- context "In a temporary directory" do
25
- should "create a temporary directory" do
26
- DirBuilder.tmpdir do |b|
27
- assert_equal DirBuilder, b.class #
28
- assert b.current_path.exist?
29
- end
30
- end
31
-
32
- should "write data to a new file" do
33
- DirBuilder.tmpdir do |b|
34
- assert_equal DirBuilder, b.class # Okay, WTF does this test fail?
35
- assert b.current_path
36
- assert b.current_path.exist?
37
- b.file("widdershins.txt") do |f|
38
- f << "Hello World"
39
- f.flush
40
-
41
- assert b.current_file.exist?
42
- assert_equal 11, b.current_file.size
43
- end
44
- end
45
- end
46
-
47
- should "copy files from elsewhere into the directory" do
48
- DirBuilder.tmpdir do |b|
49
- assert_equal DirBuilder, b.class
50
- src = EpubForge.root.join("Gemfile")
51
- assert src.exist?
52
-
53
- b.copy( EpubForge.root.join("Gemfile") )
54
-
55
- gemfile = b.current_path.join("Gemfile")
56
- assert gemfile.exist?
57
- assert !gemfile.zero?
58
- assert_equal 1, gemfile.grep( /jeweler/ ).length
59
- end
60
- end
61
-
62
- should "copy files from elsewhere, renaming the file in the destination" do
63
- DirBuilder.tmpdir do |b|
64
- assert_equal DirBuilder, b.class
65
- assert !b.current_path.join("helpers.rb").exist?
66
- b.copy( EpubForge.root.join("lib", "custom_helpers.rb"), "helpers.rb" )
67
- assert b.current_path.join("helpers.rb").exist?
68
- end
69
- end
70
-
71
- should "download random crap from all over the Internet" do
72
- DirBuilder.tmpdir do |b|
73
- gist_url = "http://bannedsorcery.com/downloads/testfile.txt"
74
- gist_text = "This is a file\n==============\n\n**silent**: But _bold_! [Link](http://slashdot.org)\n"
75
- b.download( gist_url, "gist.txt" )
76
-
77
- b.file( "gist.txt.2" ) do
78
- b.download( gist_url )
79
- end
80
-
81
- assert b.current_file.nil?
82
- assert b.current_path.join("gist.txt").exist?
83
- assert b.current_path.join("gist.txt.2").exist?
84
- assert_equal gist_text, b.current_path.join("gist.txt").read
85
- end
86
- end
87
-
88
- should "exercise all manner of features to create a complex directory" do
89
- DirBuilder.tmpdir do |b|
90
- assert_equal DirBuilder, b.class
91
- root = EpubForge.root
92
- gemfile = root.join("Gemfile")
93
- b.copy( gemfile )
94
- assert gemfile.exist?
95
- assert_equal gemfile.size, b.current_path.join("Gemfile").size
96
-
97
- b.dir( "earth" ) do
98
- b.dir( "air") do
99
- b.dir( "fire" ) do
100
- b.dir( "water" ) do
101
- b.file( "hello.txt" )
102
- b.file << "H"
103
- b.file << "e"
104
- b.file << "l"
105
- b.file << "l"
106
- b.file << "o"
107
- end
108
-
109
- assert b.current_file.nil?
110
- end
111
- end
112
- end
113
-
114
- assert "Hello", b.current_path.join("earth", "air", "fire", "water", "hello.txt").read
115
-
116
- b.dir( "fire", "water", "earth", "air" ) do
117
- assert b.current_path.exist?
118
- b.copy( EpubForge.root.join("Gemfile"), "Gemfile.example" )
119
- b.copy( EpubForge.root.join("Gemfile.lock"), "Gemfile.lock.example" )
120
- b.copy( EpubForge.root.join("Rakefile"), "Rakefile" )
121
-
122
- for file in %W(Gemfile.example Gemfile.lock.example Rakefile)
123
- assert b.current_path.join(file).exist?, "#{file} should exist"
124
- end
125
- end
126
-
127
- directory = ["air", "earth", "water", "fire"]
128
- b.dir( *directory ) do
129
- b.file( "slipstream.txt", "file contents" )
130
- end
131
-
132
- assert b.current_path.join(*directory).exist?
133
- slip = b.current_path.join(*directory).join("slipstream.txt")
134
- assert slip.exist?
135
- assert_equal false, slip.empty?
136
- assert_equal "file contents", b.current_path.join(*directory).join( "slipstream.txt" ).read
137
-
138
- end
139
- end
140
- end
141
- end