/hyhyhy

A tool for creating nice looking HTML5 presentations. :trollface:

Primary LanguageJavaScriptMIT LicenseMIT

hyhyhy Gem Version

A Ruby library for creating and outputting professional, business-looking (HTML5) presentations that can be viewed inside the browser!

Introduction

hyhyhy is used from the Ruby CLI and relies on a series of steps that developers (and even regular users) can go through to build a simple presentation.

Once these steps completed, an HTML5 file is generated which can be accessed, viewed, and hosted online.

Features

All hyhyhy presentations come with support for a wide range of features, like Markdown text formatting, page transitions, sequential transitions for objects on the page, syntax highlighting, and mathematical functions.

There’s also support for keyboard shortcuts, showing the position inside the overall presentation timeline, hashed URLs for easy deep-linking, automatic rebuilds on content changes, responsive layouts, and touch gestures on mobile devices.

All presentations are very well supported across browsers and the library also includes lots of documentation.

More reading:

  • Installation: Step-by-step instructions for getting hyhyhy running on your computer.
  • Quickstart: Step-by-step instructions for creating new project.
  • Commands: List of Ruby CLI commands.
  • Usage: Instructions stating how to use the framework.
  • Configuration: Explanation of configure the tool.
  • Dependencies: List of used dependencies in the project.
  • Supported browsers: Explanation of browser support and fallbacks.
  • Presentation: Explanation of use the generated project.
  • Example: Sample available immediately after installation.
  • Contributing: Explanation of how you can join the project.
  • Conceptions: List of ideas for the future.
  • License: Clarification of certain rules.

Installation

Binary installers for the latest released version are available at the RubyGems.

$ gem install hyhyhy

You can create a new project by generating structure like this. Make sure that the destination folder does not exist because it will be overwritten.

my-new-presentation
├── _assets                # Assets, own catalogs
│   ├── javascripts        # Scripts
│   │   └── main.js        # Core (presentation)
│   └── stylesheets        # Styles
│       └── main.css       # Default
├── _includes              # Bower components
│   └── bower.json         # Package list
├── _layouts               # Layouts
│   └── default.erb        # Basic template
├── _slides                # Slides/Sections
│   ├── 1.introduction.md  # First group
│   ├── 2.packages.md      # Second group
│   ├── ...                # ...
│   └── n.html             # Last gruop
├── .bowerrc               # Bower configure
├── .hyhyhy                # Hyhyhy configure
└── README.md              # Simplified guide

Quickstart

$ gem install hyhyhy
$ hyhyhy new
$ cd new_empty_presentation
$ hyhyhy build --watch --serve

Commands

New

Creates a default structure.

$ hyhyhy new

Build

This function should splice all your slides/sections in one presentation. When you build your project it will generate a static version in the build folder that you can use.

$ hyhyhy build

Serve

Serve your presentation locally.

$ hyhyhy serve

Help

Displays a brief summary of the basic functions.

$ hyhyhy --help

Version

Displays a version.

$ hyhyhy --version

Usage

NOT READY, YET! SEE MAIN PRESENTATION...

Configuration

For now, you can change the basic variables in the .hyhyhy configuration file.

{
  "title": "hyhyhy",
  "description": "Pure & Professional presentations",
  "author": "Maciej A. Czyzewski"
}

Dependencies

  • Ruby (>= 1.9.3)
    • commander
    • kramdown
    • launchy
    • listen
    • erubis
    • bundler
    • rake
  • Javascript
    • prism.js
    • MetricsGraphics.js
    • katex.js
  • Others
    • bower (optional)

Supported browsers

  • Firefox 2+
  • Safari 3+
  • Opera 9.64+
  • Chrome
  • IE9, IE10, IE11

Presentation

  • Press (space or shift + space), (left arrow or right arrow) and (k or j) to navigate.
  • Press h to launch fullscreen.
  • Press ESC to exit fullscreen mode.
  • Press gg/shift + g to move to top/bottom.
  • Browser zooming is supported.
  • Touch events are supported.

Example

Sample available immediately after installation. You can see it live by clicking this link.

Contributing

The goal was to make package that will speed up work on own presentation.Please feel free to contribute to this project! Pull requests and feature requests welcome! ✌️

Conceptions

  • speaker notes
  • travis tests
  • compression

License

See LICENSE file in this repository.

Credits

Thanks