Documentation for any* dub package, any version

aliak something at something.com
Mon Feb 26 15:21:55 UTC 2018


On Monday, 26 February 2018 at 14:59:07 UTC, Adam D. Ruppe wrote:
> Many of you will already know this from the other thread or 
> from my twitter, but I just added a on-demand downloader to my 
> dpldocs.info domain to fetch and build docs for any* dub 
> package.
>
> Simply go to projectname.dpldocs.info/vX.Y.Z/ and it will 
> generate docs for dub package projectname, version X.Y.Z. (If 
> you don't specify a version, it will pull the master branch.)
>
> For example:
>
> http://arsd-official.dpldocs.info/arsd.html
>
> master branch for the arsd-official package
>
> or:
>
> http://dplug.dpldocs.info/v6.0.22/dplug.html
>
> 6.0.22 of the dplug package.
>
> etc.
>
> I'd like to get the code.dlang.org folks to add the correct 
> link to the main package site so people can easily discover 
> this.... just put nofollow on it plz so google doesn't trigger 
> generation of pages people don't actually need (the lazy 
> generation + caching allows me to host this on a cheap VPS)
>
>
> It builds the docs using my own doc generator 
> <https://github.com/adamdruppe/adrdox> which pulls embedded doc 
> comments out of the source.
>
> It isn't 100% compatible with ddoc. For example, this 
> user-defined macro was not expanded: 
> http://dxml.dpldocs.info/dxml.dom.html#source
>
> But, it builds 99% of Phobos so it can probably build your 
> project too! And get the ease of adrdox navigation and 
> legibility.
>
> Moreover, if you want to embrace it, you can use all the 
> features described here: 
> http://dpldocs.info/experimental-docs/adrdox.syntax.html except 
> for the LaTeX math generation (that's not installed on the dub 
> doc server I set up).
>
> You can group functions like seen here: 
> http://dpldocs.info/experimental-docs/arsd.nanovega.html and 
> use some markdown syntax, and easy [reference] linking and more.
>
>
>
> The generated docs may get some customization options in the 
> future, like adding a logo, header nav links, or maybe tweaking 
> the color scheme. It will probably also start reading 
> .gitignore and perhaps a .adrdoxignore file soon to to exclude 
> files from generation. I just need to decide the details first 
> and it is time to work the day job right now and I want to 
> announce sooner rather than later :)
>
>
> * currently, only github code downloading is actually 
> implemented.

This is awesome! Worked great. I use ddox right now (eg: 
https://aliak00.github.io/optional/) and your front page is way 
better and the source links are gold!

Questions: Tried it with optional and undocumented stuff is also 
shown. Will this be the default or? What's the recommended way to 
not have some modules in there at this time, if any?

Currently I have a internal.d (e.g. 
https://github.com/aliak00/optional/blob/master/source/optional/internal.d) which has public imports because I want to include it everywhere in my project and have all files have access to (though I think I may need to read up on access controls and modules cause I've just been winging it).

Thanks for this, with theming support I think I'd switch to this 
in me personal repos at least.

Cheers


More information about the Digitalmars-d-announce mailing list