juliadocs / documentationgenerator.jl Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
It is, IMO, unfortunate that Julia's docs are hosted at pkg.julialang.org. We should have one canonical place for the base documentation. Could we just build a search-index and link to the official docs instead of also hosting them?
In the left search column, there is a dropdown menu to select package version to show docs for. It only shows the latest version, even if one can manually navigate to other versions by changing the version number in the URL.
Example
https://pkg.julialang.org/docs/JuliaInterpreter/PliIn/0.5.0/
https://pkg.julialang.org/docs/JuliaInterpreter/PliIn/0.5.1/
both exist, but only 0.5.1 is shown in the dropdown
check this link: https://pkg.julialang.org/docs/Yao/TDiQQ/0.4.2/
PS. will pkg.julialang.org
only render the README? I thought it will provide the documentation as well, but it seems all of our doc string is missing at the moment in pkg.julialang.org, and if I just search our example, it won't appear...
Would be nice if the dark mode setting is remembered. But may be non-trivial since I assume that needs cookies and state.
I want users to always end up at the official Query.jl and friend docs at https://www.queryverse.org/Query.jl/stable/, not a copy hosted somewhere else. What pkg.julialang.org does right now feels a bit like hijacking of docs :) Would be good to have a simple way to opt-out.
I also think it would be good if that was implemented rather sooner than later.
e.g. from https://pkg.julialang.org/docs/search?q=hello you can not search for packages.
It would be really valuable to have a total number of packages on the landing page for pkg.julialang.org and a directory or some kind of browsable list of all packages linked from the landing page.
In the Docstrings section it's not very enlightening to list all functions without docstrings. For example in my Inflate package I have deliberately chosen to have docstrings only for the exported functions. I would suggest removing all functions without docstrings from the Docstrings list.
Also regardless of docstrings there's little point listing the eval
and include
functions that automatically exist in every module.
I am the author, let me know if there is anything I can fix on my end.
The rust crates.io includes a download number at the bottom.
https://crates.io/crates/rand
Adding this interface could help finding packages as well as evidence of use for maintainers, which can help seek funds.
In discourse, Stefan said that the new package system "...removes the burden from package developers of figuring out how to host docs and provide search functionality." I like this; I don't want to host package documentation, and I think it would be valuable to have all the documentation in a single place. One thing that would facilitate this is having a stable per-package URL that package creators can link to from their package github page.
I made the package LLLplus. I updated it recently to v1.2.0, and the new docs are available at https://pkg.julialang.org/docs/LLLplus/zQjW4/1.2.0/ I'd like to be able to link to either https://pkg.julialang.org/docs/LLLplus (or maybe a URL ending in "latest") from a "docs" button on my package page and have that redirect to the latest manual for my package. Unfortunately I can't do that now, because https://pkg.julialang.org/docs/LLLplus gives me a 'Forbidden' error.
Sometimes you need to detect who is building the docs. For example, for Literate.jl I want to predict URLs to the final output. On Travis this is easy; I detect that code is running on Travis, and use TRAVIS_REPO_SLUG
to guess a GitHub URL, and similar for embedding links to nbviewer.org for generated notebook files, see e.g. @__REPO__ROOT_URL__
from https://fredrikekre.github.io/Literate.jl/stable/fileformat/#Default-Replacements-1
The problem now is that the docs built by DocumentationGenerator have wrong links, since its not beeing built on Travis, compare e.g. the show nbviewer
links here https://fredrikekre.github.io/Literate.jl/stable/generated/example/ and here https://pkg.julialang.org/docs/Literate/XPnWG/1.1.0/generated/example/
I think what I need from DocumentationGenerator is the following:
DOCUMENTATIONGENERATOR="true"
DOCUMENTATIONGENERATOR_BASEURL="pkg.julialang.org/docs/Literate/XPnWG/1.1.0/"
so that I can query where the docs currently beeing built will be deployed.I am apparently getting annoyed by stuff that can't be clicked, see #32
This is related to #29, in that I was trying to get to the latest URL,
and so tried just deleting the version part.
It would be resolved by just making this a full HTTP redirect.
the CSS is broken if you do not include the version number
See
https://pkg.julialang.org/docs/NamedDims/EBrgX/
vs
https://pkg.julialang.org/docs/NamedDims/EBrgX/0.2.0/
The problem is that stylesheet links to sheets given assets
below are relative paths,
those asset
folders exist in the version subdirectory
<link href="assets/documenter.css" rel="stylesheet" type="text/css">
so displaying same content from different endpoint breaks them.
If this is where issues should be reported, it would be nice for the webpage to have a link to here so it's easier to find!
If you're a package author and your package is missing from pkg.julialang.org, please post a comment here and I'll add it to this post.
Flux docs here https://pkg.julialang.org/docs/Flux/QdkVy/0.8.2/ are not the same as the Flux docs on the flux website: https://fluxml.ai/Flux.jl/stable/
Searching for chisq
on pkg.julialang.org
does not give results for the Distributions.jl
package
The github markdown to produce strikethrough text ~~text~~
does not render correctly, it renders verbatim. See e.g. here
As requested from Slack, I'm just posting that my package, ReactionNetworkImporters.jl, which is in METADATA and the general registry doesn't seem to be showing up at pkg.julialang.org. Note, I have no docs for the package (but do have a README, and just added tags).
Feel free to close if this is redundant with other issues.
So that you could link to an exact package search (i.e. when searching by name and/or tag). I guess something like https://pkg.julialang.org/docs/?q=foo&tags=bar,baz
.
Not sure how useful it would be, but when opening #61, my initial reaction was to just drop a link to the exact query I made.
e.g. https://pkg.julialang.org/docs/foo/bar/baz takes you to home...
Search e.g. Example.jl
.
It would be great if there was some way of coordinating the redundant tags, for example there is a math
and a mathematics
tag… maybe the result lists could be combined for words like that.
All it would take is a list of synomyms, so that equivalent words and tags get grouped.
Would be cool if I could supply a project manifest to the filer list so search and package display only considers project relevant packages.
Many MIT licenses are being detected as Other.
Example: DataFrames.
This will indicate whether
docs
sections or non zero for code
. User has no way of knowing this unless he switches the tabIt looks odd to have that (c) 2019 in the footer there. I think we can just delete it.
See here.
cc @vdayanand.
Clinking on the link leads to https://pkg.julialang.org/docs/DifferentialEquations/UQdwS/6.7.0/ and not http://docs.juliadiffeq.org/latest/ . The DiffEqDocs should be easy to build if they need to be re-built for this: it's all static.
It would be helpful if a link to the repository were available in the package's documentation.
This should probably be implemented in a way that works well with the homepage link (#24).
julia> include("test/runtests.jl")
[ Info: Precompiling DocumentationGenerator [8f0d3306-d70b-5309-b898-24bb6ab47850]
run with timeout: Error During Test at /root/docsgen/test/runtests.jl:8
Got exception outside of a @test
MethodError: no method matching rawhandle(::Base.GenericIOBuffer{Array{UInt8,1}})
Closest candidates are:
rawhandle(!Matched::RawFD) at process.jl:149
rawhandle(!Matched::Base.DevNull) at process.jl:148
rawhandle(!Matched::Base.Filesystem.File) at filesystem.jl:69
...
Stacktrace:
[1] _jl_spawn(::String, ::Array{String,1}, ::Cmd, ::Tuple{Base.DevNull,Base.GenericIOBuffer{Array{UInt8,1}},Base.GenericIOBuffer{Array{UInt8,1}}}) at ./process.jl:345
[2] (::getfield(Base, Symbol("##493#494")){Cmd})(::Tuple{Base.DevNull,Base.GenericIOBuffer{Array{UInt8,1}},Base.GenericIOBuffer{Array{UInt8,1}}}) at ./process.jl:509
[3] setup_stdio(::getfield(Base, Symbol("##493#494")){Cmd}, ::Tuple{Base.DevNull,Base.GenericIOBuffer{Array{UInt8,1}},Base.GenericIOBuffer{Array{UInt8,1}}}) at ./process.jl:490
[4] #_spawn#492(::Nothing, ::Function, ::Cmd, ::Tuple{Base.DevNull,Base.GenericIOBuffer{Array{UInt8,1}},Base.GenericIOBuffer{Array{UInt8,1}}}) at ./process.jl:508
[5] (::getfield(Base, Symbol("#kw##_spawn")))(::NamedTuple{(:chain,),Tuple{Nothing}}, ::typeof(Base._spawn), ::Cmd, ::Tuple{Base.DevNull,Base.GenericIOBuffer{Array{UInt8,1}},Base.GenericIOBuffer{Array{UInt8,1}}}) at ./none:0
[6] #_spawn#489(::Nothing, ::Function, ::Base.CmdRedirect, ::Tuple{Base.DevNull,Base.DevNull,Base.GenericIOBuffer{Array{UInt8,1}}}) at ./process.jl:398
[7] (::getfield(Base, Symbol("#kw##_spawn")))(::NamedTuple{(:chain,),Tuple{Nothing}}, ::typeof(Base._spawn), ::Base.CmdRedirect, ::Tuple{Base.DevNull,Base.DevNull,Base.GenericIOBuffer{Array{UInt8,1}}}) at ./none:0
[8] #_spawn#489(::Nothing, ::Function, ::Base.CmdRedirect, ::Tuple{Base.DevNull,Base.DevNull,Base.DevNull}) at ./process.jl:398
[9] _spawn at ./process.jl:398 [inlined]
[10] #run#503(::Bool, ::Function, ::Base.CmdRedirect) at ./process.jl:665
[11] #run at ./none:0 [inlined]
[12] #run_with_timeout#3(::Base.TTY, ::Int64, ::String, ::Int64, ::Bool, ::Function, ::Cmd) at /root/docsgen/src/DocumentationGenerator.jl:179
[13] (::getfield(DocumentationGenerator, Symbol("#kw##run_with_timeout")))(::NamedTuple{(:timeout,),Tuple{Int64}}, ::typeof(DocumentationGenerator.run_with_timeout), ::Cmd) at ./none:0
[14] macro expansion at /root/docsgen/test/runtests.jl:17 [inlined]
[15] macro expansion at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Test/src/Test.jl:1083 [inlined]
[16] top-level scope at /root/docsgen/test/runtests.jl:9
[17] include at ./boot.jl:317 [inlined]
[18] include_relative(::Module, ::String) at ./loading.jl:1044
[19] include(::Module, ::String) at ./sysimg.jl:29
[20] include(::String) at ./client.jl:392
[21] top-level scope at none:0
[22] eval(::Module, ::Any) at ./boot.jl:319
[23] eval_user_input(::Any, ::REPL.REPLBackend) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:85
[24] macro expansion at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:117 [inlined]
[25] (::getfield(REPL, Symbol("##28#29")){REPL.REPLBackend})() at ./task.jl:259
Test Summary: | Error Total
run with timeout | 1 1
ERROR: LoadError: Some tests did not pass: 0 passed, 0 failed, 1 errored, 0 broken.
While searching for a tag and clicking a tag, the list of packages updates in the background. When trying to hide the left search column to reveal the found packages, another, empty tag is inserted and the list of found packages becomes empty.
This occurs on Chrome android. Let me know of this proves hard to reproduce and I'll try to upload some screenshots somewhere. It has happened on my phone every time since my first visit at the new site.
For example, see the top of: https://pkg.julialang.org/docs/Flux/QdkVy/0.8.2/
This is one click away from pkg.julialang.org.
FWIW, I think the GeoStats issue comes from here
DocumentationGenerator.jl/src/DocumentationGenerator.jl
Lines 218 to 220 in a1406fa
which is removing custom assets
arguments (cf. GeoStats make.jl
).
Originally posted by @mortenpi in #15 (comment)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.