Better docs for D (WIP)

Adam D. Ruppe via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sat Jan 2 13:06:19 PST 2016


On Saturday, 2 January 2016 at 19:31:24 UTC, JohnCK wrote:
> But currently I'm looking to your project and maybe I could 
> help there.

Well, the generator core is almost stable now, so pretty soon 
we'll be moving on to the other things.

If I can keep up my vacation pace, this would be set in two more 
weeks, but since I have to go back to real work soon, we're 
probably more realistically looking at about two months to beta 
quality. (Though I do feel it is already a lot better than the 
status quo! It's not like ddoc does inheritance tree walking 
either.... though one huge advantage of being in dmd is it pretty 
easily could...)

Here's my todo list:

* link the attributes to explanation pages
* add type class tag to navbar
* fix contract formatting
* show invariants for structs and classes
* parse old-style aliases
* create a package listing
* cross-linking, including inherited members
* implement the "// just docs" thing
* a few syntax changes
* table of contents when inner sections are detected
* UI - auto-scan a directory (currently it loops over args[1..$])
* Template constraint analyzer
* I don't like the module list view yet. I'm surprisingly pretty 
happy with the overall look though, it is prettier than I 
expected coming out of me. (It helps that I stole ideas from 
elsewhere tho.)

Known bugs:
* Throws: section isn't implemented yet
* REF isn't as smart as it could be
* the inline code scanner doesn't run inside macros
* the code is ugly as sin
* DDOC_PSYMBOL ruins my life.
* Overloading of templates with different constraints isn't 
recognized
* nav doesn't recognize when you are looking at an overload

Ecosystem todo:
* write all the other linked documents explaining language 
features. I have like a dozen of these linked.
* make the search better
* "introduced in Phobos version" detection
* Auto-link See Also docs for C functions
* The suggestion box and preview uploader. Third party libs can 
contribute too - we can have a single place to browse D library 
documentation kinda like Ruby does (except Ruby's docs are 
horribly awful, we should try to do better).
* Make it obvious how people can contribute
* Package the code for others to use (it will be GPL'd btw, it 
uses some GPL components)
* Improve Phobos docs to the max using the new system.


More information about the Digitalmars-d-announce mailing list