colour lib needs reviewers
Jacob Carlborg via Digitalmars-d
digitalmars-d at puremagic.com
Wed Sep 14 23:55:29 PDT 2016
On 2016-09-14 22:14, Andrei Alexandrescu wrote:
> Why? -- Andrei
I've recently worked on a theme for Ddoc that will be used in TextMate.
For convince I started by adding the CSS inline in the head tag. Turns
out if you have CSS looking like this:
.foo {
font-weight: bold;
background-color: white;
}
Everything works perfectly fine. Then I added text color as well:
color: black;
Guess what happens? It cuts, it cuts everything after "color". The
solution is to use a colon macro:
Macros:
COLON = :
color$(COLON) black;
It took me quite a while and a lot of frustration until I figured that
out. But I guess that's an inherit problem with a macro system.
That is what I'm missing from Ddoc:
* Inline source code for each symbol [1]. The [1] example both has a
button to show the source code inline and a direct link to GitHub
* Link to GitHub for each symbol [1] and for the whole module. The way
it's done now with $(PHOBOSSRC std/net/_isemail.d) is not standardized
and feels like a hack. Why slashes and why the underscore? If anything
it should be the fully qualified name. Ideally it should be automatic,
or a compiler recognized macro that inserts the link
* Ddoc should organize symbols by visibility [2]
* Ddoc should generate index table [3]
* Ddoc should organize a module by symbol category [4]
* Add a way to inherit documentation from the parent class [5]
* Ddoc should give a list of inherited members [6]. JavaDoc does this by
default [7]
* Consistent way of cross-referencing. Ideally one would just pass the
fully qualified name (or local name for symbols in the same module) to a
compiler recognized macro and it would generate the appropriate links
* An index page with all symbols, including a filter [8]. This is super
convenient when you know the symbol to use but you need to double check
how it's used or the behavior. I use it almost every day with Ruby
All this should be done within Ddoc without the need for any post
processing.
In general I feel that Ddoc is too much focused on a generic macro
system instead of focusing on being a good tool for writing
documentation for code.
[1]
http://api.rubyonrails.org/classes/ActiveRecord/FinderMethods.html#method-i-first
[2] https://issues.dlang.org/show_bug.cgi?id=11893
[3] https://issues.dlang.org/show_bug.cgi?id=11891
[4] https://issues.dlang.org/show_bug.cgi?id=11892
[5] https://issues.dlang.org/show_bug.cgi?id=10399
[6] https://issues.dlang.org/show_bug.cgi?id=7688
[7]
http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fjdt%2Fcore%2Fdom%2FSimpleName.html
[8] http://ruby-doc.org/core-2.3.1
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list