feat: last updated time in docs (#913)

* Adding last updated time for docs

* Making file path general and other suggested changes

* Checking if time returned is null due to absence of git or some other issue

* Adding option to enable/disable update time feature and test-doc

* Adding simple unit tests for getGitUpdateTime()

* nits & rewrote failing test

* consistent test naming

* Adding optional updateEnableTime in documentation

* package-lock & yarn.lock
This commit is contained in:
Shubham Bansal 2018-08-29 18:45:18 +05:30 committed by Endilie Yacop Sucipto
parent 5542ace288
commit 1a572757f1
10 changed files with 170 additions and 14 deletions

View file

@ -16,7 +16,8 @@ const DocsSidebar = require('./DocsSidebar.js');
const OnPageNav = require('./nav/OnPageNav.js');
const Site = require('./Site.js');
const translation = require('../server/translation.js');
const {idx} = require('./utils.js');
const docs = require('../server/docs.js');
const {idx, getGitLastUpdated} = require('./utils.js');
// component used to generate whole webpage for docs, including sidebar/header/footer
class DocsLayout extends React.Component {
@ -43,6 +44,12 @@ class DocsLayout extends React.Component {
if (this.props.Doc) {
DocComponent = this.props.Doc;
}
let updateTime;
if (this.props.config.enableUpdateTime) {
const filepath = docs.getFilePath(metadata);
updateTime = getGitLastUpdated(filepath);
}
const title =
idx(i18n, ['localized-strings', 'docs', id, 'title']) || defaultTitle;
const hasOnPageNav = this.props.config.onPageNav === 'separate';
@ -100,6 +107,13 @@ class DocsLayout extends React.Component {
</a>
)}
</div>
{this.props.config.enableUpdateTime &&
updateTime && (
<p style={{fontSize: '12px', textAlign: 'right'}}>
<strong>Last updated: </strong>
{updateTime}
</p>
)}
</Container>
{hasOnPageNav && (
<nav className="onPageNav">