-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Deploy docs with clean URLs #22048
Deploy docs with clean URLs #22048
Conversation
would be good to diff the generated html before vs after this. I'm a bit nervous that the refactorings here might change some of the windows backslash fixes I had to make in Documenter. |
Good point, but it seems to look fine. I kept the replacements intact and all the path math should go through the Windows builds of the docs are available here: https://github.com/mortenpi/julia/tree/gh-pages I also have a And when grepping for double backslashes I didn't see any that were in links. I built Julia under Cygwin for this, and I also checked that the broken URLs were indeed present when building the docs with Documenter v0.9.0, which didn't have your fixes yet. |
doc/Makefile
Outdated
@cat docbuild.log | ||
endif | ||
@echo "Build finished. The HTML pages are in _build/html." | ||
|
||
deploy: html | ||
deploy: ARGS := deploy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you have a pointer to make docs on what this is doing? not a pattern I see often
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sets the ARGS
variable, but only for the deploy
target, and it gets passed on to all the dependencies, hence I can use it in html
. https://www.gnu.org/software/make/manual/make.html#Target_002dspecific
But I have no idea if this is a good pattern to use or not, just the only thing that came to mind.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I.e. the only thing which wouldn't involve copying the whole html
target.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so what will ARGS be when running the html
target? empty?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup. The command that gets executed in my case is
/home/morten/Julia/julia/build/usr/bin/julia /home/morten/Julia/julia/doc/make.jl --
It might be a good idea to explicitly set it in the Makefile though, to make that clear.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
makefiles are confusing enough that unless we eventually start using a system that is actually auto-generating them, readable is probably preferable to overly-clever for the sake of brevity
I got rid of the variable magic. I didn't copy the Windows-specific part for the |
Currently, clicking on search results does not work: JuliaDocs/Documenter.jl#495 |
Various path issues fixed by v0.11.1. The "Unicode Input" link issue was due to the page being listed twice in Could still use some advice on how to incorporate this into |
doc/REQUIRE
Outdated
@@ -1,3 +1,3 @@ | |||
Compat 0.25.0 0.25.0+ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's also bump this to 0.25.2 0.25.2+
to get rid of some deprecation warnings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
So, putting the |
looks like there are a few invalid links?
|
Yup -- I think they are from commits that came after the one this PR is forked from. I'll rebase before merge and fix them, but is there anything else besides this? |
don't think so. I'd leave off the trailing |
The "Interacting with Julia" page was listed twice in the sidebar.
Documenter has to be bumped to v0.11.1 for this. Also change two absolute URLs that will become outdated with this change to the more appropriate relative URLs. Also bump Compat to get rid of deprecation warnings.
There is only one 5-argument docstring: symm(side, ul, alpha, A, B)
It turns out that those "invalid links" were Documenter errors after all. In short -- if the same docstring gets included multiple times then Documenter currently calls A separate issue is why we have multiple copies of a docstring in the first place. The The In any case I would leave these for another day as well (JuliaDocs/Documenter.jl#506). Removed the |
* Move deps .PHONY together with others * Remove duplicate page from manual The "Interacting with Julia" page was listed twice in the sidebar. * Build docs with clean URLs Documenter has to be bumped to v0.11.1 for this. Also change two absolute URLs that will become outdated with this change to the more appropriate relative URLs. Also bump Compat to get rid of deprecation warnings. * Remove duplicate symm docstring reference There is only one 5-argument docstring: symm(side, ul, alpha, A, B) (cherry picked from commit 9a22471)
@mortenpi oops, this makes linkcheck fail - should probably skip linkchecking on relative references |
Switch the deployed docs to cleaner URLs like
manual/linalg/
instead ofmanual/linalg.html
. Requires Documenterv0.11.0
.The new Documenter version brings a couple of other updates as well, most importantly a decent mobile experience (many thanks to @wookay for that). I hope I'm not too late to the party, but it would be great to have this for the 0.6 release docs as well.
There are a couple of loose ends:
page.md
->page.html
convention, i.e.html_prettyurls
should befalse
for them. I made the option depend on thedeploy
argument, and I propose two different targets for the docs Makefile --html
for local builds and a separatedeploy
just for deploying from Travis. But it also requires support from the main Makefile, and I could use some advice there.manual/interacting-with-julia.md
).#
, but that doesn't actually break any URLs in the output.An example build of the manual: http://mortenpi.eu/julia/pretty-urls/