All Projects → janoliver → inkslides

janoliver / inkslides

Licence: MIT license
A rewrite of the inkscapeslide script to create PDF presentations out of inkscape SVG files.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to inkslides

Godot Power Pitch
International pitch for the Godot Game Engine, made in Godot, available in 15+ languages
Stars: ✭ 348 (+1350%)
Mutual labels:  slideshow, presentation
Libreoffice Impress Templates
Freely-licensed LibreOffice Impress templates
Stars: ✭ 238 (+891.67%)
Mutual labels:  slideshow, presentation
React Presents
React slideshow framework
Stars: ✭ 454 (+1791.67%)
Mutual labels:  slideshow, presentation
s6
S6 Blank - Slideshow templates using HTML 5, CSS 3 'n' JavaScript 2017+ w/ Bespoke.js-compatible "microkernel"
Stars: ✭ 91 (+279.17%)
Mutual labels:  slideshow, presentation
Nodeppt
This is probably the best web presentation tool so far!
Stars: ✭ 9,589 (+39854.17%)
Mutual labels:  slideshow, presentation
Big
presentations for busy messy hackers
Stars: ✭ 3,208 (+13266.67%)
Mutual labels:  slideshow, presentation
Backslide
💦 CLI tool for making HTML presentations with Remark.js using Markdown
Stars: ✭ 679 (+2729.17%)
Mutual labels:  slideshow, presentation
TW-Tamasha
Presentation and slideshow app using web technology based onTiddlywiki
Stars: ✭ 28 (+16.67%)
Mutual labels:  slideshow, presentation
Xaringan
Presentation Ninja 幻灯忍者 · 写轮眼
Stars: ✭ 1,129 (+4604.17%)
Mutual labels:  slideshow, presentation
Remark Boilerplate
A boilerplate to create presentations using remark, Gulp, Stylus and more.
Stars: ✭ 41 (+70.83%)
Mutual labels:  slideshow, presentation
markdown-slides
Using markdown, write simple but beautiful presentations with math, animations and media.
Stars: ✭ 64 (+166.67%)
Mutual labels:  slideshow, presentation
Inspire.js
Lean, hackable, extensible slide deck framework. Previously known as CSSS.
Stars: ✭ 1,639 (+6729.17%)
Mutual labels:  slideshow, presentation
Videoshow
Simple node.js utility to create video slideshows from images with optional audio and visual effects using ffmpeg
Stars: ✭ 618 (+2475%)
Mutual labels:  slideshow, presentation
Showoff
Don't just present; interact with your audience!
Stars: ✭ 879 (+3562.5%)
Mutual labels:  slideshow, presentation
Patat
Terminal-based presentations using Pandoc
Stars: ✭ 1,725 (+7087.5%)
Mutual labels:  slideshow, presentation
Vue Slides
Present with Vue
Stars: ✭ 240 (+900%)
Mutual labels:  slideshow, presentation
Pageable
Create full page scrolling web pages. No jQuery.
Stars: ✭ 199 (+729.17%)
Mutual labels:  slideshow
Editly
Slick, declarative command line video editing & API
Stars: ✭ 3,162 (+13075%)
Mutual labels:  slideshow
Vue Infinite Slide Bar
∞ Infinite slide bar component (no dependency and light weight 1.48 KB)
Stars: ✭ 190 (+691.67%)
Mutual labels:  slideshow
Atgmediabrowser
Image slide-show viewer with multiple predefined transition styles, with ability to create new transitions with ease.
Stars: ✭ 186 (+675%)
Mutual labels:  slideshow

InkSlides

inkslides generates a PDF presentation out of an inkscape SVG document. The order of slides and visibility of content is determined by the layer structure of the SVG.

Installation

Clone the repository somewhere and type

> python setup.py install

Requirements

This program has the following requirements:

  • Linux (currently)
  • inkscape
  • Python >= 2.7
  • python-lxml (or python2-lxml)
  • Any one of: PyPDF2, ghostscript (comes with TeXLive), pdfunite

Usage

SVG layer structure

inkslides decides, what to include in the presentation, by looking at the layer structure of the SVG file. A layer is included if it is a sublayer of any other layer. When it contains another level of layers, i.e., sublayers of sublayers, these are included one by one while their siblings are still visible. For example, consider this layer structure:

Polar bears
  Why polar bears are cool
    Argument 3
    Argument 2
    Argument 1
  Weaknesses of polar bears
Title
  Welcome

This would result in a PDF with the following slides, where each line contains the visible layers on one page.

Title,Welcome
Polar bears,Weaknesses of polar bears
Polar bears,Why polar bears are cool,Argument 1
Polar bears,Why polar bears are cool,Argument 1,Argument 2
Polar bears,Why polar bears are cool,Argument 1,Argument 2,Argument 3

As you can see, the layers in the third level of the layer tree are treated as frames, where the previous slides stay visible. If there are no sublayers of sublayers, we end up with a simple slide without any frames.

Text directives

import layers

To reuse common layers you can, in any layer (except root), import other layers by defining a text element whose first line starts with #import#. The subsequent lines should contain the name of layers to be imported. For example:

#import#
Argument 3
Weaknesses of polar bears

would make the two layers Argument 3 and Weaknesses of polar bears visible, regardless of where in the presentation we are right now.

If any of the layers in an #import# block is prefixed with a - (minus) sign, it won't be imported but rather deleted from the current layer list. This is particularly useful for the #master' block (see below).

master layers

inkslides searches for a text element starting with #master#. The syntax is similar to the #import# structure. All layers you list in the master block are visible on every single slide of your presentation. You may disable them by an #import# directive with one of the master layers prefixed with a -. Note, that the master block can appear anywhere in your SVG file.

If multiple #master# blocks are found globally, or multiple #import# blocks are present in one layer, the first one is chosen and the others are ignored.

compile the presentation

> inkslides example.svg

If you pass the parameter -t, --temp, then no temporary files are kept by inkslides. This slows down the compilation but may help during development or debugging.

In addition, you can give the -w, --watch parameter. If it is present, the program keeps running and watches the input SVG file for changes. If changes are detected, the presentation is automatically recompiled.

Try not to embed images but link them to reduce file sizes.

To compress the output PDF files, you may use ghostcript. For example:

> gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dDownsampleColorImages=true -dColorImageResolution=150 -dCompatibilityLevel=1.4 -sOutputFile=$output $input

Acknowledgements

The idea and many concepts of this script are taken from inkscapeslide.

Modified

  • Johannes Graeter: added slide enumeration
  • Johannes Graeter: added structuring by layers
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].