const classNames = require('classnames'); const GitBook = require('gitbook-core'); const { React } = GitBook; let SummaryArticle = React.createClass({ propTypes: { active: React.PropTypes.bool, article: GitBook.PropTypes.SummaryArticle }, render() { const { article, active } = this.props; const className = classNames('SummaryArticle', { active }); return (
  • {article.ref ? {article.title} : {article.title}}
  • ); } }); SummaryArticle = GitBook.connect(SummaryArticle, ({page}, {article}) => { return { active: page.level === article.level }; }); const SummaryArticles = React.createClass({ propTypes: { articles: GitBook.PropTypes.listOf(GitBook.PropTypes.SummaryArticle) }, render() { const { articles } = this.props; return ( ); } }); const SummaryPart = React.createClass({ propTypes: { part: GitBook.PropTypes.SummaryPart }, render() { const { part } = this.props; const { title, articles } = part; const titleEL = title ?

    {title}

    : null; return (
    {titleEL}
    ); } }); const SummaryParts = React.createClass({ propTypes: { parts: GitBook.PropTypes.listOf(GitBook.PropTypes.SummaryPart) }, render() { const { parts } = this.props; return (
    {parts.map((part, i) => )}
    ); } }); const Summary = React.createClass({ propTypes: { summary: GitBook.PropTypes.Summary }, render() { const { summary } = this.props; const { parts } = summary; return (
    ); } }); module.exports = Summary;