I love #Inkscape, and I love giving talks!
-
-
I love #Inkscape, and I love giving talks! So why not make slides using Inkscape?
My idea is to write a tool that looks at the layers of an SVG document, and creates one PDF page per layer, in top-to-bottom order. On the page, only that layer, plus all parent layers, would be visible.
That way, you could have an always-visible "master slide" in the background, and create simple step-by-step animations. In this example, "2" would be shown first, then "2a", then "2ab". After that, only "3".
@blinry
I think there was a tool/script doing that in html5 I remember 🤔 -
undefined oblomov@sociale.network shared this topic on
-
I love #Inkscape, and I love giving talks! So why not make slides using Inkscape?
My idea is to write a tool that looks at the layers of an SVG document, and creates one PDF page per layer, in top-to-bottom order. On the page, only that layer, plus all parent layers, would be visible.
That way, you could have an always-visible "master slide" in the background, and create simple step-by-step animations. In this example, "2" would be shown first, then "2a", then "2ab". After that, only "3".
@blinry inkscape can do multiple canvases and cloned objects. You could add the ever-same background as a clone to each canvas and then export to pdf would be working right away.
The a/b/c thing, though, would still need extra work.
-
So… I'm interested in two things: Have you seen a tool/plugin that would feel similar to use?
And second: Are there any #Inkscape lovers out there who would have the need for such a tool? I'd be curious about your wishes/requirements! :)
@blinry you are the only one i know who „loves“ inkscape. 😅
-
I love #Inkscape, and I love giving talks! So why not make slides using Inkscape?
My idea is to write a tool that looks at the layers of an SVG document, and creates one PDF page per layer, in top-to-bottom order. On the page, only that layer, plus all parent layers, would be visible.
That way, you could have an always-visible "master slide" in the background, and create simple step-by-step animations. In this example, "2" would be shown first, then "2a", then "2ab". After that, only "3".
@blinry I think, I have used a python script called `inkslides.py` in the past, but compatibility broke with newer versions of Inkscape. It supported nested layers to have the same backround and elements for more than one slide.
-
I love #Inkscape, and I love giving talks! So why not make slides using Inkscape?
My idea is to write a tool that looks at the layers of an SVG document, and creates one PDF page per layer, in top-to-bottom order. On the page, only that layer, plus all parent layers, would be visible.
That way, you could have an always-visible "master slide" in the background, and create simple step-by-step animations. In this example, "2" would be shown first, then "2a", then "2ab". After that, only "3".
@blinry Alternatively, you could use Inkscape's native page support. It's a bit wonky, and you need to do master pages by hand by putting a clone of the master page on every other page, but it should get the job done.
-
When editing the file, turning the layers on/off a lot would be a bit inconvenient. Maybe a dedicated plugin could help with that.
And then, there are some possibilities for making the "renderer" happen:
It could be an external tool that you point at the SVG, and it outputs the PDF, as fast as possible.
It could be an Inkscape plugin; but all I've used felt a bit iffy, I dunno…
It could be a script that does as little as possible, and calls Inkscape on the command line for rendering?
So I made a little prototype of my #Inkscape to slide generator! You can find the Rust code here: https://codeberg.org/blinry/inkslide
It will create one PDF page per layer, which shows that layer plus all parents. It's pretty fast, because all pages can be processed in parallel (thanks to the rayon library)!
I noticed that as an exception, the topmost layer should not be rendered to its own slide (I use it as a "master slide").
-
So I made a little prototype of my #Inkscape to slide generator! You can find the Rust code here: https://codeberg.org/blinry/inkslide
It will create one PDF page per layer, which shows that layer plus all parents. It's pretty fast, because all pages can be processed in parallel (thanks to the rayon library)!
I noticed that as an exception, the topmost layer should not be rendered to its own slide (I use it as a "master slide").
When making that A, B, C slide, I noticed that there's quite some overhead involved in putting all bullet points into their own layer…
So I'm thinking that maybe there could be a rule that certain groups will show their children step by step? Maybe there shouldn't even be nested layers, and all animation within a slide is done via groups?
One could give "animated groups" a special name, even though a solution without that would be much nicer…
-
So I made a little prototype of my #Inkscape to slide generator! You can find the Rust code here: https://codeberg.org/blinry/inkslide
It will create one PDF page per layer, which shows that layer plus all parents. It's pretty fast, because all pages can be processed in parallel (thanks to the rayon library)!
I noticed that as an exception, the topmost layer should not be rendered to its own slide (I use it as a "master slide").
I have an unfinished bit of work that allowed you to only show the selected layer (and it's parents), would this functionality have helped your inkslide workflows here?
-
I have an unfinished bit of work that allowed you to only show the selected layer (and it's parents), would this functionality have helped your inkslide workflows here?
@doctormo Definitely a bit! I found the "Hide/Show Other Layers", which was also already quite useful for "switching slides". But I think the biggest hassle was that for n bullet points, one needs to create n layers, and assign them to these layers. I think some group-related logic might also solve that! :)