hyla 1.0 → 1.0.1
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 +15 -0
- data/Gemfile.lock +35 -7
- data/README.adoc +10 -2
- data/bin/hyla +16 -13
- data/hyla.gemspec +6 -3
- data/lib/hyla.rb +5 -1
- data/lib/hyla/command.rb +12 -10
- data/lib/hyla/commands/create.rb +21 -12
- data/lib/hyla/commands/generate.rb +168 -59
- data/lib/hyla/commands/new.rb +36 -15
- data/lib/hyla/commands/watch.rb +6 -2
- data/lib/hyla/configuration.rb +169 -27
- data/lib/hyla/core_ext.rb +24 -0
- data/lib/hyla/project.rb +1 -1
- data/lib/resources/backends/haml/deckjs/block_admonition.html.haml +14 -0
- data/lib/resources/backends/haml/deckjs/block_audio.html.haml +7 -0
- data/lib/resources/backends/haml/deckjs/block_colist.html.haml +21 -0
- data/lib/resources/backends/haml/deckjs/block_dlist.html.haml +54 -0
- data/lib/resources/backends/haml/deckjs/block_example.haml.haml +5 -0
- data/lib/resources/backends/haml/deckjs/block_floating_title.html.haml +1 -0
- data/lib/resources/backends/haml/deckjs/block_image.html.haml +11 -0
- data/lib/resources/backends/haml/deckjs/block_listing.html.haml +32 -0
- data/lib/resources/backends/haml/deckjs/block_literal.html.haml +5 -0
- data/lib/resources/backends/haml/deckjs/block_olist.html.haml +11 -0
- data/lib/resources/backends/haml/deckjs/block_open.html.haml +5 -0
- data/lib/resources/backends/haml/deckjs/block_page_break.html.haml +1 -0
- data/lib/resources/backends/haml/deckjs/block_paragraph.html.haml +4 -0
- data/lib/resources/backends/haml/deckjs/block_pass.html.haml +1 -0
- data/lib/resources/backends/haml/deckjs/block_preamble.html.haml +3 -0
- data/lib/resources/backends/haml/deckjs/block_quote.html.haml +12 -0
- data/lib/resources/backends/haml/deckjs/block_ruler.html.haml +1 -0
- data/lib/resources/backends/haml/deckjs/block_sidebar.html.haml +5 -0
- data/lib/resources/backends/haml/deckjs/block_table.html.haml +48 -0
- data/lib/resources/backends/haml/deckjs/block_ulist.html.haml +25 -0
- data/lib/resources/backends/haml/deckjs/block_verse.html.haml +13 -0
- data/lib/resources/backends/haml/deckjs/block_video.html.haml +24 -0
- data/lib/resources/backends/haml/deckjs/document.html.haml +182 -0
- data/lib/resources/backends/haml/deckjs/embedded.html.haml +10 -0
- data/lib/resources/backends/haml/deckjs/inline_anchor.html.haml +12 -0
- data/lib/resources/backends/haml/deckjs/inline_break.html.haml +2 -0
- data/lib/resources/backends/haml/deckjs/inline_callout.html.haml +7 -0
- data/lib/resources/backends/haml/deckjs/inline_footnote.html.haml +8 -0
- data/lib/resources/backends/haml/deckjs/inline_image.html.haml +24 -0
- data/lib/resources/backends/haml/deckjs/inline_indexterm.html.haml +2 -0
- data/lib/resources/backends/haml/deckjs/inline_quoted.html.haml +19 -0
- data/lib/resources/backends/haml/deckjs/section.html.haml +7 -0
- data/lib/resources/backends/haml/docbook45/block_admonition.xml.haml +7 -0
- data/lib/resources/backends/haml/docbook45/block_colist.xml.haml +8 -0
- data/lib/resources/backends/haml/docbook45/block_dlist.xml.haml +61 -0
- data/lib/resources/backends/haml/docbook45/block_example.xml.haml +14 -0
- data/lib/resources/backends/haml/docbook45/block_floating_title.xml.haml +1 -0
- data/lib/resources/backends/haml/docbook45/block_image.xml.haml +8 -0
- data/lib/resources/backends/haml/docbook45/block_listing.xml.haml +14 -0
- data/lib/resources/backends/haml/docbook45/block_literal.xml.haml +7 -0
- data/lib/resources/backends/haml/docbook45/block_olist.xml.haml +8 -0
- data/lib/resources/backends/haml/docbook45/block_open.xml.haml +25 -0
- data/lib/resources/backends/haml/docbook45/block_page_break.xml.haml +1 -0
- data/lib/resources/backends/haml/docbook45/block_paragraph.xml.haml +6 -0
- data/lib/resources/backends/haml/docbook45/block_pass.xml.haml +1 -0
- data/lib/resources/backends/haml/docbook45/block_preamble.xml.haml +7 -0
- data/lib/resources/backends/haml/docbook45/block_quote.xml.haml +13 -0
- data/lib/resources/backends/haml/docbook45/block_ruler.xml.haml +2 -0
- data/lib/resources/backends/haml/docbook45/block_sidebar.xml.haml +7 -0
- data/lib/resources/backends/haml/docbook45/block_table.xml.haml +37 -0
- data/lib/resources/backends/haml/docbook45/block_ulist.xml.haml +18 -0
- data/lib/resources/backends/haml/docbook45/block_verse.xml.haml +10 -0
- data/lib/resources/backends/haml/docbook45/document.xml.haml +63 -0
- data/lib/resources/backends/haml/docbook45/embedded.xml.haml +1 -0
- data/lib/resources/backends/haml/docbook45/helpers.rb +7 -0
- data/lib/resources/backends/haml/docbook45/inline_anchor.xml.haml +13 -0
- data/lib/resources/backends/haml/docbook45/inline_break.xml.haml +2 -0
- data/lib/resources/backends/haml/docbook45/inline_callout.xml.haml +1 -0
- data/lib/resources/backends/haml/docbook45/inline_footnote.xml.haml +5 -0
- data/lib/resources/backends/haml/docbook45/inline_image.xml.haml +5 -0
- data/lib/resources/backends/haml/docbook45/inline_indexterm.xml.haml +18 -0
- data/lib/resources/backends/haml/docbook45/inline_quoted.xml.haml +21 -0
- data/lib/resources/backends/haml/docbook45/section.xml.haml +5 -0
- data/lib/resources/backends/haml/html5/block_admonition.html.haml +14 -0
- data/lib/resources/backends/haml/html5/block_audio.html.haml +7 -0
- data/lib/resources/backends/haml/html5/block_colist.html.haml +21 -0
- data/lib/resources/backends/haml/html5/block_dlist.html.haml +54 -0
- data/lib/resources/backends/haml/html5/block_example.haml.haml +5 -0
- data/lib/resources/backends/haml/html5/block_floating_title.html.haml +1 -0
- data/lib/resources/backends/haml/html5/block_image.html.haml +11 -0
- data/lib/resources/backends/haml/html5/block_listing.html.haml +31 -0
- data/lib/resources/backends/haml/html5/block_literal.html.haml +5 -0
- data/lib/resources/backends/haml/html5/block_math.html.haml +10 -0
- data/lib/resources/backends/haml/html5/block_olist.html.haml +9 -0
- data/lib/resources/backends/haml/html5/block_open.html.haml +15 -0
- data/lib/resources/backends/haml/html5/block_page_break.html.haml +1 -0
- data/lib/resources/backends/haml/html5/block_paragraph.html.haml +4 -0
- data/lib/resources/backends/haml/html5/block_pass.html.haml +1 -0
- data/lib/resources/backends/haml/html5/block_preamble.html.haml +6 -0
- data/lib/resources/backends/haml/html5/block_quote.html.haml +12 -0
- data/lib/resources/backends/haml/html5/block_ruler.html.haml +1 -0
- data/lib/resources/backends/haml/html5/block_sidebar.html.haml +5 -0
- data/lib/resources/backends/haml/html5/block_table.html.haml +47 -0
- data/lib/resources/backends/haml/html5/block_toc.html.haml +11 -0
- data/lib/resources/backends/haml/html5/block_ulist.html.haml +25 -0
- data/lib/resources/backends/haml/html5/block_verse.html.haml +13 -0
- data/lib/resources/backends/haml/html5/block_video.html.haml +27 -0
- data/lib/resources/backends/haml/html5/document.html.haml +114 -0
- data/lib/resources/backends/haml/html5/embedded.html.haml +10 -0
- data/lib/resources/backends/haml/html5/helpers.rb +7 -0
- data/lib/resources/backends/haml/html5/inline_anchor.html.haml +11 -0
- data/lib/resources/backends/haml/html5/inline_break.html.haml +2 -0
- data/lib/resources/backends/haml/html5/inline_button.html.haml +1 -0
- data/lib/resources/backends/haml/html5/inline_callout.html.haml +7 -0
- data/lib/resources/backends/haml/html5/inline_footnote.html.haml +8 -0
- data/lib/resources/backends/haml/html5/inline_image.html.haml +24 -0
- data/lib/resources/backends/haml/html5/inline_indexterm.html.haml +2 -0
- data/lib/resources/backends/haml/html5/inline_kbd.html.haml +8 -0
- data/lib/resources/backends/haml/html5/inline_menu.html.haml +15 -0
- data/lib/resources/backends/haml/html5/inline_quoted.html.haml +22 -0
- data/lib/resources/backends/haml/html5/section.html.haml +21 -0
- data/lib/resources/backends/haml/revealjs/block_image.html.haml +11 -0
- data/lib/resources/backends/haml/revealjs/block_olist.html.haml +8 -0
- data/lib/resources/backends/haml/revealjs/block_ulist.html.haml +8 -0
- data/lib/resources/backends/haml/revealjs/document.html.haml +61 -0
- data/lib/resources/backends/haml/revealjs/section.html.haml +10 -0
- data/lib/resources/backends/slim/docbook45/block_admonition.xml.slim +7 -0
- data/lib/resources/backends/slim/docbook45/block_colist.xml.slim +8 -0
- data/lib/resources/backends/slim/docbook45/block_dlist.xml.slim +61 -0
- data/lib/resources/backends/slim/docbook45/block_example.xml.slim +13 -0
- data/lib/resources/backends/slim/docbook45/block_floating_title.xml.slim +1 -0
- data/lib/resources/backends/slim/docbook45/block_image.xml.slim +7 -0
- data/lib/resources/backends/slim/docbook45/block_listing.xml.slim +14 -0
- data/lib/resources/backends/slim/docbook45/block_literal.xml.slim +7 -0
- data/lib/resources/backends/slim/docbook45/block_olist.xml.slim +8 -0
- data/lib/resources/backends/slim/docbook45/block_open.xml.slim +25 -0
- data/lib/resources/backends/slim/docbook45/block_page_break.xml.slim +1 -0
- data/lib/resources/backends/slim/docbook45/block_paragraph.xml.slim +6 -0
- data/lib/resources/backends/slim/docbook45/block_pass.xml.slim +1 -0
- data/lib/resources/backends/slim/docbook45/block_preamble.xml.slim +7 -0
- data/lib/resources/backends/slim/docbook45/block_quote.xml.slim +13 -0
- data/lib/resources/backends/slim/docbook45/block_ruler.xml.slim +2 -0
- data/lib/resources/backends/slim/docbook45/block_sidebar.xml.slim +7 -0
- data/lib/resources/backends/slim/docbook45/block_table.xml.slim +36 -0
- data/lib/resources/backends/slim/docbook45/block_ulist.xml.slim +18 -0
- data/lib/resources/backends/slim/docbook45/block_verse.xml.slim +10 -0
- data/lib/resources/backends/slim/docbook45/document.xml.slim +63 -0
- data/lib/resources/backends/slim/docbook45/embedded.xml.slim +1 -0
- data/lib/resources/backends/slim/docbook45/helpers.rb +9 -0
- data/lib/resources/backends/slim/docbook45/inline_anchor.xml.slim +13 -0
- data/lib/resources/backends/slim/docbook45/inline_break.xml.slim +2 -0
- data/lib/resources/backends/slim/docbook45/inline_callout.xml.slim +1 -0
- data/lib/resources/backends/slim/docbook45/inline_footnote.xml.slim +4 -0
- data/lib/resources/backends/slim/docbook45/inline_image.xml.slim +4 -0
- data/lib/resources/backends/slim/docbook45/inline_indexterm.xml.slim +16 -0
- data/lib/resources/backends/slim/docbook45/inline_quoted.xml.slim +21 -0
- data/lib/resources/backends/slim/docbook45/section.xml.slim +5 -0
- data/lib/resources/backends/slim/document.html.bk.slim +335 -0
- data/lib/resources/backends/slim/dzslides/block_admonition.html.slim +19 -0
- data/lib/resources/backends/slim/dzslides/block_colist.html.slim +20 -0
- data/lib/resources/backends/slim/dzslides/block_dlist.html.slim +10 -0
- data/lib/resources/backends/slim/dzslides/block_example.html.slim +4 -0
- data/lib/resources/backends/slim/dzslides/block_floating_title.html.slim +1 -0
- data/lib/resources/backends/slim/dzslides/block_image.html.slim +14 -0
- data/lib/resources/backends/slim/dzslides/block_listing.html.slim +8 -0
- data/lib/resources/backends/slim/dzslides/block_literal.html.slim +11 -0
- data/lib/resources/backends/slim/dzslides/block_olist.html.slim +6 -0
- data/lib/resources/backends/slim/dzslides/block_open.html.slim +4 -0
- data/lib/resources/backends/slim/dzslides/block_paragraph.html.slim +1 -0
- data/lib/resources/backends/slim/dzslides/block_pass.html.slim +1 -0
- data/lib/resources/backends/slim/dzslides/block_quote.html.slim +11 -0
- data/lib/resources/backends/slim/dzslides/block_ruler.html.slim +1 -0
- data/lib/resources/backends/slim/dzslides/block_table.html.slim +45 -0
- data/lib/resources/backends/slim/dzslides/block_ulist.html.slim +6 -0
- data/lib/resources/backends/slim/dzslides/block_verse.html.slim +12 -0
- data/lib/resources/backends/slim/dzslides/block_video.html.slim +6 -0
- data/lib/resources/backends/slim/dzslides/document.html.slim +67 -0
- data/lib/resources/backends/slim/dzslides/embedded.html.slim +1 -0
- data/lib/resources/backends/slim/dzslides/helpers.rb +9 -0
- data/lib/resources/backends/slim/dzslides/inline_anchor.html.slim +11 -0
- data/lib/resources/backends/slim/dzslides/inline_break.html.slim +2 -0
- data/lib/resources/backends/slim/dzslides/inline_callout.html.slim +7 -0
- data/lib/resources/backends/slim/dzslides/inline_footnote.html.slim +6 -0
- data/lib/resources/backends/slim/dzslides/inline_image.html.slim +24 -0
- data/lib/resources/backends/slim/dzslides/inline_indexterm.html.slim +2 -0
- data/lib/resources/backends/slim/dzslides/inline_kbd.html.slim +8 -0
- data/lib/resources/backends/slim/dzslides/inline_quoted.html.slim +23 -0
- data/lib/resources/backends/slim/dzslides/section.html.slim +4 -0
- data/lib/resources/backends/slim/html5/block_admonition.html.slim +13 -0
- data/lib/resources/backends/slim/html5/block_audio.html.slim +6 -0
- data/lib/resources/backends/slim/html5/block_colist.html.slim +20 -0
- data/lib/resources/backends/slim/html5/block_dlist.html.slim +53 -0
- data/lib/resources/backends/slim/html5/block_example.html.slim +4 -0
- data/lib/resources/backends/slim/html5/block_floating_title.html.slim +1 -0
- data/lib/resources/backends/slim/html5/block_image.html.slim +10 -0
- data/lib/resources/backends/slim/html5/block_listing.html.slim +31 -0
- data/lib/resources/backends/slim/html5/block_literal.html.slim +4 -0
- data/lib/resources/backends/slim/html5/block_math.html.slim +10 -0
- data/lib/resources/backends/slim/html5/block_olist.html.slim +9 -0
- data/lib/resources/backends/slim/html5/block_open.html.slim +15 -0
- data/lib/resources/backends/slim/html5/block_page_break.html.slim +1 -0
- data/lib/resources/backends/slim/html5/block_paragraph.html.slim +4 -0
- data/lib/resources/backends/slim/html5/block_pass.html.slim +1 -0
- data/lib/resources/backends/slim/html5/block_preamble.html.slim +6 -0
- data/lib/resources/backends/slim/html5/block_quote.html.slim +14 -0
- data/lib/resources/backends/slim/html5/block_ruler.html.slim +1 -0
- data/lib/resources/backends/slim/html5/block_sidebar.html.slim +5 -0
- data/lib/resources/backends/slim/html5/block_table.html.slim +45 -0
- data/lib/resources/backends/slim/html5/block_toc.html.slim +12 -0
- data/lib/resources/backends/slim/html5/block_ulist.html.slim +25 -0
- data/lib/resources/backends/slim/html5/block_verse.html.slim +14 -0
- data/lib/resources/backends/slim/html5/block_video.html.slim +27 -0
- data/lib/resources/backends/slim/html5/document.html.slim +112 -0
- data/lib/resources/backends/slim/html5/embedded.html.slim +9 -0
- data/lib/resources/backends/slim/html5/helpers.rb +8 -0
- data/lib/resources/backends/slim/html5/inline_anchor.html.slim +11 -0
- data/lib/resources/backends/slim/html5/inline_break.html.slim +2 -0
- data/lib/resources/backends/slim/html5/inline_button.html.slim +1 -0
- data/lib/resources/backends/slim/html5/inline_callout.html.slim +7 -0
- data/lib/resources/backends/slim/html5/inline_footnote.html.slim +6 -0
- data/lib/resources/backends/slim/html5/inline_image.html.slim +24 -0
- data/lib/resources/backends/slim/html5/inline_indexterm.html.slim +2 -0
- data/lib/resources/backends/slim/html5/inline_kbd.html.slim +8 -0
- data/lib/resources/backends/slim/html5/inline_menu.html.slim +15 -0
- data/lib/resources/backends/slim/html5/inline_quoted.html.slim +22 -0
- data/lib/resources/backends/slim/html5/section.html.slim +20 -0
- data/lib/resources/backends/slim/revealjs/block_admonition.html.slim +13 -0
- data/lib/resources/backends/slim/revealjs/block_audio.html.slim +6 -0
- data/lib/resources/backends/slim/revealjs/block_colist.html.slim +20 -0
- data/lib/resources/backends/slim/revealjs/block_dlist.html.slim +53 -0
- data/lib/resources/backends/slim/revealjs/block_example.html.slim +4 -0
- data/lib/resources/backends/slim/revealjs/block_floating_title.html.slim +1 -0
- data/lib/resources/backends/slim/revealjs/block_image.html.slim +10 -0
- data/lib/resources/backends/slim/revealjs/block_listing.html.slim +31 -0
- data/lib/resources/backends/slim/revealjs/block_literal.html.slim +4 -0
- data/lib/resources/backends/slim/revealjs/block_math.html.slim +10 -0
- data/lib/resources/backends/slim/revealjs/block_olist.html.slim +9 -0
- data/lib/resources/backends/slim/revealjs/block_open.html.slim +15 -0
- data/lib/resources/backends/slim/revealjs/block_page_break.html.slim +1 -0
- data/lib/resources/backends/slim/revealjs/block_paragraph.html.slim +4 -0
- data/lib/resources/backends/slim/revealjs/block_pass.html.slim +1 -0
- data/lib/resources/backends/slim/revealjs/block_preamble.html.slim +6 -0
- data/lib/resources/backends/slim/revealjs/block_quote.html.slim +14 -0
- data/lib/resources/backends/slim/revealjs/block_ruler.html.slim +1 -0
- data/lib/resources/backends/slim/revealjs/block_sidebar.html.slim +5 -0
- data/lib/resources/backends/slim/revealjs/block_table.html.slim +45 -0
- data/lib/resources/backends/slim/revealjs/block_toc.html.slim +12 -0
- data/lib/resources/backends/slim/revealjs/block_ulist.html.slim +25 -0
- data/lib/resources/backends/slim/revealjs/block_verse.html.slim +14 -0
- data/lib/resources/backends/slim/revealjs/block_video.html.slim +27 -0
- data/lib/resources/backends/slim/revealjs/document.html.slim +87 -0
- data/lib/resources/backends/slim/revealjs/embedded.html.slim +9 -0
- data/lib/resources/backends/slim/revealjs/helpers.rb +8 -0
- data/lib/resources/backends/slim/revealjs/inline_anchor.html.slim +11 -0
- data/lib/resources/backends/slim/revealjs/inline_break.html.slim +2 -0
- data/lib/resources/backends/slim/revealjs/inline_button.html.slim +1 -0
- data/lib/resources/backends/slim/revealjs/inline_callout.html.slim +7 -0
- data/lib/resources/backends/slim/revealjs/inline_footnote.html.slim +6 -0
- data/lib/resources/backends/slim/revealjs/inline_image.html.slim +24 -0
- data/lib/resources/backends/slim/revealjs/inline_indexterm.html.slim +2 -0
- data/lib/resources/backends/slim/revealjs/inline_kbd.html.slim +8 -0
- data/lib/resources/backends/slim/revealjs/inline_menu.html.slim +15 -0
- data/lib/resources/backends/slim/revealjs/inline_quoted.html.slim +22 -0
- data/lib/resources/backends/slim/revealjs/section.html.slim +3 -0
- data/lib/resources/deck.js/core/deck.core.css +407 -0
- data/lib/resources/deck.js/core/deck.core.js +498 -0
- data/lib/resources/deck.js/extensions/deck.js-blank/README.md +10 -0
- data/lib/resources/deck.js/extensions/deck.js-blank/deck.blank.js +33 -0
- data/lib/resources/deck.js/extensions/goto/deck.goto.css +41 -0
- data/lib/resources/deck.js/extensions/goto/deck.goto.html +7 -0
- data/lib/resources/deck.js/extensions/goto/deck.goto.js +170 -0
- data/lib/resources/deck.js/extensions/hash/deck.hash.css +13 -0
- data/lib/resources/deck.js/extensions/hash/deck.hash.html +2 -0
- data/lib/resources/deck.js/extensions/hash/deck.hash.js +142 -0
- data/lib/resources/deck.js/extensions/menu/deck.menu.css +47 -0
- data/lib/resources/deck.js/extensions/menu/deck.menu.js +187 -0
- data/lib/resources/deck.js/extensions/navigation/deck.navigation.css +43 -0
- data/lib/resources/deck.js/extensions/navigation/deck.navigation.html +3 -0
- data/lib/resources/deck.js/extensions/navigation/deck.navigation.js +92 -0
- data/lib/resources/deck.js/extensions/scale/deck.scale.css +28 -0
- data/lib/resources/deck.js/extensions/scale/deck.scale.js +170 -0
- data/lib/resources/deck.js/extensions/split/README.md +30 -0
- data/lib/resources/deck.js/extensions/split/deck.split.js +59 -0
- data/lib/resources/deck.js/extensions/status/deck.status.css +18 -0
- data/lib/resources/deck.js/extensions/status/deck.status.html +6 -0
- data/lib/resources/deck.js/extensions/status/deck.status.js +95 -0
- data/lib/resources/deck.js/extensions/toc/deck.toc.css +40 -0
- data/lib/resources/deck.js/extensions/toc/deck.toc.html +12 -0
- data/lib/resources/deck.js/extensions/toc/deck.toc.js +271 -0
- data/lib/resources/deck.js/jquery-1.7.2.min.js +4 -0
- data/lib/resources/deck.js/jquery.min.js +4 -0
- data/lib/resources/deck.js/modernizr.custom.js +4 -0
- data/lib/resources/deck.js/themes/style/beamer.css +286 -0
- data/lib/resources/deck.js/themes/style/neon.css +123 -0
- data/lib/resources/deck.js/themes/style/swiss.css +84 -0
- data/lib/resources/deck.js/themes/style/web-2.0.css +214 -0
- data/lib/resources/deck.js/themes/transition/beamer.css +66 -0
- data/lib/resources/deck.js/themes/transition/fade.css +43 -0
- data/lib/resources/deck.js/themes/transition/horizontal-slide.css +76 -0
- data/lib/resources/deck.js/themes/transition/vertical-slide.css +94 -0
- data/lib/resources/revealjs/LICENSE +19 -0
- data/lib/resources/revealjs/css/print/paper.css +176 -0
- data/lib/resources/revealjs/css/print/pdf.css +190 -0
- data/lib/resources/revealjs/css/reveal.css +1880 -0
- data/lib/resources/revealjs/css/reveal.min.css +7 -0
- data/lib/resources/revealjs/css/theme/README.md +25 -0
- data/lib/resources/revealjs/css/theme/beige.css +148 -0
- data/lib/resources/revealjs/css/theme/blood.css +175 -0
- data/lib/resources/revealjs/css/theme/default.css +148 -0
- data/lib/resources/revealjs/css/theme/moon.css +148 -0
- data/lib/resources/revealjs/css/theme/night.css +136 -0
- data/lib/resources/revealjs/css/theme/serif.css +138 -0
- data/lib/resources/revealjs/css/theme/simple.css +138 -0
- data/lib/resources/revealjs/css/theme/sky.css +145 -0
- data/lib/resources/revealjs/css/theme/solarized.css +148 -0
- data/lib/resources/revealjs/css/theme/source/beige.scss +50 -0
- data/lib/resources/revealjs/css/theme/source/blood.scss +91 -0
- data/lib/resources/revealjs/css/theme/source/default.scss +42 -0
- data/lib/resources/revealjs/css/theme/source/moon.scss +68 -0
- data/lib/resources/revealjs/css/theme/source/night.scss +35 -0
- data/lib/resources/revealjs/css/theme/source/serif.scss +35 -0
- data/lib/resources/revealjs/css/theme/source/simple.scss +38 -0
- data/lib/resources/revealjs/css/theme/source/sky.scss +46 -0
- data/lib/resources/revealjs/css/theme/source/solarized.scss +74 -0
- data/lib/resources/revealjs/css/theme/template/mixins.scss +29 -0
- data/lib/resources/revealjs/css/theme/template/settings.scss +34 -0
- data/lib/resources/revealjs/css/theme/template/theme.scss +170 -0
- data/lib/resources/revealjs/js/reveal.js +3382 -0
- data/lib/resources/revealjs/js/reveal.min.js +9 -0
- data/lib/resources/revealjs/lib/css/zenburn.css +114 -0
- data/lib/resources/revealjs/lib/font/league_gothic-webfont.eot +0 -0
- data/lib/resources/revealjs/lib/font/league_gothic-webfont.svg +230 -0
- data/lib/resources/revealjs/lib/font/league_gothic-webfont.ttf +0 -0
- data/lib/resources/revealjs/lib/font/league_gothic-webfont.woff +0 -0
- data/lib/resources/revealjs/lib/font/league_gothic_license +2 -0
- data/lib/resources/revealjs/lib/js/classList.js +2 -0
- data/lib/resources/revealjs/lib/js/head.min.js +8 -0
- data/lib/resources/revealjs/lib/js/html5shiv.js +7 -0
- data/lib/resources/revealjs/plugin/highlight/highlight.js +32 -0
- data/lib/resources/revealjs/plugin/leap/leap.js +157 -0
- data/lib/resources/revealjs/plugin/markdown/example.html +129 -0
- data/lib/resources/revealjs/plugin/markdown/example.md +31 -0
- data/lib/resources/revealjs/plugin/markdown/markdown.js +392 -0
- data/lib/resources/revealjs/plugin/markdown/marked.js +37 -0
- data/lib/resources/revealjs/plugin/math/math.js +64 -0
- data/lib/resources/revealjs/plugin/multiplex/client.js +13 -0
- data/lib/resources/revealjs/plugin/multiplex/index.js +56 -0
- data/lib/resources/revealjs/plugin/multiplex/master.js +51 -0
- data/lib/resources/revealjs/plugin/notes-server/client.js +57 -0
- data/lib/resources/revealjs/plugin/notes-server/index.js +59 -0
- data/lib/resources/revealjs/plugin/notes-server/notes.html +142 -0
- data/lib/resources/revealjs/plugin/notes/notes.html +267 -0
- data/lib/resources/revealjs/plugin/notes/notes.js +78 -0
- data/lib/resources/revealjs/plugin/postmessage/example.html +39 -0
- data/lib/resources/revealjs/plugin/postmessage/postmessage.js +42 -0
- data/lib/resources/revealjs/plugin/print-pdf/print-pdf.js +44 -0
- data/lib/resources/revealjs/plugin/remotes/remotes.js +39 -0
- data/lib/resources/revealjs/plugin/search/search.js +196 -0
- data/lib/resources/revealjs/plugin/zoom-js/zoom.js +258 -0
- data/lib/resources/styles/asciidoctor.css +652 -0
- data/lib/resources/styles/colony.css +660 -0
- data/lib/resources/styles/foundation-lime.css +657 -0
- data/lib/resources/styles/foundation-potion.css +657 -0
- data/lib/resources/styles/foundation.css +648 -0
- data/lib/resources/styles/github.css +669 -0
- data/lib/resources/styles/golo.css +669 -0
- data/lib/resources/styles/iconic.css +692 -0
- data/lib/resources/styles/maker.css +668 -0
- data/lib/resources/styles/readthedocs.css +669 -0
- data/lib/resources/styles/redhat.css +654 -0
- data/lib/resources/styles/riak.css +689 -0
- data/lib/resources/styles/rocket-panda.css +662 -0
- data/lib/resources/styles/rubygems.css +650 -0
- data/lib/templates/_config.yml +27 -0
- data/lib/templates/{training → book}/GemFile +2 -1
- data/lib/templates/{training → book}/development/audio/ocean_waves.mp3 +0 -0
- data/lib/templates/book/development/book.adoc +121 -0
- data/lib/templates/{training → book}/development/image/hyla_frog.jpg +0 -0
- data/lib/templates/{training → book}/development/video/small.ogv +0 -0
- data/lib/templates/{training → book}/introduction/audio/ocean_waves.mp3 +0 -0
- data/lib/templates/book/introduction/book.adoc +121 -0
- data/lib/templates/{training → book}/introduction/image/hyla_frog.jpg +0 -0
- data/lib/templates/{training → book}/introduction/video/small.ogv +0 -0
- data/lib/templates/book/readme.adoc +10 -0
- data/lib/templates/sample/asciidoc_article.adoc +101 -10
- data/lib/templates/sample/asciidoc_audio.adoc +1 -1
- data/lib/templates/sample/asciidoc_book.adoc +125 -0
- data/lib/templates/sample/asciidoc_image.adoc +26 -0
- data/lib/templates/sample/asciidoc_report.adoc +66 -0
- data/lib/templates/sample/asciidoc_source.adoc +53 -0
- data/lib/templates/sample/asciidoc_table.adoc +36 -0
- data/lib/templates/sample/asciidoc_video.adoc +9 -1
- data/lib/templates/sample/slideshow_revealjs.adoc +26 -0
- data/lib/templates/training-exercises/_config.yml +3 -0
- data/lib/templates/training/{introduction → module-1}/article.adoc +7 -2
- data/lib/templates/training/module-1/audio/ocean_waves.mp3 +0 -0
- data/lib/templates/training/module-1/image/hyla_arborea.jpg +0 -0
- data/lib/templates/training/module-1/video/small.ogv +0 -0
- data/lib/templates/training/{development → module-2}/article.adoc +7 -2
- data/lib/templates/training/module-2/audio/ocean_waves.mp3 +0 -0
- data/lib/templates/training/module-2/image/hyla_arborea.jpg +0 -0
- data/lib/templates/training/module-2/video/small.ogv +0 -0
- data/lib/templates/training/readme.adoc +10 -1
- data/scenario.adoc +113 -20
- data/test/reports/test-1.0.x-11-12-2013.txt +123 -0
- data/todo.adoc +39 -0
- metadata +473 -51
- data/lib/hyla/training.rb +0 -25
- data/lib/templates/sample/asciidoc_source_highlight.adoc +0 -37
- data/lib/templates/training-exercises/Gemfile +0 -4
checksums.yaml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
!binary "U0hBMQ==":
|
|
3
|
+
metadata.gz: !binary |-
|
|
4
|
+
OTIyMmVhNzkzNTNlZjM0NGI1YjJjMjg3Nzc1ZGM3MjVmZWI5OWIyOQ==
|
|
5
|
+
data.tar.gz: !binary |-
|
|
6
|
+
OGU5ZDgzNzVjMTUzNGFiNmE5MmY5M2I3NDAyYjA2ZTY1NWU1ZDdhZg==
|
|
7
|
+
SHA512:
|
|
8
|
+
metadata.gz: !binary |-
|
|
9
|
+
MzEzNjZlZjZiODAyNzZmYTE3YjYyNmQ4ZTYxM2U0NjVjZjcwNjc3MzEyODI4
|
|
10
|
+
ZDgxYWFlZDExNDVkMzc0MGQ1YTNkMjdkMTcyYzA0NGU1ODBjZWVmOTI5OWY5
|
|
11
|
+
ZGVlMDY3YmJjMGFhZTgxODg3Y2JlNjM3MGFjYWVkMzZhODVhZTA=
|
|
12
|
+
data.tar.gz: !binary |-
|
|
13
|
+
MTVhN2FhMTYyNThmMWEyNjhhMzdhMDY4YTg3ZDcwMmQwNzUwZGFjZjkxN2Rm
|
|
14
|
+
MDkzNWMyYzI2NGFhN2NlMjA0Y2ViOWQ1MWE5MDU0NDZhY2FhYjI5NDc5ZWFm
|
|
15
|
+
MDMzNGY1OWE1MGMzY2UzNzNkY2NkMTBlMmFkNjNhMjRmOWM4YjM=
|
data/Gemfile.lock
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
hyla (1.0)
|
|
4
|
+
hyla (1.0.x)
|
|
5
5
|
asciidoctor (~> 0.1.4)
|
|
6
6
|
colorator (~> 0.1)
|
|
7
7
|
commander (~> 4.1.3)
|
|
8
8
|
em-websocket (~> 0.5)
|
|
9
|
+
guard (~> 1.8.3)
|
|
10
|
+
haml
|
|
11
|
+
listen (~> 1.3.1)
|
|
9
12
|
multi_json (~> 1.8)
|
|
13
|
+
safe_yaml (~> 1.0.0)
|
|
14
|
+
slim
|
|
15
|
+
tilt
|
|
10
16
|
|
|
11
17
|
GEM
|
|
12
18
|
remote: https://rubygems.org/
|
|
13
19
|
specs:
|
|
14
20
|
asciidoctor (0.1.4)
|
|
15
|
-
|
|
16
|
-
timers (~> 1.1.0)
|
|
21
|
+
coderay (1.1.0)
|
|
17
22
|
colorator (0.1)
|
|
18
23
|
commander (4.1.5)
|
|
19
24
|
highline (~> 1.6.11)
|
|
@@ -22,21 +27,45 @@ GEM
|
|
|
22
27
|
http_parser.rb (~> 0.5.3)
|
|
23
28
|
eventmachine (1.0.3)
|
|
24
29
|
ffi (1.9.3)
|
|
30
|
+
formatador (0.2.4)
|
|
31
|
+
guard (1.8.3)
|
|
32
|
+
formatador (>= 0.2.4)
|
|
33
|
+
listen (~> 1.3)
|
|
34
|
+
lumberjack (>= 1.0.2)
|
|
35
|
+
pry (>= 0.9.10)
|
|
36
|
+
thor (>= 0.14.6)
|
|
37
|
+
haml (4.0.4)
|
|
38
|
+
tilt
|
|
25
39
|
highline (1.6.20)
|
|
26
40
|
http_parser.rb (0.5.3)
|
|
27
41
|
json (1.8.1)
|
|
28
|
-
listen (
|
|
29
|
-
celluloid (>= 0.15.2)
|
|
42
|
+
listen (1.3.1)
|
|
30
43
|
rb-fsevent (>= 0.9.3)
|
|
31
44
|
rb-inotify (>= 0.9)
|
|
45
|
+
rb-kqueue (>= 0.2)
|
|
46
|
+
lumberjack (1.0.4)
|
|
47
|
+
method_source (0.8.2)
|
|
32
48
|
multi_json (1.8.2)
|
|
49
|
+
pry (0.9.12.4)
|
|
50
|
+
coderay (~> 1.0)
|
|
51
|
+
method_source (~> 0.8)
|
|
52
|
+
slop (~> 3.4)
|
|
33
53
|
rake (10.1.0)
|
|
34
54
|
rb-fsevent (0.9.3)
|
|
35
55
|
rb-inotify (0.9.2)
|
|
36
56
|
ffi (>= 0.5.0)
|
|
57
|
+
rb-kqueue (0.2.0)
|
|
58
|
+
ffi (>= 0.5.0)
|
|
37
59
|
rdoc (3.12.2)
|
|
38
60
|
json (~> 1.4)
|
|
39
|
-
|
|
61
|
+
safe_yaml (1.0.0)
|
|
62
|
+
slim (2.0.2)
|
|
63
|
+
temple (~> 0.6.6)
|
|
64
|
+
tilt (>= 1.3.3, < 2.1)
|
|
65
|
+
slop (3.4.7)
|
|
66
|
+
temple (0.6.7)
|
|
67
|
+
thor (0.18.1)
|
|
68
|
+
tilt (1.4.1)
|
|
40
69
|
|
|
41
70
|
PLATFORMS
|
|
42
71
|
ruby
|
|
@@ -44,6 +73,5 @@ PLATFORMS
|
|
|
44
73
|
DEPENDENCIES
|
|
45
74
|
bundler (~> 1.3)
|
|
46
75
|
hyla!
|
|
47
|
-
listen (~> 2.0)
|
|
48
76
|
rake (~> 10.1)
|
|
49
77
|
rdoc (~> 3.11)
|
data/README.adoc
CHANGED
|
@@ -19,12 +19,20 @@ And then execute:
|
|
|
19
19
|
|
|
20
20
|
**Or** install it yourself as:
|
|
21
21
|
|
|
22
|
-
$ gem install hyla
|
|
22
|
+
$ gem install hyla -v 1.0.1
|
|
23
23
|
|
|
24
24
|
== For Developer's only
|
|
25
25
|
|
|
26
|
+
Clone Git project locally, move to Hyla directory and execute the following commands
|
|
26
27
|
gem build hyla.gemspec
|
|
27
|
-
sudo gem install hyla-1.0.gem
|
|
28
|
+
sudo gem install hyla-1.0.x.gem
|
|
29
|
+
|
|
30
|
+
== To publish Hyla to Gem Repo
|
|
31
|
+
|
|
32
|
+
gem build hyla.gemspec
|
|
33
|
+
gem install hyla-1.0.x.gem
|
|
34
|
+
gem yank hyla -v 1.0.x
|
|
35
|
+
gem push hyla-1.0.x.gem
|
|
28
36
|
|
|
29
37
|
== Usage
|
|
30
38
|
|
data/bin/hyla
CHANGED
|
@@ -26,8 +26,8 @@ def add_build_options(c)
|
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
def add_common_options(c)
|
|
29
|
-
c.option '
|
|
30
|
-
c.option '
|
|
29
|
+
c.option '--s', '--source [DIR]', 'Source directory (defaults to ./)'
|
|
30
|
+
c.option '--d', '--destination [DIR]', 'Destination directory (defaults to ./generated_content)'
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
#
|
|
@@ -38,7 +38,7 @@ command :new do |c|
|
|
|
38
38
|
c.description = 'Creates a new Hyla project using a template or blank to the PATH specified'
|
|
39
39
|
c.option '--f','--force', 'Force creation even if PATH already exists'
|
|
40
40
|
c.option '--b','--blank', 'Creates project but with empty files'
|
|
41
|
-
c.option '--t','--template_type TEMPLATE_TYPE', String, 'Template Type to be used (documentation, training, training-exercises, blog, web, ...)'
|
|
41
|
+
c.option '--t','--template_type TEMPLATE_TYPE', String, 'Template Type to be used (documentation, book, training, training-exercises, blog, web, ...)'
|
|
42
42
|
|
|
43
43
|
c.action do |args, options|
|
|
44
44
|
Hyla::Commands::New.process(args, options.__hash__)
|
|
@@ -50,13 +50,15 @@ end
|
|
|
50
50
|
#
|
|
51
51
|
command :create do |c|
|
|
52
52
|
c.syntax = 'hyla create ARTEFACT TYPE'
|
|
53
|
-
c.description = 'Creates a new file from asciidoc
|
|
53
|
+
c.description = 'Creates a new file from asciidoc artefact for an existing project'
|
|
54
54
|
c.option '--a', '--artefact_type [ARTEFACT_TYPE]', String, 'Artefact Type : article, audio, video, blog entry ...'
|
|
55
|
-
c.option '--d', '--destination [DIR]', String, 'Destination directory'
|
|
56
55
|
c.option '--t', '--type [TYPE]', String, 'Type : asciidoc, slideshow'
|
|
57
56
|
|
|
57
|
+
add_common_options(c)
|
|
58
|
+
|
|
58
59
|
c.action do |args, options|
|
|
59
|
-
Hyla::
|
|
60
|
+
config = Hyla::Configuration.parse(options.__hash__)
|
|
61
|
+
Hyla::Commands::Create.process(args, config)
|
|
60
62
|
end
|
|
61
63
|
end
|
|
62
64
|
|
|
@@ -66,15 +68,18 @@ end
|
|
|
66
68
|
command :generate do |c|
|
|
67
69
|
c.syntax = 'hyla generate [OPTIONS]'
|
|
68
70
|
c.description = 'Generate content from asciidoc files (Table Of Content, modules, ...) to HTML, Slideshow'
|
|
69
|
-
c.option '--
|
|
70
|
-
c.option '--d', '--destination [DIR]', String, 'Destination directory'
|
|
71
|
+
c.option '--b', '--backend [BACKEND]', String, 'Backend to be used : HTML5, deckjs, revealjs, ...'
|
|
71
72
|
c.option '--p', '--project_name [PROJECT_NAME]', String, 'Project Name'
|
|
72
73
|
c.option '--r', '--rendering [RENDERING]', String, 'Code of the rendering : toc2html, adoc2html'
|
|
73
74
|
c.option '--t', '--toc [PATH]', String, 'File Path of the asciidoc file containing the Table of Content'
|
|
75
|
+
c.option '--st', '--style [STYLE]', String, 'Stylesheet theme to be applied : asciidoctor, redhat, github, colony, foundation, ...'
|
|
76
|
+
c.option '--a', '--attributes [KEY=VALUE,KEY=VALUE]', String, 'Asciidoctor attributes'
|
|
74
77
|
|
|
75
|
-
c
|
|
78
|
+
add_common_options(c)
|
|
76
79
|
|
|
77
|
-
|
|
80
|
+
c.action do |args, options|
|
|
81
|
+
config = Hyla::Configuration.parse(options.__hash__)
|
|
82
|
+
Hyla::Commands::Generate.process(args, config)
|
|
78
83
|
end
|
|
79
84
|
end
|
|
80
85
|
|
|
@@ -82,15 +87,13 @@ end
|
|
|
82
87
|
command :watch do |c|
|
|
83
88
|
c.syntax = 'hyla watch [options]'
|
|
84
89
|
c.description = 'Watch directories for any change, add or file deleted and render document (HTML5)'
|
|
85
|
-
c.option '--d', '--destination DIR', String, 'Output directory where content must be generated'
|
|
86
|
-
c.option '--s', '--source DIR', String, 'Directory to be watched'
|
|
87
90
|
add_common_options(c)
|
|
88
91
|
|
|
89
92
|
c.action do |args, options|
|
|
90
93
|
|
|
91
94
|
options.default :serving => true
|
|
92
95
|
|
|
93
|
-
# TODO Find if it is possible to watch files, generate HTML content - asciidoctor, expose content using
|
|
96
|
+
# TODO Find if it is possible to watch files, generate HTML content - asciidoctor, expose content using HTTPServer and expose WebSocket - LiveReload
|
|
94
97
|
# as they are started in 2 different threads, this is not possible with existing code
|
|
95
98
|
# Hyla::Commands::Serve.process(args,options.__hash__)
|
|
96
99
|
Hyla::Commands::Watch.process(args, options.__hash__)
|
data/hyla.gemspec
CHANGED
|
@@ -21,15 +21,18 @@ Gem::Specification.new do |s|
|
|
|
21
21
|
s.add_development_dependency 'bundler', '~> 1.3'
|
|
22
22
|
s.add_development_dependency 'rake', '~> 10.1'
|
|
23
23
|
s.add_development_dependency 'rdoc', '~> 3.11'
|
|
24
|
-
# TODO - Review if guard / listen are mandatory deps
|
|
25
|
-
# s.add_development_dependency 'guard', '~> 1.8.3'
|
|
26
|
-
s.add_development_dependency 'listen', '~> 2.0'
|
|
27
24
|
|
|
28
25
|
# Ruby command-line executables
|
|
29
26
|
s.add_runtime_dependency 'commander', '~> 4.1.3'
|
|
30
27
|
s.add_runtime_dependency 'asciidoctor', '~> 0.1.4'
|
|
31
28
|
s.add_runtime_dependency 'em-websocket', '~> 0.5'
|
|
32
29
|
s.add_runtime_dependency 'multi_json', '~> 1.8'
|
|
30
|
+
s.add_runtime_dependency 'tilt'
|
|
31
|
+
s.add_runtime_dependency 'haml'
|
|
32
|
+
s.add_runtime_dependency 'slim'
|
|
33
|
+
s.add_runtime_dependency 'guard', '~> 1.8.3'
|
|
34
|
+
s.add_runtime_dependency 'listen', '~> 1.3.1'
|
|
35
|
+
s.add_runtime_dependency 'safe_yaml', '~> 1.0.0'
|
|
33
36
|
|
|
34
37
|
# Colorize Text Terminal
|
|
35
38
|
s.add_runtime_dependency 'colorator', '~> 0.1'
|
data/lib/hyla.rb
CHANGED
|
@@ -19,7 +19,11 @@ require 'rubygems'
|
|
|
19
19
|
require 'colorator'
|
|
20
20
|
require 'listen'
|
|
21
21
|
require 'guard'
|
|
22
|
+
require 'safe_yaml'
|
|
22
23
|
require 'asciidoctor'
|
|
24
|
+
require 'asciidoctor/backends/html5'
|
|
25
|
+
|
|
26
|
+
# require 'asciidoctor/backends/_stylesheets'
|
|
23
27
|
require 'eventmachine'
|
|
24
28
|
require 'em-websocket'
|
|
25
29
|
require 'http/parser'
|
|
@@ -29,7 +33,7 @@ require 'find'
|
|
|
29
33
|
|
|
30
34
|
# internal requires
|
|
31
35
|
require 'hyla/logger'
|
|
32
|
-
require 'hyla/
|
|
36
|
+
require 'hyla/core_ext'
|
|
33
37
|
require 'hyla/command'
|
|
34
38
|
require 'hyla/configuration'
|
|
35
39
|
require 'Hyla/WebSocket'
|
data/lib/hyla/command.rb
CHANGED
|
@@ -1,15 +1,5 @@
|
|
|
1
1
|
module Hyla
|
|
2
2
|
class Command
|
|
3
|
-
|
|
4
|
-
def self.globs(source, destination)
|
|
5
|
-
Dir.chdir(source) do
|
|
6
|
-
dirs = Dir['*'].select { |x| File.directory?(x) }
|
|
7
|
-
dirs -= [destination, File.expand_path(destination), File.basename(destination)]
|
|
8
|
-
dirs = dirs.map { |x| "#{x}/**/*" }
|
|
9
|
-
dirs += ['*']
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
3
|
program :int_block do
|
|
14
4
|
# kill threads etc
|
|
15
5
|
# make sure to exit or abort, otherwise your program keeps running
|
|
@@ -17,5 +7,17 @@ module Hyla
|
|
|
17
7
|
exit 1
|
|
18
8
|
end
|
|
19
9
|
|
|
10
|
+
#
|
|
11
|
+
# Check mandatory options
|
|
12
|
+
#
|
|
13
|
+
def self.check_mandatory_option?(key, value)
|
|
14
|
+
if value.nil? or value.empty?
|
|
15
|
+
Hyla.logger.warn "Mandatory option missing: #{key}"
|
|
16
|
+
exit(1)
|
|
17
|
+
else
|
|
18
|
+
true
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
20
22
|
end
|
|
21
23
|
end
|
data/lib/hyla/commands/create.rb
CHANGED
|
@@ -2,24 +2,33 @@ module Hyla
|
|
|
2
2
|
module Commands
|
|
3
3
|
class Create < Command
|
|
4
4
|
|
|
5
|
-
def self.process(args, options
|
|
5
|
+
def self.process(args, options)
|
|
6
|
+
destination = options[:destination] if check_mandatory_option?('--d / --destination', options[:destination])
|
|
7
|
+
artefact_type = options[:artefact_type] if check_mandatory_option?('--a / --artefact_type', options[:artefact_type])
|
|
8
|
+
type = options[:type] if check_mandatory_option?('--t / --type', options[:type])
|
|
6
9
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
destination = options[:destination]
|
|
10
|
-
artefact_type = options[:artefact_type]
|
|
11
|
-
type = options[:type]
|
|
12
|
-
|
|
13
|
-
copy_artefact(type, artefact_type, destination)
|
|
10
|
+
copy_artefact(type, artefact_type, destination)
|
|
14
11
|
end
|
|
15
12
|
|
|
13
|
+
#
|
|
14
|
+
# Copy Artefact to Destination directory
|
|
15
|
+
#
|
|
16
16
|
def self.copy_artefact(type, artefact_type, destination)
|
|
17
|
-
|
|
18
|
-
source = [
|
|
19
|
-
destination =
|
|
17
|
+
artefact_file_name = type + '_' + artefact_type + Configuration::ADOC_EXT
|
|
18
|
+
source = [Configuration::samples, artefact_file_name] * '/'
|
|
19
|
+
destination = File.expand_path(destination)
|
|
20
|
+
|
|
20
21
|
FileUtils.cp(source, destination)
|
|
22
|
+
|
|
23
|
+
Hyla::logger.info ">> Artefact #{artefact_file_name} added to project #{destination}"
|
|
24
|
+
|
|
25
|
+
case artefact_type
|
|
26
|
+
when 'image','audio','video'
|
|
27
|
+
source_dir = [Configuration::samples, artefact_type] * '/'
|
|
28
|
+
FileUtils.cp_r(source_dir,destination)
|
|
29
|
+
end
|
|
21
30
|
end
|
|
22
31
|
|
|
23
|
-
end # class
|
|
32
|
+
end # class Create
|
|
24
33
|
end # module Commands
|
|
25
34
|
end # module Hyla
|
|
@@ -2,38 +2,43 @@ module Hyla
|
|
|
2
2
|
module Commands
|
|
3
3
|
class Generate < Command
|
|
4
4
|
|
|
5
|
-
attr_reader :artefact
|
|
6
|
-
|
|
7
5
|
DEFAULT_OPTIONS = {
|
|
8
|
-
|
|
9
|
-
:
|
|
10
|
-
:
|
|
11
|
-
|
|
12
|
-
:
|
|
13
|
-
:
|
|
14
|
-
:
|
|
15
|
-
:
|
|
16
|
-
:
|
|
17
|
-
:
|
|
18
|
-
:
|
|
6
|
+
|
|
7
|
+
:source => Dir.pwd,
|
|
8
|
+
:destination => File.join(Dir.pwd, 'generated_content'),
|
|
9
|
+
|
|
10
|
+
:watch_dir => '.',
|
|
11
|
+
:watch_ext => %w(ad adoc asciidoc txt index),
|
|
12
|
+
:run_on_start => false,
|
|
13
|
+
:backend => 'html5',
|
|
14
|
+
:eruby => 'erb',
|
|
15
|
+
:doctype => 'article',
|
|
16
|
+
:compact => false,
|
|
17
|
+
:attributes => {
|
|
18
|
+
'source-highlighter' => 'coderay',
|
|
19
|
+
'linkcss!' => 'true',
|
|
20
|
+
'data-uri' => 'true',
|
|
21
|
+
'stylesheet' => 'asciidoctor.css',
|
|
22
|
+
'stylesdir' => Configuration::styles
|
|
23
|
+
},
|
|
24
|
+
:always_build_all => false,
|
|
25
|
+
:safe => 'unsafe',
|
|
26
|
+
:header_footer => true
|
|
19
27
|
}
|
|
20
28
|
|
|
21
29
|
def self.process(args, options = {})
|
|
22
30
|
|
|
23
|
-
@config = Hyla::Configuration.new
|
|
24
|
-
|
|
25
31
|
rendering = options[:rendering] if self.check_mandatory_option?('--r / --rendering', options[:rendering])
|
|
26
32
|
|
|
27
33
|
case rendering
|
|
28
|
-
when '
|
|
34
|
+
when 'toc2adoc'
|
|
29
35
|
|
|
30
|
-
Hyla.logger.info "Rendering : Table of Content to
|
|
36
|
+
Hyla.logger.info "Rendering : Table of Content to Asciidoc"
|
|
31
37
|
self.check_mandatory_option?('--t / --toc', options[:toc])
|
|
32
38
|
@toc_file = options[:toc]
|
|
33
39
|
@out_dir = options[:destination]
|
|
34
40
|
@project_name = options[:project_name]
|
|
35
41
|
|
|
36
|
-
|
|
37
42
|
self.table_of_content_to_asciidoc(@toc_file, @out_dir, @project_name)
|
|
38
43
|
|
|
39
44
|
when 'adoc2html'
|
|
@@ -44,10 +49,51 @@ module Hyla
|
|
|
44
49
|
@destination = options[:destination]
|
|
45
50
|
@source = options[:source]
|
|
46
51
|
|
|
47
|
-
|
|
52
|
+
extensions = 'adoc|ad|txt'
|
|
53
|
+
|
|
54
|
+
self.asciidoc_to_html(@source, @destination, extensions, options)
|
|
55
|
+
|
|
56
|
+
when 'adoc2slide'
|
|
57
|
+
Hyla.logger.info "Rendering : Asciidoc to SlideShow"
|
|
58
|
+
self.check_mandatory_option?('--s / --source', options[:source])
|
|
59
|
+
self.check_mandatory_option?('--d / --destination', options[:destination])
|
|
60
|
+
|
|
61
|
+
# Assign by default backend as HTML5 if not provided by command line
|
|
62
|
+
backend = options[:backend]? options[:backend] : 'html5'
|
|
63
|
+
|
|
64
|
+
#
|
|
65
|
+
# Retrieve asciidoctor attributes
|
|
66
|
+
# Could be an Arrays of Strings key=value,key=value
|
|
67
|
+
# or
|
|
68
|
+
# Could be a Hash (DEFAULTS, CONFIG_File)
|
|
69
|
+
attributes = options[:attributes]
|
|
70
|
+
override_attrs = case attributes
|
|
71
|
+
when Hash then attributes
|
|
72
|
+
when String then
|
|
73
|
+
result = attributes.split(',')
|
|
74
|
+
attributes = Hash.new
|
|
75
|
+
result.each do |entry|
|
|
76
|
+
words = entry.split('=')
|
|
77
|
+
attributes[words[0]] = words[1]
|
|
78
|
+
end
|
|
79
|
+
attributes
|
|
80
|
+
else {}
|
|
81
|
+
end
|
|
48
82
|
|
|
49
|
-
|
|
50
|
-
|
|
83
|
+
@destination = options[:destination]
|
|
84
|
+
@source = options[:source]
|
|
85
|
+
options = {
|
|
86
|
+
:backend => backend,
|
|
87
|
+
:template_dirs => [
|
|
88
|
+
self.backend_dir(options[:backend])
|
|
89
|
+
],
|
|
90
|
+
:watch_ext => %w(index),
|
|
91
|
+
:attributes => override_attrs
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
extensions = 'index|adoc|ad|asciidoc'
|
|
95
|
+
|
|
96
|
+
self.asciidoc_to_html(@source, @destination, extensions, options)
|
|
51
97
|
else
|
|
52
98
|
Hyla.logger.error ">> Unknow rendering"
|
|
53
99
|
exit(1)
|
|
@@ -57,16 +103,43 @@ module Hyla
|
|
|
57
103
|
# self.table_of_content_to_asciidoc(@toc_file, @out_dir, @project_name)
|
|
58
104
|
end
|
|
59
105
|
|
|
60
|
-
|
|
106
|
+
# Return backend directory
|
|
107
|
+
# containing templates (haml, slim)
|
|
108
|
+
def self.backend_dir(backend)
|
|
109
|
+
case backend
|
|
110
|
+
when 'deckjs'
|
|
111
|
+
return [Configuration::backends, 'haml', 'deckjs'] * '/'
|
|
112
|
+
when 'revealjs'
|
|
113
|
+
return [Configuration::backends, 'slim', 'revealjs'] * '/'
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def self.asciidoc_to_html(source, destination, extensions, options)
|
|
118
|
+
|
|
119
|
+
# CSS Style to be applied
|
|
120
|
+
css_style = self.check_style(options[:style])
|
|
121
|
+
|
|
122
|
+
override = {
|
|
123
|
+
:attributes => {
|
|
124
|
+
'stylesheet' => css_style
|
|
125
|
+
}
|
|
126
|
+
}
|
|
61
127
|
|
|
62
|
-
options =
|
|
128
|
+
@options = Configuration[options].deep_merge(override)
|
|
63
129
|
|
|
64
130
|
# Move to Source directory & Retrieve Asciidoctor files to be processed
|
|
65
131
|
source = File.expand_path source
|
|
66
132
|
@destination = File.expand_path destination
|
|
133
|
+
|
|
67
134
|
Hyla.logger.info ">> Source dir: #{source}"
|
|
68
135
|
Hyla.logger.info ">> Destination dir: #{@destination}"
|
|
69
136
|
|
|
137
|
+
# Exit if source directory does not exist
|
|
138
|
+
if !Dir.exist? source
|
|
139
|
+
Hyla.logger.error ">> Source directory does not exist"
|
|
140
|
+
exit(1)
|
|
141
|
+
end
|
|
142
|
+
|
|
70
143
|
Dir.chdir(source)
|
|
71
144
|
current_dir = Dir.pwd
|
|
72
145
|
Hyla.logger.info ">> Current dir: #{current_dir}"
|
|
@@ -74,27 +147,36 @@ module Hyla
|
|
|
74
147
|
# Delete destination directory
|
|
75
148
|
FileUtils.rm_rf(Dir.glob(@destination))
|
|
76
149
|
|
|
77
|
-
# Search for
|
|
150
|
+
# Search for files using extensions parameter and do the rendering
|
|
78
151
|
adoc_file_paths = []
|
|
79
152
|
Find.find(current_dir) do |path|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
153
|
+
if path =~ /.*\.(?:#{extensions})$/
|
|
154
|
+
path1 = Pathname.new(source)
|
|
155
|
+
path2 = Pathname.new(path)
|
|
156
|
+
relative_path = path2.relative_path_from(path1).to_s
|
|
157
|
+
Hyla.logger.debug ">> Relative path: #{relative_path}"
|
|
158
|
+
adoc_file_paths << relative_path
|
|
159
|
+
|
|
160
|
+
# Create dir
|
|
161
|
+
html_dir = @destination + '/' + File.dirname(relative_path)
|
|
162
|
+
Hyla.logger.info ">> Dir of html: #{html_dir}"
|
|
163
|
+
FileUtils.mkdir_p html_dir
|
|
164
|
+
|
|
165
|
+
# Copy Resources for Slideshow
|
|
166
|
+
case options[:backend]
|
|
167
|
+
when 'deckjs'
|
|
168
|
+
# Copy css, js files to destination directory
|
|
169
|
+
self.cp_resources_to_dir(File.dirname(html_dir), 'deck.js')
|
|
170
|
+
when 'revealjs'
|
|
171
|
+
self.cp_resources_to_dir(File.dirname(html_dir), 'revealjs')
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
# Render asciidoc to HTML
|
|
175
|
+
Hyla.logger.info ">> File to be rendered : #{path}"
|
|
176
|
+
@options[:to_dir] = html_dir
|
|
177
|
+
Asciidoctor.render_file(path, @options)
|
|
178
|
+
|
|
179
|
+
end
|
|
98
180
|
end
|
|
99
181
|
|
|
100
182
|
# No asciidoc files retrieved
|
|
@@ -105,6 +187,26 @@ module Hyla
|
|
|
105
187
|
|
|
106
188
|
end
|
|
107
189
|
|
|
190
|
+
#
|
|
191
|
+
# CSS Style to be used
|
|
192
|
+
# Default is : asciidoctor.css
|
|
193
|
+
#
|
|
194
|
+
def self.check_style(style)
|
|
195
|
+
if !style.nil?
|
|
196
|
+
css_file = [style, '.css'].join()
|
|
197
|
+
else
|
|
198
|
+
css_file = 'asciidoctor.css'
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
#
|
|
203
|
+
# Copy resources to target dir
|
|
204
|
+
def self.cp_resources_to_dir(path, resource)
|
|
205
|
+
source = [Configuration::resources, resource] * '/'
|
|
206
|
+
destination = [path, resource] * '/'
|
|
207
|
+
FileUtils.cp_r source, destination
|
|
208
|
+
end
|
|
209
|
+
|
|
108
210
|
#
|
|
109
211
|
# Method parsing TOC File to generate directories and files
|
|
110
212
|
# Each Level 1 entry will become a directory
|
|
@@ -121,23 +223,32 @@ module Hyla
|
|
|
121
223
|
# Open file & parse it
|
|
122
224
|
f = File.open(toc_file, 'r')
|
|
123
225
|
|
|
226
|
+
# Expand File Path
|
|
227
|
+
@out_dir = File.expand_path out_dir
|
|
228
|
+
|
|
124
229
|
# Re Create Directory of generated content
|
|
125
|
-
if Dir.exist? out_dir
|
|
126
|
-
FileUtils.rm_rf out_dir
|
|
127
|
-
FileUtils.mkdir_p out_dir
|
|
230
|
+
if Dir.exist? @out_dir
|
|
231
|
+
FileUtils.rm_rf @out_dir
|
|
232
|
+
FileUtils.mkdir_p @out_dir
|
|
128
233
|
else
|
|
129
|
-
FileUtils.mkdir_p out_dir
|
|
234
|
+
FileUtils.mkdir_p @out_dir
|
|
130
235
|
end
|
|
131
236
|
|
|
237
|
+
# Copy YAML Config file
|
|
238
|
+
FileUtils.cp_r [Configuration::templates, Configuration::YAML_CONFIG_FILE_NAME] * '/', @out_dir
|
|
239
|
+
|
|
240
|
+
# Copy styles
|
|
241
|
+
FileUtils.cp_r Configuration::styles, @out_dir
|
|
242
|
+
|
|
132
243
|
#
|
|
133
244
|
# Move to 'generated' directory as we will
|
|
134
245
|
# create content relative to this directory
|
|
135
246
|
#
|
|
136
|
-
Dir.chdir out_dir
|
|
137
|
-
out_dir = Pathname.pwd
|
|
247
|
+
Dir.chdir @out_dir
|
|
248
|
+
@out_dir = Pathname.pwd
|
|
138
249
|
|
|
139
250
|
# Create index file of all index files
|
|
140
|
-
@project_index_file = self.create_index_file(project_name,
|
|
251
|
+
@project_index_file = self.create_index_file(project_name, Configuration::LEVEL_1)
|
|
141
252
|
|
|
142
253
|
|
|
143
254
|
# File iteration
|
|
@@ -153,7 +264,7 @@ module Hyla
|
|
|
153
264
|
|
|
154
265
|
# Create File
|
|
155
266
|
dir_name = remove_special_chars(2, line)
|
|
156
|
-
new_dir = [out_dir, dir_name].join('/')
|
|
267
|
+
new_dir = [@out_dir, dir_name].join('/')
|
|
157
268
|
Hyla.logger.info '>> Directory created : ' + new_dir + ' <<'
|
|
158
269
|
FileUtils.mkdir_p new_dir
|
|
159
270
|
Dir.chdir(new_dir)
|
|
@@ -166,10 +277,10 @@ module Hyla
|
|
|
166
277
|
# It is used to include files belonging to a module and will be used for SlideShows
|
|
167
278
|
# The file created contains a title (= Dir Name) and header with attributes
|
|
168
279
|
#
|
|
169
|
-
@index_file = create_index_file(dir_name,
|
|
280
|
+
@index_file = create_index_file(dir_name, Configuration::LEVEL_1)
|
|
170
281
|
|
|
171
282
|
# Include index file created to parent index file
|
|
172
|
-
@project_index_file.puts
|
|
283
|
+
@project_index_file.puts Configuration::INCLUDE_PREFIX + dir_name + '/' + dir_name + Configuration::INDEX_SUFFIX + Configuration::INCLUDE_SUFFIX
|
|
173
284
|
|
|
174
285
|
# Move to next line record
|
|
175
286
|
next
|
|
@@ -192,18 +303,18 @@ module Hyla
|
|
|
192
303
|
Hyla.logger.info ' # File created : ' + f_name.to_s
|
|
193
304
|
f_name += '.adoc'
|
|
194
305
|
@new_f = File.new(f_name, 'w')
|
|
195
|
-
@new_f.puts
|
|
306
|
+
@new_f.puts Configuration::HEADER
|
|
196
307
|
|
|
197
308
|
@previous_f = @new_f
|
|
198
309
|
|
|
199
310
|
# Include file to index
|
|
200
|
-
@index_file.puts
|
|
311
|
+
@index_file.puts Configuration::INCLUDE_PREFIX + f_name + Configuration::INCLUDE_SUFFIX
|
|
201
312
|
end
|
|
202
313
|
|
|
203
314
|
#
|
|
204
315
|
# Add Content to file if it exists and line does not start with characters to be skipped
|
|
205
316
|
#
|
|
206
|
-
if !@new_f.nil? and !line.start_with?(
|
|
317
|
+
if !@new_f.nil? and !line.start_with?(Configuration::SKIP_CHARACTERS)
|
|
207
318
|
@new_f.puts line
|
|
208
319
|
end
|
|
209
320
|
|
|
@@ -211,8 +322,6 @@ module Hyla
|
|
|
211
322
|
|
|
212
323
|
end
|
|
213
324
|
|
|
214
|
-
# method parse_file(f)
|
|
215
|
-
|
|
216
325
|
#
|
|
217
326
|
# Remove space, dot from a String
|
|
218
327
|
#
|
|
@@ -239,10 +348,10 @@ module Hyla
|
|
|
239
348
|
# containing references to asciidoc files part of a module
|
|
240
349
|
#
|
|
241
350
|
def self.create_index_file(file_name, level)
|
|
242
|
-
n_file_name = file_name +
|
|
351
|
+
n_file_name = file_name + Configuration::INDEX_SUFFIX
|
|
243
352
|
index_file = File.new(n_file_name, 'w')
|
|
244
353
|
index_file.puts level + file_name
|
|
245
|
-
index_file.puts
|
|
354
|
+
index_file.puts Configuration::HEADER_INDEX
|
|
246
355
|
|
|
247
356
|
index_file
|
|
248
357
|
end
|