Coder Social home page Coder Social logo

rrwen / rvslides Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 2.2 MB

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

Home Page: https://www.npmjs.com/package/rvslides

License: MIT License

JavaScript 58.02% CSS 9.23% HTML 32.76%
rvslides rrwen template reveal js node npm slides presentation pdf minimal render deck phantom decktape bower

rvslides's Introduction

rvslides

Richard Wen
[email protected]

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.

rvslides's People

Contributors

rrwen avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.