andreasKroepelin / polylux

A package for creating slides in Typst
https://polylux.dev/book
MIT License
1.18k stars 55 forks source link

feat: add pdfpc-file metadata in typst directly #123

Open OrangeX4 opened 12 months ago

OrangeX4 commented 12 months ago

Many thanks for Polylux anyway, it is very cool. But I think it would be nice to have the ability to export pdfpc file without polylux2pdfpc.

A lot of work has been done in #83 and #84 , but too many files have been modified. I just come up with a simpler method. I add a locate and query in pdfpc.config() function, so you just add pdfpc.config() in your slide source file to enable this feature.

You can export pdfpc file without polylux2pdfpc simply by:

typst query --root . example.typ --field value --one "<pdfpc-file>" > example.pdfpc

https://typst.app/project/rzIE9aLpKytQUQNn8SSRrP

image

This PR is significant for tools other than pdfpc, just like Typst Preview, which already has a slide mode.

With this feature, Typst Preview can implement better navigation and presenter view, which is much more convenient than pdfpc because you have a hard time installing pdfpc on Windows #106 , and Typst Preview has animated GIFs support that pdfpc doesn't have. https://github.com/Enter-tainer/typst-preview/issues/191 https://github.com/Enter-tainer/typst-preview/issues/192

It's also a good way to achieve #122 .

@andreasKroepelin If you have spare time, could you please take a look at this? Many thanks!

drupol commented 10 months ago

@andreasKroepelin I really like this idea, this could be a good idea to avoid having a dependency to an external program to extract the metadata. What do you think of it?

andreasKroepelin commented 10 months ago

@OrangeX4 @drupol Sorry, I never reacted on this PR. I think the change to Polylux' code is okay but I don't like the user interface of having to call this complicated typst query command. I think "use this tool polylux2pdfpc" is an easier to follow advice for users.

OrangeX4 commented 10 months ago

Thanks for reply. I prefer the typst query command, even though it's a bit more complicated. I think that this command is a low-frequency copy-and-paste command, so it won't be annoying too much. However, keeping polylux2pdfpc as an option also make sense, providing users with two choices.

drupol commented 10 months ago

I do prefer having less complexity and fewer dependencies too, as long as the command to extract the data is correctly documented, it's not an issue.