Skip to content
/ rvslides Public

Minimalistic command line tool for templating and PDF rendering of reveal.js presentations.

License

Notifications You must be signed in to change notification settings

rrwen/rvslides

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rvslides

Richard Wen
rrwen.dev@gmail.com

Minimalistic command line tool for templating and PDF rendering of reveal.js presentations.

npm install rvslides -g
rvslides create
rvslides pdf

WARNING: No longer installs properly due to changes from decktape.

Install

  1. Ensure Node.js is installed
  2. Install via npm:
npm install rvslides -g

For the latest developer version, see Developer Install.

Usage

Generate slides index.html in the current directory:

rvslides create
  • Edit the index.html file to modify slides
  • Replace the img/logo.svg file to change the logo

Render index.html slides as a PDF pdf/index.pdf:

rvslides pdf

For usage help, use rvslides -h

Advanced Usage

Render Portable Document File (PDF)

PDF support is based on decktape.

  • Generate pdf/index.pdf for index.html with rvslides pdf
  • Generate a PDF with different html slides and output with rvslides pdf path/to/slides.html path/to/slides.pdf

Manage JavaScript (JS) Packages

The JS packages are contained in js/ with package management based on bower.

  • Install bower npm install bower -g
  • Install JS packages with bower install <package-name>
  • Update JS packages with bower update <package-name>
  • Uninstall JS packages with bower uninstall <package-name>

Developer Notes

TO DO

  • Incorporate a templating engine
  • Document Github hosting
  • Create unit tests

Developer Install

  1. Ensure git is installed
  2. Install via git:
git clone https://github.com/rrwen/rvslides
cd rvslides
npm install -g

Developer Maintenance

  1. Update package and slide dependencies
  2. Check slides/index.html
  3. Commit and push changes
npm update --save
npm run bower update --save
npm add .
npm commit -a -m "Maintenance update"
npm push

Implementation Notes

PDF Support Implementation

PDF generation is based on decktape, which requires pre-compiled phantomjs files for different operating systems. The npm command is used to install decktape directly from the Github repository. The node command is then used to call scripts/pdf/install.js to download (via request) the pre-compiled files. The pre-compiled files are located under node_modules/decktape. The scripts/pdf files can then be used by node to run decktape with rvslides pdf.

JS Package Management Implementation

Client-end packages are installed and updated with bower inside bower_components. Bower is installed inside this folder to avoid an unwanted global installation, however it can be installed globally by running npm install bower -g. The bower.json file is used to specify package dependencies and node is used to run updates with npm commands (inside package.json) assigned to npm run bower update, npm bower js install, and npm run bower uninstall. These commands are for updating client-end packages on the developer side.

CSS Implementation

The theme is defined by Cascading Style Sheets (CSS) inside css, the original reveal.js white theme, components-font-awesome, and a logo file inside img.