On Fri, 06 Aug 2010 18:54:51 -0400, Walter Bright <newshou...@digitalmars.com> wrote:

Don wrote:
The reason they're the same is that the docs were originally written in html. The original conversion to ddoc was done via search and replace. One of the HUGE benefits of ddoc is that it does highlighting of the D code. That instantly saved Walter a lot of time.
Seriously, converting it to ddoc did improve productivity.

Here's what it has done, and this is real live experience because they were originally 100% html:

1. Yes, Don is right. It has improved ENORMOUSLY the productivity in those documents. I'm talking doubling or even tripling it.

2. I can comment out sections with $(COMMENT blah blah) and have them elided from the output. HTML comments remain in the output.

3. It has enabled the site to be written in correct, conforming HTML. Previously, it was a mess, and I didn't know what was wrong with it because it rendered ok anyway.

4. HTML has zero provision for conditional compilation. Want two HTML pages from the same source? Write two HTML pages. Note that the D1 and D2 docs are generated from the same source, this makes it easy to determine what's different between them.

5. It enabled me to produce a common look & feel for the whole site, which is hundreds of pages. This was just impossible before.

6. Even better, I can *change* the look and feel of the site with just editting a handful of macros.

7. I can update URLs across the site trivially, such as if bugzilla changes its URL.

8. As Don mentioned, it will automagically syntax highlight D code.

9. Grep doesn't work well with HTML tags. You really need an HTML-aware editor. Ddoc works with any editor (all you really need is a parentheses matcher).

10. HTML is a visually butt-ugly format that makes my eyes bleed pus. Very hard to read.

First, for 5 and 6, that is what CSS is for.

Second, I agree with all your other points (except for the eye bleeding thing).

But I find the tagging for just formatting (such as $(P, $(B $(TT) very hard to read and hard to diagnose.

It looks to me like writing D code like this:

mixin("int i = 1;");
mixin("i += 2;");

instead of this:

int i = 1;
i += 2;

Sure, the mixins are dynamic, but you are not using them in a dynamic way...

Wouldn't it be better to just write html when that's all your asking ddoc to do? Or does the risk of blindness dissuade you too much?

FWIW, I work with HTML, CSS, php, and smarty templates every day. I understand the value of dynamic content, but I don't use dynamic techniques to generate static content, that's written in good old html.

-Steve

-Steve

Reply via email to