DDocs.org: auto-generated documentation for all DUB projects (WIP)

Kiith-Sa via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Tue Feb 10 21:03:28 PST 2015


On Tuesday, 10 February 2015 at 23:53:19 UTC, MrSmith wrote:
> On Tuesday, 10 February 2015 at 22:40:18 UTC, Kiith-Sa wrote:
>> DDocs.org (http://ddocs.org) is a repository of documentation 
>> for DUB projects that automatically re-generates docs as new 
>> projects/releases/branch changes are added.
>>
>> The idea is to make documenting D projects as simple as 
>> possible, to the point where you don't need to do any work to 
>> get documentation for your project other than adding it to the 
>> DUB registry. Also, users can now browse documentation for DUB 
>> projects even if the author was too lazy to generate it 
>> themselves (assuming thy did include some documentation 
>> comments).
>>
>>
>> Note that this is still in a very early stage, it was put 
>> together in a very quick-and-dirty style by a person with 
>> little webdev experience. Currently it just scans 
>> `code.dlang.org`, looking for changes (yes, I know, this will 
>> break as soon as code.dlang.org changes, I plan to raise 
>> issue/s (PRs?) to the dub registry project so it can have a 
>> full/stable API, but I wanted to get something to work *right 
>> now*.
>>
>> Code is here:
>>
>> * ddocs.org: https://github.com/kiith-sa/ddocs.org
>> * hmod-dub: https://github.com/kiith-sa/hmod-dub
>> * harbored-mod: https://github.com/kiith-sa/harbored-mod
>>
>>
>>
>> Background:
>>
>> When optimizing harbored-mod by testing it on big D projects 
>> (gtk-d, tango, vibe.d, etc.), I wrote a simple tool to 
>> fetch/generate docs for any DUB project; I got carried away 
>> and used that as base for a tool that checks for changes in 
>> the DUB registry and generates docs for all projects.
>
> That is pretty cool! I will put a link to it in all my project 
> readmes.
>
> I've noticed that License: "a$(WEB boost.org/LICENSE_1_0.txt, 
> Boost License 1.0)." gets rendered as "a".
> Am I doing it wrong?

There's a bunch of macros used in many D projects not documented 
in the language reference. They seem to be defined somewhere in 
Phobos/Druntime (? - not sure), not really built in, but I add 
them as I find them so compatibility is kept. Added $WEB to 
harbored-mod now. There already also is LINK, LINK2, and HTTP... 
and of course Markdown [link](http://link.org) - but that doesn't 
work with plain DDoc generators.

The change can take a while to propagate to your packages as 
ddocs.org waits a few days before regenerating docs for releases 
that already have docs generated and <2 days for known branches 
(~master) so it doesn't constantly regenerate docs for everything 
- it is feasible now but won't be if the DUB registry gets bigger 
as fast as I expect.


More information about the Digitalmars-d-announce mailing list