middleman-presentation-core 0.16.0.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (223) hide show
  1. checksums.yaml +7 -0
  2. data/.rdebugrc +7 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +52 -0
  5. data/.simplecov +25 -0
  6. data/.yardopts +5 -0
  7. data/Guardfile +13 -0
  8. data/LICENSE.software +21 -0
  9. data/Rakefile +200 -0
  10. data/config/license_finder.yml +13 -0
  11. data/cucumber.yml +2 -0
  12. data/doc/licenses/dependencies.csv +55 -0
  13. data/doc/licenses/dependencies.db +0 -0
  14. data/doc/licenses/dependencies.html +1415 -0
  15. data/doc/licenses/dependencies.md +603 -0
  16. data/doc/licenses/dependencies_detailed.csv +190 -0
  17. data/doc/yard/.keep +0 -0
  18. data/features/build_presentation.feature +62 -0
  19. data/features/code_highlighting.feature +43 -0
  20. data/features/components.feature +29 -0
  21. data/features/create_plugin-cli.feature +11 -0
  22. data/features/create_presentation-cli.feature +349 -0
  23. data/features/create_slide-cli.feature +188 -0
  24. data/features/create_slides-templates-cli.feature +114 -0
  25. data/features/create_theme-cli.feature +58 -0
  26. data/features/default_slides.feature +58 -0
  27. data/features/edit_slide-cli.feature +121 -0
  28. data/features/export_presentation-cli.feature +23 -0
  29. data/features/grouping_slides.feature +150 -0
  30. data/features/ignore_slides.feature +103 -0
  31. data/features/init_application-cli.feature +59 -0
  32. data/features/init_predefined_slides.feature +9 -0
  33. data/features/language_detection.feature +0 -0
  34. data/features/list_assets-cli.feature +13 -0
  35. data/features/list_components-cli.feature +13 -0
  36. data/features/list_helpers-cli.feature +13 -0
  37. data/features/list_plugins-cli.feature +13 -0
  38. data/features/list_styles-cli.feature +17 -0
  39. data/features/plugins.feature +63 -0
  40. data/features/presentation.feature +57 -0
  41. data/features/rename_slide-cli.feature +176 -0
  42. data/features/render_slides.feature +76 -0
  43. data/features/show_config-cli.feature +25 -0
  44. data/features/show_footer.feature +14 -0
  45. data/features/show_slide_number.feature +31 -0
  46. data/features/show_support_information-cli.feature +12 -0
  47. data/features/support/aruba.rb +18 -0
  48. data/features/support/ci.rb +3 -0
  49. data/features/support/env.rb +25 -0
  50. data/features/support/fixtures.rb +21 -0
  51. data/features/support/hash.rb +2 -0
  52. data/features/support/reporting.rb +2 -0
  53. data/features/version_number.feature +15 -0
  54. data/fixtures/middleman-presentation-simple_plugin/Rakefile +1 -0
  55. data/fixtures/middleman-presentation-simple_plugin/lib/middleman-presentation-plugin.rb +0 -0
  56. data/fixtures/middleman-presentation-simple_plugin/lib/middleman-presentation-simple_plugin/helpers.rb +13 -0
  57. data/fixtures/middleman-presentation-simple_plugin/lib/middleman-presentation-simple_plugin/plugin.rb +34 -0
  58. data/fixtures/middleman-presentation-simple_plugin/lib/middleman-presentation-simple_plugin/version.rb +8 -0
  59. data/fixtures/middleman-presentation-simple_plugin/lib/middleman-presentation-simple_plugin.rb +11 -0
  60. data/fixtures/middleman-presentation-simple_plugin/middleman-presentation-simple_plugin.gemspec +22 -0
  61. data/fixtures/middleman-presentation-simple_plugin/vendor/assets/stylesheets/test_simple.scss +3 -0
  62. data/lib/middleman-presentation-core/application_config.rb +198 -0
  63. data/lib/middleman-presentation-core/asset.rb +103 -0
  64. data/lib/middleman-presentation-core/asset_component.rb +34 -0
  65. data/lib/middleman-presentation-core/asset_list.rb +84 -0
  66. data/lib/middleman-presentation-core/asset_store.rb +73 -0
  67. data/lib/middleman-presentation-core/assets_loader.rb +95 -0
  68. data/lib/middleman-presentation-core/assets_manager.rb +73 -0
  69. data/lib/middleman-presentation-core/cache.rb +49 -0
  70. data/lib/middleman-presentation-core/cli/base.rb +30 -0
  71. data/lib/middleman-presentation-core/cli/base_group.rb +11 -0
  72. data/lib/middleman-presentation-core/cli/build.rb +13 -0
  73. data/lib/middleman-presentation-core/cli/build_presentation.rb +57 -0
  74. data/lib/middleman-presentation-core/cli/change.rb +13 -0
  75. data/lib/middleman-presentation-core/cli/change_slide.rb +82 -0
  76. data/lib/middleman-presentation-core/cli/create.rb +16 -0
  77. data/lib/middleman-presentation-core/cli/create_plugin.rb +62 -0
  78. data/lib/middleman-presentation-core/cli/create_presentation.rb +300 -0
  79. data/lib/middleman-presentation-core/cli/create_slide.rb +52 -0
  80. data/lib/middleman-presentation-core/cli/create_theme.rb +81 -0
  81. data/lib/middleman-presentation-core/cli/edit.rb +13 -0
  82. data/lib/middleman-presentation-core/cli/edit_slide.rb +49 -0
  83. data/lib/middleman-presentation-core/cli/export.rb +11 -0
  84. data/lib/middleman-presentation-core/cli/export_presentation.rb +55 -0
  85. data/lib/middleman-presentation-core/cli/init.rb +12 -0
  86. data/lib/middleman-presentation-core/cli/init_application.rb +48 -0
  87. data/lib/middleman-presentation-core/cli/init_predefined_slides.rb +31 -0
  88. data/lib/middleman-presentation-core/cli/list.rb +66 -0
  89. data/lib/middleman-presentation-core/cli/reset_thor.rb +18 -0
  90. data/lib/middleman-presentation-core/cli/runner.rb +47 -0
  91. data/lib/middleman-presentation-core/cli/serve.rb +13 -0
  92. data/lib/middleman-presentation-core/cli/serve_presentation.rb +30 -0
  93. data/lib/middleman-presentation-core/cli/shared.rb +51 -0
  94. data/lib/middleman-presentation-core/cli/show.rb +70 -0
  95. data/lib/middleman-presentation-core/comparable_slide.rb +69 -0
  96. data/lib/middleman-presentation-core/component.rb +86 -0
  97. data/lib/middleman-presentation-core/components_manager.rb +96 -0
  98. data/lib/middleman-presentation-core/configuration_file.rb +15 -0
  99. data/lib/middleman-presentation-core/css_class_extracter.rb +41 -0
  100. data/lib/middleman-presentation-core/custom_template.rb +15 -0
  101. data/lib/middleman-presentation-core/erb_template.rb +15 -0
  102. data/lib/middleman-presentation-core/errors.rb +10 -0
  103. data/lib/middleman-presentation-core/existing_slide.rb +92 -0
  104. data/lib/middleman-presentation-core/frontend_component.rb +75 -0
  105. data/lib/middleman-presentation-core/group_template.rb +15 -0
  106. data/lib/middleman-presentation-core/helpers_manager.rb +37 -0
  107. data/lib/middleman-presentation-core/ignore_file.rb +52 -0
  108. data/lib/middleman-presentation-core/liquid_template.rb +15 -0
  109. data/lib/middleman-presentation-core/list.rb +7 -0
  110. data/lib/middleman-presentation-core/locale_configurator.rb +84 -0
  111. data/lib/middleman-presentation-core/logger.rb +8 -0
  112. data/lib/middleman-presentation-core/main.rb +55 -0
  113. data/lib/middleman-presentation-core/markdown_template.rb +15 -0
  114. data/lib/middleman-presentation-core/middleman_environment.rb +108 -0
  115. data/lib/middleman-presentation-core/middleman_extension.rb +12 -0
  116. data/lib/middleman-presentation-core/middleman_step_definitions.rb +131 -0
  117. data/lib/middleman-presentation-core/new_slide.rb +140 -0
  118. data/lib/middleman-presentation-core/overwrite_sass.rb +22 -0
  119. data/lib/middleman-presentation-core/plugin.rb +8 -0
  120. data/lib/middleman-presentation-core/plugin_api.rb +65 -0
  121. data/lib/middleman-presentation-core/plugins_manager.rb +7 -0
  122. data/lib/middleman-presentation-core/predefined_slide_templates_directory.rb +15 -0
  123. data/lib/middleman-presentation-core/presentation_helper.rb +69 -0
  124. data/lib/middleman-presentation-core/register_extension.rb +4 -0
  125. data/lib/middleman-presentation-core/roles/comparable_by_name.rb +24 -0
  126. data/lib/middleman-presentation-core/slide_group.rb +33 -0
  127. data/lib/middleman-presentation-core/slide_list.rb +52 -0
  128. data/lib/middleman-presentation-core/slide_name.rb +61 -0
  129. data/lib/middleman-presentation-core/start.rb +68 -0
  130. data/lib/middleman-presentation-core/step_definitions.rb +238 -0
  131. data/lib/middleman-presentation-core/syntax_highlighter.rb +42 -0
  132. data/lib/middleman-presentation-core/test_helpers.rb +22 -0
  133. data/lib/middleman-presentation-core/transformers/file_keeper.rb +13 -0
  134. data/lib/middleman-presentation-core/transformers/group_slides.rb +34 -0
  135. data/lib/middleman-presentation-core/transformers/ignore_slides.rb +28 -0
  136. data/lib/middleman-presentation-core/transformers/remove_duplicate_slides.rb +32 -0
  137. data/lib/middleman-presentation-core/transformers/sort_slides.rb +13 -0
  138. data/lib/middleman-presentation-core/utils.rb +40 -0
  139. data/lib/middleman-presentation-core/version.rb +8 -0
  140. data/lib/middleman-presentation-core.rb +127 -0
  141. data/locales/de.yml +233 -0
  142. data/locales/en.yml +236 -0
  143. data/middleman-presentation-core.gemspec +40 -0
  144. data/source/slides/01.html.liquid +0 -0
  145. data/spec/asset_component_spec.rb +13 -0
  146. data/spec/asset_list_spec.rb +50 -0
  147. data/spec/asset_spec.rb +45 -0
  148. data/spec/asset_store_spec.rb +61 -0
  149. data/spec/assets_manager_spec.rb +111 -0
  150. data/spec/components_manager_spec.rb +142 -0
  151. data/spec/css_class_extracter_spec.rb +28 -0
  152. data/spec/existing_slide_spec.rb +177 -0
  153. data/spec/frontend_component_spec.rb +94 -0
  154. data/spec/helpers_manager_spec.rb +90 -0
  155. data/spec/ignore_file_spec.rb +75 -0
  156. data/spec/new_slide_spec.rb +155 -0
  157. data/spec/presentation_helper_spec.rb +137 -0
  158. data/spec/shared_examples/.keep +0 -0
  159. data/spec/slide_group_spec.rb +54 -0
  160. data/spec/slide_list_spec.rb +125 -0
  161. data/spec/slide_name_spec.rb +53 -0
  162. data/spec/spec_helper.rb +19 -0
  163. data/spec/support/aruba.rb +53 -0
  164. data/spec/support/ci.rb +20 -0
  165. data/spec/support/environment.rb +18 -0
  166. data/spec/support/filesystem.rb +22 -0
  167. data/spec/support/locale.rb +2 -0
  168. data/spec/support/reporting.rb +2 -0
  169. data/spec/support/rspec.rb +9 -0
  170. data/spec/support/string.rb +2 -0
  171. data/spec/transformers/file_keeper_spec.rb +24 -0
  172. data/spec/transformers/group_slides_spec.rb +44 -0
  173. data/spec/transformers/ignore_slides_spec.rb +64 -0
  174. data/spec/transformers/remove_duplicate_slides_spec.rb +120 -0
  175. data/spec/transformers/sort_slides_spec.rb +17 -0
  176. data/spec/utils_spec.rb +14 -0
  177. data/templates/.bowerrc.tt +4 -0
  178. data/templates/.gitignore +5 -0
  179. data/templates/Gemfile.tt +32 -0
  180. data/templates/LICENSE.presentation +1 -0
  181. data/templates/Rakefile +59 -0
  182. data/templates/bower.json.tt +8 -0
  183. data/templates/bundler_config.tt +6 -0
  184. data/templates/config.rb.tt +2 -0
  185. data/templates/config.yaml.tt +17 -0
  186. data/templates/gitignore.tt +14 -0
  187. data/templates/plugin/%plugin_name%.gemspec.tt +24 -0
  188. data/templates/plugin/.gitignore +13 -0
  189. data/templates/plugin/Gemfile.tt +4 -0
  190. data/templates/plugin/LICENSE.txt.tt +22 -0
  191. data/templates/plugin/README.md.tt +31 -0
  192. data/templates/plugin/Rakefile +1 -0
  193. data/templates/plugin/lib/%plugin_name%/version.rb.tt +8 -0
  194. data/templates/plugin/lib/%plugin_name%.rb.tt +10 -0
  195. data/templates/predefined_slides.d/00_00.html.erb.tt +26 -0
  196. data/templates/predefined_slides.d/00_01.html.md.tt +6 -0
  197. data/templates/predefined_slides.d/999980.html.erb.tt +4 -0
  198. data/templates/predefined_slides.d/999981.html.erb.tt +27 -0
  199. data/templates/predefined_slides.d/999982.html.erb.tt +4 -0
  200. data/templates/presentation_theme/bower.json.tt +20 -0
  201. data/templates/presentation_theme/images/.keep +0 -0
  202. data/templates/presentation_theme/javascripts/%theme_name%.js.tt +0 -0
  203. data/templates/presentation_theme/stylesheets/%theme_name%.scss.tt +9 -0
  204. data/templates/presentation_theme/stylesheets/_fonts.scss.tt +0 -0
  205. data/templates/presentation_theme/stylesheets/_images.scss.tt +5 -0
  206. data/templates/presentation_theme/stylesheets/_theme.scss.tt +251 -0
  207. data/templates/rackup.config.erb +16 -0
  208. data/templates/script/bootstrap +5 -0
  209. data/templates/script/build +3 -0
  210. data/templates/script/export +3 -0
  211. data/templates/script/presentation +3 -0
  212. data/templates/script/slide +3 -0
  213. data/templates/script/start +43 -0
  214. data/templates/slides/custom.md.tt +3 -0
  215. data/templates/slides/erb.tt +5 -0
  216. data/templates/slides/group.tt +3 -0
  217. data/templates/slides/liquid.tt +5 -0
  218. data/templates/slides/markdown.tt +3 -0
  219. data/templates/source/index.html.erb +1 -0
  220. data/templates/source/javascripts/application.js.tt +3 -0
  221. data/templates/source/layout.erb +133 -0
  222. data/templates/source/stylesheets/application.scss.tt +3 -0
  223. metadata +574 -0
@@ -0,0 +1,190 @@
1
+ activesupport,4.1.4,MIT,A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.,"A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing."
2
+ addressable,2.3.6,Apache 2.0,URI Implementation,"Addressable is a replacement for the URI implementation that is part of
3
+ Ruby's standard library. It more closely conforms to the relevant RFCs and
4
+ adds support for IRIs and URI templates."
5
+ bundler,1.6.5,MIT,The best way to manage your application's dependencies,"Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably"
6
+ celluloid,0.15.2,MIT,Actor-based concurrent object framework for Ruby,Celluloid enables people to build concurrent programs out of concurrent objects just as easily as they build sequential programs out of sequential objects
7
+ chunky_png,1.3.1,MIT,"Pure ruby library for read/write, chunk-level access to PNG files","This pure Ruby library can read and write PNG images without depending on an external
8
+ image library, like RMagick. It tries to be memory efficient and reasonably fast.
9
+
10
+ It supports reading and writing all PNG variants that are defined in the specification,
11
+ with one limitation: only 8-bit color depth is supported. It supports all transparency,
12
+ interlacing and filtering options the PNG specifications allows. It can also read and
13
+ write textual metadata from PNG files. Low-level read/write access to PNG chunks is
14
+ also possible.
15
+
16
+ This library supports simple drawing on the image canvas and simple operations like
17
+ alpha composition and cropping. Finally, it can import from and export to RMagick for
18
+ interoperability.
19
+
20
+ Also, have a look at OilyPNG at http://github.com/wvanbergen/oily_png. OilyPNG is a
21
+ drop in mixin module that implements some of the ChunkyPNG algorithms in C, which
22
+ provides a massive speed boost to encoding and decoding."
23
+ coffee-script,2.3.0,MIT,Ruby CoffeeScript Compiler,Ruby CoffeeScript is a bridge to the JS CoffeeScript compiler.
24
+ coffee-script-source,1.7.1,MIT,The CoffeeScript Compiler,"CoffeeScript is a little language that compiles into JavaScript.
25
+ Underneath all of those embarrassing braces and semicolons,
26
+ JavaScript has always had a gorgeous object model at its heart.
27
+ CoffeeScript is an attempt to expose the good parts of JavaScript
28
+ in a simple way."
29
+ compass,0.12.7,MIT,A Real Stylesheet Framework,Compass is a Sass-based Stylesheet Framework that streamlines the creation and maintenance of CSS.
30
+ compass-import-once,1.0.4,MIT,Speed up your Sass compilation by making @import only import each file once.,Changes the behavior of Sass's @import directive to only import a file once.
31
+ em-websocket,0.5.1,MIT,EventMachine based WebSocket server,EventMachine based WebSocket server
32
+ erubis,2.7.0,MIT,a fast and extensible eRuby implementation which supports multi-language,"Erubis is an implementation of eRuby and has the following features:
33
+
34
+ * Very fast, almost three times faster than ERB and about 10% faster than eruby.
35
+ * Multi-language support (Ruby/PHP/C/Java/Scheme/Perl/Javascript)
36
+ * Auto escaping support
37
+ * Auto trimming spaces around '<% %>'
38
+ * Embedded pattern changeable (default '<% %>')
39
+ * Enable to handle Processing Instructions (PI) as embedded pattern (ex. '<?rb ... ?>')
40
+ * Context object available and easy to combine eRuby template with YAML datafile
41
+ * Print statement available
42
+ * Easy to extend and customize in subclass
43
+ * Ruby on Rails support"
44
+ eventmachine,1.0.3,ruby,Ruby/EventMachine library,"EventMachine implements a fast, single-threaded engine for arbitrary network
45
+ communications. It's extremely easy to use in Ruby. EventMachine wraps all
46
+ interactions with IP sockets, allowing programs to concentrate on the
47
+ implementation of network protocols. It can be used to create both network
48
+ servers and clients. To create a server or client, a Ruby program only needs
49
+ to specify the IP address and port, and provide a Module that implements the
50
+ communications protocol. Implementations of several standard network protocols
51
+ are provided with the package, primarily to serve as examples. The real goal
52
+ of EventMachine is to enable programs to easily interface with other programs
53
+ using TCP/IP, especially if custom protocols are required."
54
+ execjs,2.2.1,MIT,Run JavaScript code from Ruby,ExecJS lets you run JavaScript code from Ruby.
55
+ facter,2.1.0,Apache 2.0,"Facter, a system inventory tool",You can prove anything with facts!
56
+ fedux_org-stdlib,0.6.50,MIT,Collection of useful libraries. It maybe depend on external libraries.,""
57
+ ffi,1.9.3,BSD,Ruby FFI,Ruby FFI library
58
+ fssm,0.2.10,MIT,File System State Monitor,"The File System State Monitor keeps track of the state of any number of paths and will fire events when said state changes (create/update/delete). FSSM supports using FSEvents on MacOS, Inotify on GNU/Linux, and polling anywhere else."
59
+ haml,4.0.5,MIT,"An elegant, structured (X)HTML/XML templating engine.","Haml (HTML Abstraction Markup Language) is a layer on top of HTML or XML that's
60
+ designed to express the structure of documents in a non-repetitive, elegant, and
61
+ easy way by using indentation rather than closing tags and allowing Ruby to be
62
+ embedded with ease. It was originally envisioned as a plugin for Ruby on Rails,
63
+ but it can function as a stand-alone templating engine."
64
+ hike,1.2.3,MIT,Find files in a set of paths,A Ruby library for finding files in a set of paths.
65
+ hooks,0.4.0,MIT,Generic hooks with callbacks for Ruby.,"Declaratively define hooks, add callbacks and run them with the options you like."
66
+ http_parser.rb,0.6.0,MIT,Simple callback-based HTTP request/response parser,Ruby bindings to http://github.com/ry/http-parser and http://github.com/a2800276/http-parser.java
67
+ i18n,0.6.11,MIT,New wave Internationalization support for Ruby,New wave Internationalization support for Ruby.
68
+ json,1.8.1,ruby,This json is bundled with Ruby,""
69
+ kramdown,1.4.1,MIT,"kramdown is a fast, pure-Ruby Markdown-superset converter.","kramdown is yet-another-markdown-parser but fast, pure Ruby,
70
+ using a strict syntax definition and supporting several common extensions."
71
+ launchy,2.4.2,ISC,Launchy is helper class for launching cross-platform applications in a fire and forget manner.,"Launchy is helper class for launching cross-platform applications in a fire and forget manner. There are application concepts (browser, email client, etc) that are common across all platforms, and they may be launched differently on each platform. Launchy is here to make a common approach to launching external application from within ruby programs."
72
+ liquid,2.6.1,MIT,"A secure, non-evaling end user template engine with aesthetic markup.",""
73
+ listen,2.7.9,MIT,Listen to file modifications,The Listen gem listens to file modifications and notifies you about the changes. Works everywhere!
74
+ middleman,3.3.4,MIT,Hand-crafted frontend development,"A static site generator. Provides dozens of templating languages (Haml, Sass, Compass, Slim, CoffeeScript, and more). Makes minification, compression, cache busting, Yaml data (and more) an easy part of your development cycle."
75
+ middleman-core,3.3.4,MIT,Hand-crafted frontend development,"A static site generator. Provides dozens of templating languages (Haml, Sass, Compass, Slim, CoffeeScript, and more). Makes minification, compression, cache busting, Yaml data (and more) an easy part of your development cycle."
76
+ middleman-livereload,3.3.4,MIT,LiveReload support for Middleman,LiveReload support for Middleman
77
+ middleman-presentation,0.15.2,MIT,Presentation engine for Middleman,""
78
+ middleman-sprockets,3.3.6,MIT,Sprockets support for Middleman,Sprockets support for Middleman
79
+ mini_portile,0.6.0,MIT,Simplistic port-like solution for developers,Simplistic port-like solution for developers. It provides a standard and simplified way to compile against dependency libraries without messing up your system.
80
+ minitest,5.4.0,MIT,"minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking","minitest provides a complete suite of testing facilities supporting
81
+ TDD, BDD, mocking, and benchmarking.
82
+
83
+ ""I had a class with Jim Weirich on testing last week and we were
84
+ allowed to choose our testing frameworks. Kirk Haines and I were
85
+ paired up and we cracked open the code for a few test
86
+ frameworks...
87
+
88
+ I MUST say that minitest is *very* readable / understandable
89
+ compared to the 'other two' options we looked at. Nicely done and
90
+ thank you for helping us keep our mental sanity.""
91
+
92
+ -- Wayne E. Seguin
93
+
94
+ minitest/unit is a small and incredibly fast unit testing framework.
95
+ It provides a rich set of assertions to make your tests clean and
96
+ readable.
97
+
98
+ minitest/spec is a functionally complete spec engine. It hooks onto
99
+ minitest/unit and seamlessly bridges test assertions over to spec
100
+ expectations.
101
+
102
+ minitest/benchmark is an awesome way to assert the performance of your
103
+ algorithms in a repeatable manner. Now you can assert that your newb
104
+ co-worker doesn't replace your linear algorithm with an exponential
105
+ one!
106
+
107
+ minitest/mock by Steven Baker, is a beautifully tiny mock (and stub)
108
+ object framework.
109
+
110
+ minitest/pride shows pride in testing and adds coloring to your test
111
+ output. I guess it is an example of how to write IO pipes too. :P
112
+
113
+ minitest/unit is meant to have a clean implementation for language
114
+ implementors that need a minimal set of methods to bootstrap a working
115
+ test suite. For example, there is no magic involved for test-case
116
+ discovery.
117
+
118
+ ""Again, I can't praise enough the idea of a testing/specing
119
+ framework that I can actually read in full in one sitting!""
120
+
121
+ -- Piotr Szotkowski
122
+
123
+ Comparing to rspec:
124
+
125
+ rspec is a testing DSL. minitest is ruby.
126
+
127
+ -- Adam Hawkins, ""Bow Before MiniTest""
128
+
129
+ minitest doesn't reinvent anything that ruby already provides, like:
130
+ classes, modules, inheritance, methods. This means you only have to
131
+ learn ruby to use minitest and all of your regular OO practices like
132
+ extract-method refactorings still apply."
133
+ multi_json,1.10.1,MIT,A common interface to multiple JSON libraries.,"A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson."
134
+ nokogiri,1.6.3.1,MIT,"Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser","Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's
135
+ many features is the ability to search documents via XPath or CSS3 selectors.
136
+
137
+ XML is like violence - if it doesn’t solve your problems, you are not using
138
+ enough of it."
139
+ padrino-helpers,0.12.2,MIT,Helpers for padrino,"Tag helpers, asset helpers, form helpers, form builders and many more helpers for padrino"
140
+ padrino-support,0.12.2,MIT,Support for padrino,A number of support methods and extensions for Padrino framework
141
+ rack,1.5.2,MIT,a modular Ruby webserver interface,"Rack provides a minimal, modular and adaptable interface for developing
142
+ web applications in Ruby. By wrapping HTTP requests and responses in
143
+ the simplest way possible, it unifies and distills the API for web
144
+ servers, web frameworks, and software in between (the so-called
145
+ middleware) into a single method call.
146
+
147
+ Also see http://rack.github.com/."
148
+ rack-livereload,0.3.15,MIT,Insert LiveReload into your app easily as Rack middleware,Insert LiveReload into your app easily as Rack middleware
149
+ rack-test,0.6.2,MIT,Simple testing API built on Rack,"Rack::Test is a small, simple testing API for Rack apps. It can be used on its
150
+ own or as a reusable starting point for Web frameworks and testing libraries
151
+ to build on. Most of its initial functionality is an extraction of Merb 1.0's
152
+ request helpers feature."
153
+ rake,10.3.2,MIT,Rake is a Make-like program implemented in Ruby,"Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
154
+ specified in standard Ruby syntax.
155
+
156
+ Rake has the following features:
157
+
158
+ * Rakefiles (rake's version of Makefiles) are completely defined in
159
+ standard Ruby syntax. No XML files to edit. No quirky Makefile
160
+ syntax to worry about (is that a tab or a space?)
161
+
162
+ * Users can specify tasks with prerequisites.
163
+
164
+ * Rake supports rule patterns to synthesize implicit tasks.
165
+
166
+ * Flexible FileLists that act like arrays but know about manipulating
167
+ file names and paths.
168
+
169
+ * A library of prepackaged tasks to make building rakefiles easier. For example,
170
+ tasks for building tarballs and publishing to FTP or SSH sites. (Formerly
171
+ tasks for building RDoc and Gems were included in rake but they're now
172
+ available in RDoc and RubyGems respectively.)
173
+
174
+ * Supports parallel execution of tasks."
175
+ rb-fsevent,0.9.4,MIT,Very simple & usable FSEvents API,FSEvents API with Signals catching (without RubyCocoa)
176
+ rb-inotify,0.9.5,MIT,"A Ruby wrapper for Linux's inotify, using FFI","A Ruby wrapper for Linux's inotify, using FFI"
177
+ sass,3.2.19,MIT,A powerful but elegant CSS compiler that makes CSS fun again.,"Sass makes CSS fun again. Sass is an extension of CSS3, adding
178
+ nested rules, variables, mixins, selector inheritance, and more.
179
+ It's translated to well-formatted, standard CSS using the
180
+ command line tool or a web-framework plugin."
181
+ sprockets,2.12.1,MIT,Rack-based asset packaging system,"Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS."
182
+ sprockets-helpers,1.1.0,MIT,Asset path helpers for Sprockets 2.x applications,Asset path helpers for Sprockets 2.x applications
183
+ sprockets-sass,1.2.0,MIT,Better Sass integration with Sprockets 2.0,"When using Sprockets 2.0 with Sass you will eventually run into a pretty big issue. `//= require` directives will not allow Sass mixins, variables, etc. to be shared between files. So you'll try to use `@import`, and that'll also blow up in your face. `sprockets-sass` fixes all of this by creating a Sass::Importer that is Sprockets aware."
184
+ thor,0.19.1,MIT,Thor is a toolkit for building powerful command-line interfaces.,Thor is a toolkit for building powerful command-line interfaces.
185
+ thread_safe,0.3.4,Apache 2.0,A collection of data structures and utilities to make thread-safe programming in Ruby easier,Thread-safe collections and utilities for Ruby
186
+ tilt,1.4.1,MIT,Generic interface to multiple Ruby template engines,Generic interface to multiple Ruby template engines
187
+ timers,1.1.0,MIT,"Schedule procs to run after a certain time, or at periodic intervals, using any API that accepts a timeout",Pure Ruby one-shot and periodic timers
188
+ tzinfo,1.2.2,MIT,Daylight savings aware timezone library,TZInfo provides daylight savings aware transformations between times in different time zones.
189
+ uber,0.0.8,MIT,"Gem-authoring tools like class method inheritance in modules, dynamic options and more.",A gem-authoring framework.
190
+ uglifier,2.5.3,MIT,Ruby wrapper for UglifyJS JavaScript compressor,Uglifier minifies JavaScript files by wrapping UglifyJS to be accessible in Ruby
data/doc/yard/.keep ADDED
File without changes
@@ -0,0 +1,62 @@
1
+ Feature: Build presentation
2
+
3
+ As a presentator
4
+ I want to build an already created presentation
5
+ In order to use it
6
+
7
+ Background:
8
+ Given I use presentation fixture "presentation1" with title "My Presentation"
9
+
10
+ Scenario: Build it
11
+ When I successfully run `middleman-presentation build presentation`
12
+ And I cd to "build"
13
+ Then a file named "config.ru" should exist
14
+ Then a file named "javascripts/application.js" should exist
15
+ Then a file named "index.html" should exist
16
+ Then a file named "stylesheets/application.css" should exist
17
+ Then a file named "javascripts/application.js" should exist
18
+ Then a file named "javascripts/reveal.js/plugin/highlight/highlight.js" should exist
19
+ Then a file named "javascripts/reveal.js/plugin/zoom-js/zoom.js" should exist
20
+ Then a file named "javascripts/reveal.js/plugin/notes/notes.js" should exist
21
+ Then a file named "stylesheets/middleman-presentation-helpers/print/pdf.css" should exist
22
+
23
+ Scenario: Change loadable default assets
24
+ Given a user config file for middleman-presentation with:
25
+ """
26
+ loadable_assets_for_installed_components:
27
+ - !ruby/regex \.png$
28
+ - !ruby/regex \.woff$
29
+ """
30
+ When I successfully run `middleman-presentation build presentation`
31
+ And I cd to "build"
32
+ Then a file named "images/middleman-presentation-theme-default/images/logo-questions.png" should exist
33
+ And a file named "images/middleman-presentation-theme-default/images/logo-questions.svg" should not exist
34
+ Then a file named "fonts/fontawesome/fonts/fontawesome-webfont.woff" should exist
35
+ Then a file named "fonts/fontawesome/fonts/fontawesome-webfont.eot" should not exist
36
+ Then a file named "fonts/fontawesome/fonts/fontawesome-webfont.ttf" should not exist
37
+
38
+ Scenario: Minify assets
39
+ Given a user config file for middleman-presentation with:
40
+ """
41
+ minify_assets: true
42
+ """
43
+ And a file named "source/stylesheets/test.scss" with:
44
+ """
45
+ .test1 {
46
+ font-size: 1px;
47
+ }
48
+
49
+ .test2 {
50
+ font-size: 1px;
51
+ }
52
+
53
+ .test3 {
54
+ font-size: 1px;
55
+ }
56
+
57
+ .test4 {
58
+ font-size: 1px;
59
+ }
60
+ """
61
+ When I successfully run `middleman-presentation build presentation`
62
+ Then the size of "build/stylesheets/test.css" should be much smaller than from "source/stylesheets/test.scss"
@@ -0,0 +1,43 @@
1
+ Feature: Code highlighting in Markdown slides
2
+
3
+ As a presentator
4
+ I want to highlight code easily
5
+ In order to make it more understandable for the audience
6
+
7
+ Background:
8
+ Given I use presentation fixture "presentation1" with title "My Presentation"
9
+
10
+ Scenario: Code block
11
+ Given a slide named "01.html.md" with:
12
+ """
13
+ <section>
14
+ # Hello World
15
+
16
+ ~~~ ruby
17
+ puts 42
18
+ ~~~
19
+ </section>
20
+ """
21
+ And the Server is running
22
+ And I go to "/"
23
+ Then I should see:
24
+ """
25
+ <div class="highlighter-middleman_presentation"><pre class="mp-code-block"><code class="ruby">puts 42
26
+ </code></pre> </div>
27
+ """
28
+
29
+ Scenario: Inline code
30
+ Given a slide named "01.html.md" with:
31
+ """
32
+ <section>
33
+ # Hello World
34
+
35
+ This is `code`
36
+ </section>
37
+ """
38
+ And the Server is running
39
+ And I go to "/"
40
+ Then I should see:
41
+ """
42
+ <p>This is <code class="highlighter-middleman_presentation"><code class="mp-code-inline">code</code></code></p>
43
+ """
@@ -0,0 +1,29 @@
1
+ Feature: Support components for middleman-presentation
2
+
3
+ As a presentator
4
+ I want to use bower components in all my presentation
5
+ In order to use them in all my presentations
6
+
7
+ Scenario: Add components
8
+ Given a user config file for middleman-presentation with:
9
+ """
10
+ components:
11
+ - name: :bootstrap
12
+ version: latest
13
+ importable_files:
14
+ - dist/js/bootstrap.js
15
+ - !ruby/regexp '/dist\/css\/bootstrap.css$/'
16
+ """
17
+ When I create a new presentation with title "My Presentation"
18
+ Then a directory named "vendor/assets/components/bootstrap" should exist
19
+ Given the Server is running
20
+ When I go to "/javascripts/application.js"
21
+ Then I should see:
22
+ """
23
+ Bootstrap
24
+ """
25
+ When I go to "/stylesheets/application.css"
26
+ Then I should see:
27
+ """
28
+ glyphicon
29
+ """
@@ -0,0 +1,11 @@
1
+ Feature: Create a new plugin for middleman presentation
2
+
3
+ As a presentator
4
+ I want to create my own plugin
5
+ In order to bundle default configurations
6
+
7
+ Scenario: Non existing template
8
+ Given a plugin named "middleman-presentation-new_plugin" does not exist
9
+ When I successfully run `middleman-presentation create plugin middleman-presentation-new_plugin`
10
+ Then a plugin named "middleman-presentation-new_plugin" should exist with default files/directories created
11
+ And a directory named "middleman-presentation-new_plugin" is a git repository