Hyla Hyla is a Ruby command line tool to create a new documentation/training/blog/static web site project, add artefacts (articles, blog, audio, video, content, code source, …​), render it in HTML, SlideShow, …​ using asciidoc(tor) as markup language.

Until now, hyla looks like asciidoctor client but it is more similar to Jekyll on the principle but here we support 'asciidoc, asciidoctor' formats and not markdown.

The tool allows to :

  • Generate slideshow presentations (deckJs, RevealJS) - https://twitter.com/cmoulliard/status/421587832159756288,

  • Setup a blank project,

  • Setup a project from template (book, training, training-exercises, documentation/training content, …​

  • Create a documentation/training project (including directories + files) from a Table of Content

  • Generate a one HTML file (= sum of all the asciidoc files) for slideshow (or trainer presentation) using index files (= file containing links to include other files)

  • Render html content from asciidoc (http://asciidoctor.org/docs/user-manual)

  • Render html using different styles

  • Watch files (LiveReload - WebSocket) and render them if a modification has been detected or file added …​

It is not a replacement or a concurrent of 'awestruct'. Idea is to package in hyla css styles, backends, samples (article, image, table, audio, video, book, report) and collection of templates (blog, static web site, awestruct, training, documentation = collection of modules, …​ ) to boost process to develop documentation, training content (reason why hyla will assist you to create from a Table of content the structure of directories + asciidoc files (a file = a chapter =a module)), blog web, book, articles, static web site site …​ without the need to install git projects (everything is packaged in one tool like jekyll).

Reason / Motivation about the packaging : many end users are not developers/engineers and they enjoy to have one tool to use and not a procedure they should clone git repo, build, copy resources manually to finally build a documentation/training/blog …​.

hyla should be released regularly and will contain last releases of styles/backends/awestructs …​ hyla will reuse stylesheets created from 'asciidoctor-stylesheet-factory' and 'asciidoctor-backends' for HTML5, RevealJS, DeckJS, DockBook …​ hyla will include 'awestruct'

The Hyla project name comes from an arboreal frog living in equatorial regions of Europe, Asia or Americas. Its name was inspired by the companion of Hercule (Hylas) in Greek mythology.

Developer

Usage

Open a terminal and move to the folder where you would like to create a new project or develop an existing. As Hyla is command line tool, it will be used with one of the following commands :

create               Creates a new file from asciidoc artefacts for an existing project
generate             Generate modules and asciidoc files from an asciidoc Table Of Content file
help                 Display global or [command] help documentation.
new                  Creates a new Hyla project using a template or blank to the PATH specified
serve                Serve locally your site
watch                Watch directories for any change, add or file deleted and render document (HTML5)

More info about options and commands available can be find by running the command line tool

hyla --help

Documentation

The hyla documentation is available at this address

Copyright © 2013-2014 Charles Moulliard Free use of this software is granted under the terms of the Apache License.

See the LICENSE file for details.

Authors

Hyla was written by Charles Moulliard

Changelog

v1.0.8-9 (2016-08-11) - @cmoulliard

Enhancements / Improvements
  • Display decimal number and bullet before the +/- sign enhancement (#144)

  • Move variables of sass/scss files (#143)

  • Support to collapse/elaspe ordered list (#142)

  • Include update_labs style of GPTE enhancement (#141)

  • Add new var to data-block to change the size enhancement (#140)

  • Add scss within the revealjs-redhat folder to support local build of the css file using compass enhancement (#139)

  • Add new conference-blue theme feature (#138)

  • Add print-pdf javascript file to hyla distribution enhancement (#137)

  • Optionally include BUILD_TAG in footer of course content enhancement (#136)

  • Remove audio tags & snippets (#135)

  • Slidesnumber is interrupted (#132)

  • Migrate hyla to revealjs 3.1 (#133)

v1.0.7 (2015-04-17) - @cmoulliard

Enhancements / Improvements
  • Remove the prefix (which is the name of the folder) before text AllSlides of the file (#75)

  • Implement log4r (#126)

  • Add new properties for Revealjs - marginTop and marginLeft (#125)

  • Support revealjs min/max scale, weight, height & margin (#124)

  • Add jquery and gpe.js script to move audio tag of the slides show (#123)

  • Adapt the slim backend to support generation of script tags using a list (#122)

  • Add missing asciidoctor script & scriptdir attributes (#121)

  • Add missing attributes : data-background-image, data-background-color & data-background-position enhancement (#117)

  • Generate as HTML the Hyla documentation using gh-pages (#115)

  • Refactor assets, fonts & decksjs, revealjs (#111)

  • Support compass and sass (#109)

  • Support scrollbar or revealjs_scrollbar attribute for revealjs (#106)

  • Icon displayed using a block is not aligned vertically (middle) (#105)

  • Change color of the progress bar (revealjs) (#100)

  • Highlighted Source is not aligned on the left, box is too big (#99)

  • Add a cover style for revealjs slideshow to center picture (#96)

  • Support asciidoctor table & update stylesheet to be compliant with RedHat CSS enhancement (#95)

  • Admonition Style is missing from revealjs (#94)

  • Apparently audioscript is not required within the notescript section invalid (#93)

  • Generate summary page from TOC (#92)

  • Trick to include the Font Awesome icons - 4.x (#90)

Bug fixes
  • List is not displayed in grey & red bullets appear for admonition block bug (#102)

  • Upgrade to highlightjs 8.4 bug (#98)

  • Embedded video does not work for vimeo (#xx) (#103)

  • Refactor notescript section of cover, index, labinstruction & file created (#89)

  • revealjs folder is created under the wrong path (2nd time) bug (#101)

v1.0.6 - @cmoulliard

Enhancements / Improvements
  • Add attribute to include additional <scripts/> tags within the HTML generated(#74)

  • Exclude lab_assets & lab_assets_solution(#73)

  • Add data-state attribute to revealjs slim backend(#72)

  • Add possibility to definie the transition style for revealjs(#69)

  • It should be possible to define custom theme for revealjs(#68)

Bug fixes
  • Snippet tag is added to the parent include file bug(#67)

v1.0.5 - @cmoulliard

New Features
  • Add tag and attribute to allow to generate snippet content(#65)

  • Add remote control and mathjax attribute - Revealjs(#58)

  • Add paging number option for revealjs (#57)

Bug fixes
  • Font liberation not retrieved using revealsjs(#60)

  • Fix issue with image not embedded correctly - CR after 999positions(#50)

  • PDF slides are not all exported(#46)

Enhancements / Improvements
  • Add css file of Font Awesome 4.1.0 for revealjs(#49)

  • Add coderay, highlightjs & pygments support for revealjs(#48)

  • Add a variable to specify if we would like to center alignment of the slides(#47)

  • Check gem required(#10)

v1.0.4 - @cmoulliard

New Features
  • Support footer with copyright (#40)

  • Add a header with logo (#40)

  • Create directory/folder containing Liberation fonts

  • Allow to use a different config file (#41)

  • aside, sidebar block (#42)

  • Rename extension from .adoc to .ad for files generated by toc2adoc command

  • Add a new rendering 'cover2png' (#43)

  • Generate an index number for each file created by the TOC (#44)

  • Use index text file to list the files to be included in the PDF (#45)

Bug fixes
  • Image of the header is not embedded in the HTML file generated

  • Fix issue when no project_name is provided

  • remove solid black border around the image

Enhancements / Improvements
  • Add option to support attachment (#39) for email

  • Revert modification to propose adoc2html instead of adoc2htmlslide (#38)

  • Revert modification to propose index2html instead of index2htmlslide (#38)

  • Change h2 font-size of revaljs backend (2.11em -→ 2em)

  • Left justified the slides of revealjs

  • Change margin to use Reveal option margin: 0.2

  • Refactor pdf rendering to allow to group HTML files, add a footer and banner

  • Comment nofooter, noheader and stylesdir

  • Add comment line for the attributes added for the TOC

  • Remove pdf kit dependency

  • Rename .adoc to .ad for files generated during toc2adoc rendering

  • Add true to nofooter, noheader

  • Rename hyla create' command to 'hyla add

v1.0.3 - @cmoulliard

New Features
Bug fixes
  • Change command option to use as symbol the attribute '-' for the one letter and not '--' for the full name. Example -f --file"

  • Embedded image is not displayed with html attached (#30)

  • Typo error - missing white space between title and level (#33)

  • -st parameter is not supported by commander (#32)

Enhancements / Improvements
  • Refactor command watch to support to use _confg.yaml file (#??)

  • Pass as parameter the thread variable - Thread.kill(@t)

  • Refactor serve command to allow to have parameters in _config.yaml file

  • Clean up report template

  • Refactor _config.yaml to provide more info on options (#31)

  • Check gem required (#10)

  • Add shell scripts to play with different scenario (#34)

  • Add example of code snippet (#37)

  • Rename adoc2slide and index2slide to adoc2htmlslide, index2htmlslide (#38)

v1.0.2 (2014-01-31) - @cmoulliard

New Features
  • PDF rendering option has been added - html2pdf (#25)

  • Email as attachment HTML file generated by asciidoctor - (#23,#21)

  • Support RevealJS as template backend for slideshow (#29)

Bug fixes
  • Watch option of the command line does not filter files correctly (#28)

  • Rename require Hyla//WebSocket to require hyla/websocket

Enhancements / Improvements
  • Rename redhat to liberation

  • Add comment and link to install LiveReload, fixed issue (#28)