The ugly truth about ddoc

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Sun Jan 18 18:31:54 PST 2015


On 1/18/2015 6:18 PM, Andrei Alexandrescu wrote:
> TL;DR: I've uploaded new menu colors at http://erdani.com/d/, this time aiming
> for a more martian red ethos. Please let me know.

Nobody likes my taste in color, so I'll not pass judgement!


> ==================
>
> So I was looking at the css today (original at
> http://paste.ofcode.org/fHGT24YASrWu3rnMYLdm4C taken from the zip at
> http://cssmenumaker.com/menu/modern-jquery-accordion-menu) and it was quite
> unwieldy to experiment with. For example, the same color appears hardcoded in a
> number of places; whenever changing one I'd need to change all, or miss some
> important instances (as it happened with my first experiment).
>
> I'm sure experts must have tools for allowing things like variables and macros
> for css creation. Indeed there are a number of CSS editors that features things
> like variables, substitutions, and code generations, but most come at a cost and
> require quite some involvement.
>
> So I slapped something much simpler together using... ddoc.
>
> 1. I aded this at the top of the original file:
>
> Ddoc
>
> and then this at the bottom:
>
> Macros:
>
> DDOC=$(BODY)
> DDOC_COMMENT=/*$0*/
> ESCAPES=/</</ />/>/ /&/&/
>
> then saved the file as cssmenu.css.dd. Now I suddenly had a file compilable with
> ddoc, which produced itself (sans the heading and the macros). Here's the cmdline:
>
> dmd -c -o- -Dfweb/css/cssmenu.css css/cssmenu.css.dd
>
> It's a bit of a bummer that I need to define three unintuitive macros to get
> idempotent generation, but I guess that's that. We should document that somewhere.

Yes, very nice.


> 2. Now the fun begins. Now with macros I could define things like variables and
> even functions, and change all by changing one. Cool! So I started looking for
> all colors in the document and converted them to macros.
>
> After a short time I had http://paste.ofcode.org/3agBQ3t6C3UJsqMfRe4GeQL
> working. With that in hand, it was trivially easy to test different colors and
> see how they impact the look.
>
> The result is as I mentioned at http://erdani.com/d. I trust you'll hate the
> colors but maybe not the hack.

Consider me meh on the colors but love the hack!


> So, may I add a pull request of this without anyone having an apoplexy attack?
> When we pass the site for styling we can pass the generated css.

Damn the torpedos, full speed ahead!



More information about the Digitalmars-d mailing list