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.