Skip to content

bartman/negative

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Negative - slideware software Copyright (c) 2008, Bart Trojanowski bart@jukie.net

About

This program generates a presentation from an inkscape svg file containing specially named layers (see "Layer naming" below). The output can be either a collection of png files, a collection of pdf files, or a single pdf that contains all the slides.

License

The code is licensed as GPL v2 or, at your option, any later version. Please see [http://www.gnu.org/licenses/gpl-2.0.txt].

History

The initial prototype and idea for negative came from a blog post by Rusty Russell: [http://ozlabs.org/~rusty/index.cgi/2006]

Source code

The project is tracked in git, you can obtain it by cloning it:

    git clone git://github.com/bartman/negative.git

or

    git clone git://git.jukie.net/negative.git/

Dependencies

To build you will need at least librsvg, libcairo, libpcre and libxml2.

Try something like this on your Debian-based system:

    apt-get install librsvg2-dev libcairo2-dev libpcre3-dev libxml2-dev

Building

After obtaining the sources just run make in the project directory.

    make

Optionally you can install with:

    make install

Using

Edit your slideshow in inkscape and save it as an 'Inkscape SVG' which will preserve some of the information that negative works with. Then run:

    negative yourfile.svg

By default negative generates a yourfile.pdf from the input file.

Demo

Included in the project is a demo.svg which shows some of the features. In a clean clone you could run:

    make
    negative -t pdf demo.svg
    xpdf slides.pdf

or to generate png files:

    negative -t pngs demo.svg
    gqview *.png

Layer naming

Layer names are composed of mostly alpha numeric strings and spaces. Additionally a few characters that depict special handling of a given layer.

Layers generate slides from the top layer, being the first page in the output, to the bottom layer, being the last page in the output. Unless a slide name begins with a hash symbol (#) each layer will generate a slide page in the output.

Special meaning for non alpha-numeric characters at start of layer name:

  • # this layer does not generate a slide (it's hidden)
  • _ this layer will be rendered below any layer that generates a slide
  • ^ this layer will be rendered above any layer that generates a slide
  • % this layer will ignore sticky flags _ and ^

The # character can be combined with either _ or ^ to give the presentation a common theme across all slides. For example, adding #_border could be used to place a rectangular border around the slide which would be placed under all other slides. Similarly, a #^sun layer could draw a translucent sun that is rendered over the right corner of other slides. However, the %title layer would not include elements of the border or sun slides and would be rendered on its own.

Special meaning for non alpha-numeric characters found in the middle of the layer name:

  • _ this layer will be rendered below anything that matches the substring on the left of this character in the layer name.
  • ^ this layer will be rendered above anything that matches the substring on the right of this character in the layer name.

vim: set ts=8 et sw=8 tw=72 ft=mkd

About

generate presentation slides from inkscape svg files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published