The way this project is currently set up, it seems to assume there will be a single presentation per repository (or branch).
While branches can be used to store multiple talks in the same repo, this requires switching branches and re-running the build/serve commands to switch between talks. This works fine with a local development environment, but breaks down when talks are published via GitHub Pages, which depends on a single branch setting (master, gh-pages or a docs/ folder on the master branch).
How to manage multiple talks?
Users can work around this limitation by cloning or forking the repo for each new presentation, but this seems like overkill when everything except the Markdown content of the presentation would be identical.
The fix for #18 in #27 pulls description and author from the site configuration (rather than hard-coding them in the layout), but this still means only a single value can be specified for each β it just changes the place where this change needs to be made.
The current approach also makes it difficult to integrate this code into other Jekyll sites that already have _posts and pages that are not Reveal.js presentations.
Jekyll collections to the rescue?
I'm wondering whether Jekyll's collections feature could be used to overcome this limitation, so each presentation would be an item in a collection, rather than a post. π€
This would enable not only multiple presentations per repository, but also the use of subfolders to structure the collection, for example:
I'm not exactly sure how to go about thisβββand realize it may be out of scope for the original use caseβββbut I'm curious to hear whether this would be useful to others and if anyone has suggestions for how to implement it?
Single talk per repo
The way this project is currently set up, it seems to assume there will be a single presentation per repository (or branch).
While branches can be used to store multiple talks in the same repo, this requires switching branches and re-running the
build
/serve
commands to switch between talks. This works fine with a local development environment, but breaks down when talks are published via GitHub Pages, which depends on a single branch setting (master
,gh-pages
or adocs/
folder on themaster
branch).How to manage multiple talks?
Users can work around this limitation by cloning or forking the repo for each new presentation, but this seems like overkill when everything except the Markdown content of the presentation would be identical.
The fix for #18 in #27 pulls description and author from the site configuration (rather than hard-coding them in the layout), but this still means only a single value can be specified for each β it just changes the place where this change needs to be made.
The current approach also makes it difficult to integrate this code into other Jekyll sites that already have
_posts
and pages that are not Reveal.js presentations.Jekyll collections to the rescue?
I'm wondering whether Jekyll's collections feature could be used to overcome this limitation, so each presentation would be an item in a collection, rather than a post. π€
This would enable not only multiple presentations per repository, but also the use of subfolders to structure the collection, for example:
Jekyll's collection permalinks could then be used to create a dedicated URL for each presentation, like https://example.com/talks/conference1/talk1/.
I'm not exactly sure how to go about thisβββand realize it may be out of scope for the original use caseβββbut I'm curious to hear whether this would be useful to others and if anyone has suggestions for how to implement it?