From 44cbba08caba20c2333982ab723282956669b9f2 Mon Sep 17 00:00:00 2001 From: afc163 Date: Mon, 18 Apr 2016 16:59:04 +0800 Subject: [PATCH] Improve changelog page style --- CHANGELOG.md | 8 +++++-- site/common/styles/markdown.less | 30 +++++++++++++++++++++++--- site/component/Article/index.jsx | 31 +++++++++++++++++++++------ site/component/ComponentDoc/index.jsx | 2 +- 4 files changed, 59 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37a90a9fa4..431f8c72e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ --- order: 3 chinese: 更新日志 +toc: false +timeline: true +--- + +你也可以查看 GitHub 上的 [发布日志](https://github.com/ant-design/ant-design/releases)。 + --- ## 0.12.14 @@ -347,8 +353,6 @@ chinese: 更新日志 > [0.11 升级指南](http://ant.design/docs/react/upgrade-notes#0-10-gt-0-11) ---- - ## 0.10.5 `2016-01-04` diff --git a/site/common/styles/markdown.less b/site/common/styles/markdown.less index 44a83b9725..75eeab6928 100644 --- a/site/common/styles/markdown.less +++ b/site/common/styles/markdown.less @@ -67,9 +67,9 @@ padding-left: 4px; } -.markdown > ul li p, -.markdown > ol li p { - margin: 0.6em 0; +.markdown > ul li > p, +.markdown > ol li > p { + margin: 0.2em 0; } .markdown ol > li { @@ -244,3 +244,27 @@ height: 80px; } } + +// For Changelog +.markdown { + ul.ant-timeline { + li.ant-timeline-item { + list-style: none; + margin: 0; + padding: 0 0 30px 0; + .ant-timeline-item-content { + font-size: 14px; + padding-left: 32px; + position: relative; + top: -15px; + > h2 { + margin-top: 0; + padding-top: 0.5px; + } + } + } + li.ant-timeline-item:first-child { + margin-top: 40px; + } + } +} diff --git a/site/component/Article/index.jsx b/site/component/Article/index.jsx index bffac5181d..ebbbe06e91 100644 --- a/site/component/Article/index.jsx +++ b/site/component/Article/index.jsx @@ -1,7 +1,8 @@ -import React from 'react'; +import React, { Children, cloneElement } from 'react'; import { Link } from 'react-router'; import * as utils from '../utils'; import { getTagName, getChildren } from 'jsonml.js/lib/utils'; +import { Timeline } from 'antd'; export default class Article extends React.Component { componentDidMount() { @@ -11,7 +12,25 @@ export default class Article extends React.Component { const { chinese, english } = this.props.content.meta; utils.setTitle(`${chinese || english} - Ant Design`); } - + getTimelineFromArticle(article) { + const { content } = this.props; + const { meta } = content; + if (!meta.timeline) { + return article; + } + const timelineItems = []; + let temp = []; + Children.forEach(article.props.children, (child, i) => { + if (child.type === 'h2' && temp.length > 0) { + timelineItems.push({temp}); + temp = []; + } + temp.push(child); + }); + return cloneElement(article, { + children: {timelineItems}, + }); + } render() { const { content, location } = this.props; const jumper = content.description.filter((node) => { @@ -31,7 +50,7 @@ export default class Article extends React.Component { return (

- { meta.chinese || meta.english } + {meta.english} {meta.chinese} { !meta.subtitle ? null : { meta.subtitle } @@ -45,15 +64,15 @@ export default class Article extends React.Component { ) } { - jumper.length > 0 ? + (jumper.length > 0 && meta.toc !== false) ?
    { jumper }
: null } { - utils.jsonmlToComponent( + this.getTimelineFromArticle(utils.jsonmlToComponent( location.pathname, ['section', { className: 'markdown' }].concat(description) - ) + )) }

); diff --git a/site/component/ComponentDoc/index.jsx b/site/component/ComponentDoc/index.jsx index 5f4a9e8dc3..24daca2fc6 100644 --- a/site/component/ComponentDoc/index.jsx +++ b/site/component/ComponentDoc/index.jsx @@ -81,7 +81,7 @@ export default class ComponentDoc extends React.Component {
-

{meta.chinese || meta.english}

+

{meta.english} {meta.chinese}

{ utils.jsonmlToComponent( location.pathname,