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 is 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.

Prerequisites

Installation

The latest source code is located in the Hyla git repository on GitHub. Hyla can be installed via the gem command, bundler.

Use gem install command to deploy Hyla :

$ gem install hyla -y

NOTE : The option -y will tell to rubyGems to deploy the gem but also the dependencies required

An alternative is to create a Gemfile and add this line :

gem 'hyla'

And then execute:

$ bundle

Or install it yourself as:

$ gem install hyla -v 1.0.3

For Developer’s only

Clone Git project locally, move to Hyla directory and execute the following commands
gem build hyla.gemspec
sudo gem install hyla-1.0.x.gem -l

To publish Hyla to Gem Repo

gem build hyla.gemspec
gem install hyla-1.0.x.gem -l
gem yank hyla -v 1.0.x
gem push hyla-1.0.x.gem

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 the following 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.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)