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

Kiith-Sa via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Wed Feb 11 06:59:17 PST 2015


On Wednesday, 11 February 2015 at 08:41:26 UTC, Mathias LANG 
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.
>
> Awesome ! I've wanted to do it for quite some time, I think 
> it's really important we get that as a part of code.dlang.org 
> (as well as compatibility badges, but that's another story.
>
> Regarding the macros: I recently completed the set of 
> definitions in libddoc ( 
> https://github.com/economicmodeling/libddoc/commit/82fcd8fdcdfe0809437f2415361ef92ee21a5c12 
> ), so if you're based on Harbored, you should have everything 
> you need. I'm currently working on a fully compliant macro 
> parser in libddoc. The macro WEB is not part of the standard 
> definition, it's part of dlang.org's definitions, which you can 
> find on Github (.ddoc files).
> More precisely, it's defined in html.ddoc ( 
> https://github.com/D-Programming-Language/dlang.org/blob/master/html.ddoc 
> ).
> I guess it can make sense to had that file included by default, 
> but at the same time I'd like to avoid projects documentation 
> to rely on non-standard behavior.

Yes, I'm using libddoc (not current harbored directly - using a 
fork) so those builtin macros already work. I don't want to 
include all the phobos/dlang.org macros, but I will add them on 
case-by-case basis when people use them in their projects' docs 
so the docs still work.


More information about the Digitalmars-d-announce mailing list