If you click on an automatic package link generated by Discourse, like DifferentialEquations.jl, you see a webpage with a three-column layout. The GitHub README of the package, which contains the most useful information, is crammed into a narrow column in the middle. The right column is almost empty except for some dependency statistics on the top. The left column is also very much empty except for toolbar buttons near the edge. Whenever I’m directed to such a webpage, I almost instantly click “Source” to open the GitHub page instead, so that I can see the README on a much wider and readable area. Here’s a screenshot on my browser:
It’s rather sad that JuliaHub is obviously investing resources into these package pages but does a mediocre job which reflects poorly on both themselves and the package authors.
Layout issues is not the worst of it, there are lots of broken links, e.g. anything that points into the repo gives you a 404. For an example, see most of the links at LocalRegistry.jl.
(Yes, I could have been more proactive about reporting this to JuliaHub, but when they go to the effort of rewriting a link to something like https://juliahub.com/ui/Code/docs/LocalRegistry/X3nV9/0.5.7/_packagesource/docs/register.md
but don’t notice that it’s broken in their CI, I don’t feel like it’s worth my time.)
Yeah, we’ve been wanting to fix that, but it hasn’t seemed like a workflow breaking issue so we’ve had other big priorities before that. Anyway, we’re thinking about just moving the dependencies and dependent tabs up as follows:
I feel like these things, amongst many other issues previously reported, should be given a higher priority. They make the package authors look bad especially.
(e.g. Documentation Re-hosting Issues and Process for 2024 · Issue #161 · JuliaComputing/JuliaHub-Feedback · GitHub which took ages to get what seems like an extremely simple alternative - I wouldn’t feel particularly motivated to actually make issues just to be ignored honestly)
Maybe we could add a github pages to the General registry which would simply contain a page for each package that forwards to the repo stored in the registry for that package. Then we could link to let’s say generalregistry.github.io/Makie
on Discourse and that would go to Makie’s github page from where the correct docs are also easily reached. Doing that, we would sidestep JuliaHub entirely which I think we’re only linking to because we cannot have further logic for determining the correct URLs for each package here on discourse.
Ok I actually implemented this in my fork of the General registry: General/generate_redirects.jl at master · jkrumbiegel/General · GitHub
Now links like https://jkrumbiegel.github.io/General/Makie or https://jkrumbiegel.github.io/General/ExperimentsManager (for a gitlab example) load html pages that just redirect to the repo stored in the registry. If it was desired, one could use a nicer domain and link structure like juliaregistry.com/Makie
and we could link to those from here. The script could be run once daily or so to update, it takes only 40 seconds to run.
Nice! I would also prefer if the XY.jl
links here on discourse would just link to the link that “Documentation” links to on JuliaHub. That link could. example be taken from GitHub - JuliaDocs/DocumentationGeneratorRegistry – where one could op out of JuliaHub rendering docs themselves but really just linking to the original docs.
edit: Oh I just noticed that the former “Documentation” link besides “source” has vanished. Well. Then @jules idea is probably better, though it could also use something like the linked registry above.
The documentation button was removed since the generated docs were completely broken 99% of the time unless someone used the DocumentationGeneratorRegistry
Maybe the Registry could then be used as an “opt in” for the button?
I think that would be better. There’s some related discussion at Documentation Re-hosting Issues and Process for 2024 · Issue #161 · JuliaComputing/JuliaHub-Feedback · GitHub but progress is slow.
I think it’s perfectly fine to just link to the repo because almost all packages have the docs badgr at the top of the Readme anyway, or some other form of link. And many times I want to go to the code and not the docs anyway
This would be a clear step forwards as far as I’m concerned. Most of my package’s READMEs are mangled on JuliaHub anyway.
The load time is also atrocious. With a fresh cache, it takes 6 seconds and 77 requests for the package page to load. I would have thought a fully-rendered page could just be generated server-side and served? It takes 2 for complete loading on GitHub, and the readme is rendered ~1s in, instead of near the end.
All in all, I’d much rather that juliahub.com/ui/Packages/General/MyPkg
302 redirected to github.com/tecosaur/MyPkg
.
To anybody who’s worked on this at JuliaHub reading this, I don’t mean to demean your work, I’ve just become a bit frustrated from seeing mangled versions of my work presented authoritatively, with a long page load time.