mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-21 04:57:05 +02:00
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:
parent
5542ace288
commit
1a572757f1
10 changed files with 170 additions and 14 deletions
|
@ -4,6 +4,7 @@
|
|||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
const spawn = require('cross-spawn');
|
||||
|
||||
const TRUNCATE_MARKER = /<!--\s*truncate\s*-->/;
|
||||
|
||||
|
@ -32,9 +33,21 @@ function idx(target, path) {
|
|||
return path.reduce((obj, key) => obj && obj[key], target);
|
||||
}
|
||||
|
||||
function getGitLastUpdated(filepath) {
|
||||
const timeSpan = spawn
|
||||
.sync('git', ['log', '-1', '--format=%ct', filepath])
|
||||
.stdout.toString('utf-8');
|
||||
if (timeSpan) {
|
||||
const date = new Date(parseInt(timeSpan, 10) * 1000);
|
||||
return date.toLocaleString();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
blogPostHasTruncateMarker,
|
||||
extractBlogPostBeforeTruncate,
|
||||
getGitLastUpdated,
|
||||
getPath,
|
||||
removeExtension,
|
||||
idx,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue