Our docs should be more beautiful

bitwise via Digitalmars-d digitalmars-d at puremagic.com
Mon Jul 18 15:13:35 PDT 2016


On Monday, 18 July 2016 at 15:56:29 UTC, Andrei Alexandrescu 
wrote:
> I was proofreading 
> http://dtest.thecybershadow.net/artifact/website-f26d7179b8449e89e1961391fde9f221813c707c-04d0496c2d8cecedc4d75c919646d564/web/phobos-prerelease/std_experimental_checkedint.html and there are a few ways in which our docs could look better.
>
> * My pet dream was to work on a project with a beautiful 
> justified and hyphenated website. After endless debates, 
> ugliness has won - I'm looking at a eye-scratching ragged right 
> edge.
>
> * The constraint on "struct Checked" is not formatted the same 
> as the other constraints.
>
> * Vertical spacing is just too fluffy. Looking e.g. at the docs 
> for "Payload" and "hook" - each has a short description. The 
> vspace between definition and description is too tall. The 
> vspace between the description and the next definition is too 
> tall. The grayed space within which the definition itself sits 
> has too large up and bottom margins. The vspace above "Jump 
> to:" is too high. Literally all vertical spacing is larger than 
> it should be.
>
> * The red vertical line on the left of each definition is meh. 
> There's a bit more sense for struct definitions because of the 
> "Jump to:" real estate. But for each little one-line 
> definition, the red bar is just odd. Also, there is no change 
> in color as indentation goes in (which would be a useful cue 
> for long struct definitions).
>
> * I don't see a point to the boxes within which each definition 
> + its comments sits. Then there's one more box for the example! 
> Boxes, boxes everywhere, and nary a drop to drink. They'd make 
> sense e.g. if one could collapse a box. As such - hey, they 
> just add more vspace :o).
>
> * The vspace between the ditto'ed definitions "enum auto min;" 
> and "enum auto max;" is again too large.
>
> * The grayed out constraints are also indented horizontally - 
> by a lot. If they're already distinguished by color, no need to 
> indent them. Oh, then I saw if you hover you see "Constraints: 
> " written in the space that seem to be indentation. Could we 
> format that in non-code font at least?
>
> * Spacing between doc paragraphs (see e.g. doc of opCast) seems 
> to be 80% line height. Should be 50%.
>
> * The enumerated items (see doc of opChecked) seem to be the 
> only artifact that's properly spaced vertically. I guess nobody 
> discovered them so they're at the system default.
>
> * "0 Contributors" should not be displayed at the bottom if 
> there are no contributors. But I assume that's only the case 
> before the pull is merged?
>
>
> Andrei

Any chance of getting one definition or overload-set per page?

I've never liked the way that each module, in it's entirety, is 
all dumped into a single page. Finding what you're looking for is 
often difficult among all the noise. It's also very easy to 
scroll past what you're looking for. If each definition or 
overload-set had it's own page, issues like vertical spacing 
would be at least, tolerable.

Example:
https://msdn.microsoft.com/en-us/library/bb354760(v=vs.100).aspx

On the left, is all overloads of Enumerable.Average. The full 
path of whatever nested scope you're in is listed along the top. 
If you navigate back(up one scope level), you'll see the 
module/namespace's contents grouped by type(method, property, 
etc..), and each one has nothing more than a short summary of 
what it does.

imo, the 1 module-per-page setup is a bit of a no-win situation.

     Bit



More information about the Digitalmars-d mailing list