mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-29 21:46:07 +08:00
Improvements in the docs generation
This commit is contained in:
57
website/layout/AutodocsLayout.js
Normal file
57
website/layout/AutodocsLayout.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/**
|
||||
* @providesModule AutodocsLayout
|
||||
* @jsx React.DOM
|
||||
*/
|
||||
|
||||
var DocsSidebar = require('DocsSidebar');
|
||||
var Header = require('Header');
|
||||
var Marked = require('Marked');
|
||||
var React = require('React');
|
||||
var Site = require('Site');
|
||||
|
||||
|
||||
var Autodocs = React.createClass({
|
||||
renderProp: function(name, prop) {
|
||||
return (
|
||||
<div className="prop">
|
||||
<Header level={4} className="propTitle" toSlug={name}>
|
||||
{name}
|
||||
{' '}
|
||||
<span className="propType">{prop.type.name}</span></Header>
|
||||
<Marked>{prop.description}</Marked>
|
||||
</div>
|
||||
);
|
||||
},
|
||||
renderProps: function(props) {
|
||||
var result = Object.keys(props).sort().map((name) =>
|
||||
this.renderProp(name, props[name])
|
||||
);
|
||||
|
||||
return <div className="props">{result}</div>;
|
||||
},
|
||||
render: function() {
|
||||
var metadata = this.props.metadata;
|
||||
var content = JSON.parse(this.props.children);
|
||||
return (
|
||||
<Site section="docs">
|
||||
<section className="content wrap documentationContent">
|
||||
<DocsSidebar metadata={metadata} />
|
||||
<div className="inner-content">
|
||||
<a id="content" />
|
||||
<h1>{metadata.title}</h1>
|
||||
<Marked>
|
||||
{content.description}
|
||||
</Marked>
|
||||
{this.renderProps(content.props)}
|
||||
<div className="docs-prevnext">
|
||||
{metadata.previous && <a className="docs-prev" href={metadata.previous + '.html#content'}>← Prev</a>}
|
||||
{metadata.next && <a className="docs-next" href={metadata.next + '.html#content'}>Next →</a>}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</Site>
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = Autodocs;
|
||||
Reference in New Issue
Block a user