Skip to content

Commit 4017793

Browse files
committed
Better headers for types
1 parent ea5879f commit 4017793

File tree

7 files changed

+79
-59
lines changed

7 files changed

+79
-59
lines changed

_src/app/docs/src/TypeDocumentation.js

+29-11
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ var TypeDoc = React.createClass({
126126
var memberName = this.props.memberName;
127127
var memberGroups = this.props.memberGroups;
128128

129-
var doc = def.doc;
129+
var doc = def.doc || {};
130130
var call = def.call;
131131
var functions = Seq(def.module).filter(t => !t.interface && !t.module);
132132
var types = Seq(def.module).filter(t => t.interface || t.module);
@@ -136,18 +136,36 @@ var TypeDoc = React.createClass({
136136
return (
137137
<div>
138138
<h1 className="typeHeader">
139-
{interfaceDef ?
140-
<code>
141-
<InterfaceDef name={name} def={interfaceDef} /></code> :
142-
name
143-
}
139+
{name}
144140
</h1>
141+
{doc.synopsis && <MarkDown className="synopsis" contents={doc.synopsis} />}
142+
<code className="codeBlock memberSignature">
143+
<InterfaceDef name={name} def={interfaceDef} />
144+
</code>
145+
146+
{doc.notes && doc.notes.map((note, i) =>
147+
<section key={i}>
148+
<h4 className="infoHeader">
149+
{note.name}
150+
</h4>
151+
{
152+
note.name === 'alias' ?
153+
<CallSigDef name={note.body} /> :
154+
note.body
155+
}
156+
</section>
157+
)}
145158

146-
{doc && <section className="doc">
147-
<MarkDown contents={doc.synopsis} />
148-
{doc.description && <MarkDown contents={doc.description} />}
149-
{doc.notes && <p>{doc.notes}</p>}
150-
</section>}
159+
{doc.description &&
160+
<section>
161+
<h4 className="infoHeader">
162+
{doc.description.substr(0, 5) === '<code' ?
163+
'Example' :
164+
'Discussion'}
165+
</h4>
166+
<MarkDown className="discussion" contents={doc.description} />
167+
</section>
168+
}
151169

152170
{call &&
153171
<section>

_src/app/docs/src/style.less

+1-17
Original file line numberDiff line numberDiff line change
@@ -124,28 +124,12 @@
124124
background-color: rgba(112, 170, 220, 0.2);
125125
}
126126

127-
.typeTable th {
128-
font-family: Menlo, monospace;
129-
font-weight: normal;
130-
padding: 0 4ch 0 12px;
131-
text-align: left;
132-
}
133-
134-
.typeTable td {
135-
max-width: 70ch;
136-
}
137-
138-
.typeTable th,
139-
.typeTable td {
140-
padding-bottom: 1em;
141-
vertical-align: top;
142-
}
143-
144127
.typeHeader {
145128
color: #555;
146129
font-size: 1.5em;
147130
font-weight: normal;
148131
margin: 1rem 0;
132+
font-weight: bold;
149133
}
150134

151135
.interfaceMember {

docs/bundle.css

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/bundle.js

+28-10
Original file line numberDiff line numberDiff line change
@@ -960,7 +960,7 @@ var TypeDoc = React.createClass({displayName: 'TypeDoc',
960960
var memberName = this.props.memberName;
961961
var memberGroups = this.props.memberGroups;
962962

963-
var doc = def.doc;
963+
var doc = def.doc || {};
964964
var call = def.call;
965965
var functions = Seq(def.module).filter(function(t) {return !t.interface && !t.module;});
966966
var types = Seq(def.module).filter(function(t) {return t.interface || t.module;});
@@ -970,19 +970,37 @@ var TypeDoc = React.createClass({displayName: 'TypeDoc',
970970
return (
971971
React.createElement("div", null,
972972
React.createElement("h1", {className: "typeHeader"},
973-
interfaceDef ?
974-
React.createElement("code", null,
975-
React.createElement(InterfaceDef, {name: name, def: interfaceDef})) :
976-
name
977-
973+
name
974+
),
975+
doc.synopsis && React.createElement(MarkDown, {className: "synopsis", contents: doc.synopsis}),
976+
React.createElement("code", {className: "codeBlock memberSignature"},
977+
React.createElement(InterfaceDef, {name: name, def: interfaceDef})
978978
),
979979

980-
doc && React.createElement("section", {className: "doc"},
981-
React.createElement(MarkDown, {contents: doc.synopsis}),
982-
doc.description && React.createElement(MarkDown, {contents: doc.description}),
983-
doc.notes && React.createElement("p", null, doc.notes)
980+
doc.notes && doc.notes.map(function(note, i)
981+
{return React.createElement("section", {key: i},
982+
React.createElement("h4", {className: "infoHeader"},
983+
note.name
984+
),
985+
986+
note.name === 'alias' ?
987+
React.createElement(CallSigDef, {name: note.body}) :
988+
note.body
989+
990+
);}
984991
),
985992

993+
doc.description &&
994+
React.createElement("section", null,
995+
React.createElement("h4", {className: "infoHeader"},
996+
doc.description.substr(0, 5) === '<code' ?
997+
'Example' :
998+
'Discussion'
999+
),
1000+
React.createElement(MarkDown, {className: "discussion", contents: doc.description})
1001+
),
1002+
1003+
9861004
call &&
9871005
React.createElement("section", null,
9881006
React.createElement("h4", {className: "groupTitle"}, "Construction"),

0 commit comments

Comments
 (0)