-
Notifications
You must be signed in to change notification settings - Fork 61
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
Support folder hierarchies and nested files in URLs without flattening them #670
Comments
I believe this is my last blocker for migrating my course notes to myst :-) Next in line: a course starting in January: https://nicolas.thiery.name/Enseignement/IntroScienceDonnees/ Thanks in advance! |
Could I signal-boost this one? Is it a particularly complicated one to implement? I ask because I think fixing this would be quite valuable: I think it is one of the only remaining "hard blockers" for any pre-existing users of Jupyter Book or Sphinx, given that currently, switching to MyST will break everybody's URLs. |
Talking to @choldgraf, another point to consider is the ability to preserve existing links. If we implement a jb1 slug scheme, then we could easily ensure that no links break. However this is not necessarily a requirement. |
That is links in the table of contents? I have talked to @fwkoch and we are going to do some planning on this this week, and ideally get it over the line next week. |
I mean that should a user have some uri to Maybe it should be a configurable setting. |
As a few driving examples:
The concerns @agoose77 is voicing are that:
And the two potential solutions we discussed being:
But there might be other solutions to explore too! |
We also might want to do a pass in adding explicit '.html' to our static file urls - right now we leave that to the file server (so python's http server doesn't work) |
When building a web site, nested file names are flattened and replaced
with slugs:
https://mystmd.org/guide/table-of-contents#nesting-of-files-in-urls
While I can see the value for the end-user (simple urls), there are use cases
where this is detrimental, as the nested file name actually carries semantic.
For example, in my course,
the name of a document, says
/Solutions/Semaine3/foo.html
tells thatthis is a solution for notebook foo of week 3. While
Devoirs/Semaine3/foo.html
is the original assignment. This also helps the user match the pages on the
web with the notebooks that they have dowloaded separately.
Proposal
Provide a configuration option
flatten_filename=true/false
, withtrue
as defaultvalue, to enable or disable flattening of file names.
Provide a configuration option 'transform_filename=true/false
, with
true` as defaultvalue, to enable or disable file name transformation.
When both options are set to false, one recovers JupyterBook's behavior.
The text was updated successfully, but these errors were encountered: