[This one is related at least to #792, [meta/#52](https://github.com/executablebooks/meta/issues/52), and #886, but it's not exactly the same and I believe a solution (or at least workaround) would be easier than that for either of those issues]
Is your feature request related to a problem? Please describe.
Currently, it is not possible (I think) to link to a reveal.js presentation that is hosted on the same repository as the book.
For example, if I have my_lecture.md in MyST and part of a book with a chunk that looks like:
You can find the slides of this lecture at:
- [HTML](../slides/lecture.html)
and ../slides/ contains not only the html but the css, etc. required to render it, etc.
In the example above, the link would not render, and using
- {download}`HTML <../slides/lecture.html>`
will also not work because it will only copy the html itself, but not the other assets in the folder.
Describe the solution you'd like
Similar to how jekyll and other static web generators operate, it'd would be great to be able to have jupyter-book also include an arbitrary folder with files that are not directly built on the book but that can be linked to from the book pages. With this, I believe hosting sites like Github Pages would be able to serve the Reveal.js slidedecks without problem.
Describe alternatives you've considered
Honestly, I'm not sure what I could do instead, other than go back to jekyll (which I would _really_ prefer not).
[Edit: I guess a suggestion is move the folder with all the slide assets to the build book after jupyter-book has built it, and have the files linked in the book using raw HTML. This looks very hacky and I suspect it'd cause problems down the line, no less because the use of raw HTML is adviced against)
Additional context
This issue happens in the context of the development of the new iteration of the Geographic Data Science course. In the last iteration, I had separate pages for each lecture (for example, lecture I) and the build slidedecks were part of the page served so linking worked without issue.
This year, I was planning on moving to the new version of jupyter-book. I have been experimenting with it over at https://github.com/darribas/gds_course (with site served at https://darribas.org/gds_course), but I've hit this roadblock, which is potentially a deal-breaker.
Any suggestions? Thank you very much in advance and congratulations on an awesome project!
Thanks @darribas, I would start by looking at https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_extra_path, and let me know if any workaround is possible with that?
But if this does not fully solve the requirement, then we can look at implementing something extra in MyST-Parser
Quick update I've tried it on my setup and, broadly speaking it works, although for my particular use case, it does not. The problem is that the folders I want to add extra are in a folder with material that is being copied and I seem to run into issues with this setup. However, for this particular case, I have a working solution so I don't think it's required tweaking MyST.
A related question is whether you know if it's possible to link in markdown to local files that one copies manually over the HTML folder. This would be say [my file to download](path/to/file.csv) and have that rendered in Jupyter Book. Again I'm doing this on raw HTML and it seems to work OK, but I was wondering whether there's a better option. Thanks!
For things like CSV files, you should be able to link to them with the {download} role as you described above, whatever you link to will be copied over to the output folder and should work.
BTW - check out #792 for one hacky solution to RISE + Jupyter Book: https://github.com/executablebooks/jupyter-book/issues/792#issuecomment-707435099
Excellent! I'll check it out! I'm going to close this as considered solved. Thank you very much for superb support and an amazing project!!!