-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Including JS in specific pages in Sphinx #119
Comments
Isn't this done by |
🤷 Do you have an example? I know that mathjax checks if there is math in any of the pages (via the math domain), and only includes the JS if there is. But this still adds the JS to every page, even if you only have one math directive on a single page. |
My bad, you're right. I thought mathjax works on a per page basis. I'm +:100: on this. Would be great to not embed 50 copies of plotly in a document (and/or not load plotly with each docs page). I hope this could be somehow done by properly using the sphinx machinery though: as time goes, we're breaking the sphinx pipeline more and more. |
Coincidentally a highly relevant post in sphinx discussions: https://groups.google.com/g/sphinx-users/c/c4iV3vlsrWk |
Not coincidental lol, this who I was talking to before opening this issue |
executablebooks/sphinx-panels#28 (comment) I totally did not post my comment on the wrong issue earlier. :P |
Wherever it is, I think it's a very viable solution 😀 |
I don't believe in coincidences... 😊 I just forgot to mention it here |
Another relevant recent discussion with more replies: https://groups.google.com/g/sphinx-users/c/Z-wcktOhIAc (and more familiar faces) |
In a number of our packages (sphinx-tabs, sphinx-togglebuttons, sphinx-copybutton, ..) we load JavaScript into the page to achieve something.
Depending on the JS payload, this slow down page loads, which is never ideal.
Writing a website from scratch, you would only include script in your page when they are needed, but in the Sphinx this does not seem possible in a trivial manner.
So what is the best way to achieve this in Sphinx? Is there a way that does not involve delving into the depths of sphinx, or is there a PR that could be made to sphinx to help this?
Basically in a particular extension you can note which docs the JS is required in, by adding an attribute to the
env
(e.g. during aDirective.run
), but its how to utilise this later down the line, during the HTML build phase.The text was updated successfully, but these errors were encountered: