From 4f54c22c1bad14ed12b5a21038556763779d8d91 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Wed, 6 Nov 2019 19:10:22 +0200 Subject: [PATCH] [Chore] Update extractor for 30web --- config.js | 5 ++++- scripts/build.js | 4 ++-- scripts/extract.js | 2 ++ scripts/util/helpers.js | 4 ++-- scripts/util/snippetParser.js | 5 ++++- src/docs/components/SnippetCard.js | 4 ++-- src/docs/util/index.js | 4 ++-- 7 files changed, 18 insertions(+), 10 deletions(-) diff --git a/config.js b/config.js index 27a65b1ba..bbad97477 100644 --- a/config.js +++ b/config.js @@ -12,5 +12,8 @@ module.exports = { pagePath: `src/docs/pages`, staticPartsPath: `src/static-parts`, // General information - language: `py`, + language: { + short: `py`, + long: `Python` + }, }; diff --git a/scripts/build.js b/scripts/build.js index 04023e0d4..722605fe5 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -112,11 +112,11 @@ try { output += snippet.attributes.text; - output += `\`\`\`${config.language}\n${snippet.attributes.codeBlocks.code}\n\`\`\``; + output += `\`\`\`${config.language.short}\n${snippet.attributes.codeBlocks.code}\n\`\`\``; output += misc.collapsible( 'Examples', - `\`\`\`${config.language}\n${snippet.attributes.codeBlocks.example}\n\`\`\``, + `\`\`\`${config.language.short}\n${snippet.attributes.codeBlocks.example}\n\`\`\``, ); output += diff --git a/scripts/extract.js b/scripts/extract.js index 2f1947f0e..e5a3aa7dc 100644 --- a/scripts/extract.js +++ b/scripts/extract.js @@ -43,6 +43,7 @@ const completeData = { meta: { specification: 'http://jsonapi.org/format/', type: 'snippetArray', + language: config.language }, }; let listingData = { @@ -61,6 +62,7 @@ let listingData = { meta: { specification: 'http://jsonapi.org/format/', type: 'snippetListingArray', + language: config.language }, }; // Write files diff --git a/scripts/util/helpers.js b/scripts/util/helpers.js index de1386935..a2057a81a 100644 --- a/scripts/util/helpers.js +++ b/scripts/util/helpers.js @@ -36,11 +36,11 @@ const prepTaggedData = tagDbData => ); const makeExamples = data => { data = - data.slice(0, data.lastIndexOf(`\`\`\`${config.language}`)).trim() + + data.slice(0, data.lastIndexOf(`\`\`\`${config.language.short}`)).trim() + misc.collapsible( 'Examples', data.slice( - data.lastIndexOf(`\`\`\`${config.language}`), + data.lastIndexOf(`\`\`\`${config.language.short}`), data.lastIndexOf('```'), ) + data.slice(data.lastIndexOf('```')), ); diff --git a/scripts/util/snippetParser.js b/scripts/util/snippetParser.js index 2d33a75f3..c34e225e3 100644 --- a/scripts/util/snippetParser.js +++ b/scripts/util/snippetParser.js @@ -53,7 +53,7 @@ const getCodeBlocks = str => { }); } const replacer = new RegExp( - `\`\`\`${config.language}([\\s\\S]*?)\`\`\``, + `\`\`\`${config.language.short}([\\s\\S]*?)\`\`\``, 'g', ); results = results.map(v => v.replace(replacer, '$1').trim()); @@ -99,6 +99,9 @@ const readSnippets = snippetsPath => { }, meta: { hash: hashData(data.body), + firstSeen: execSync(`git log --diff-filter=A --pretty=format:%at -- snippets/${snippet}`).toString(), + lastUpdated: execSync(`git log -n 1 --pretty=format:%at -- snippets/${snippet}`).toString(), + updateCount: execSync(`git log --pretty=%H -- snippets/${snippet}`).toString().split('\n').length }, }; } diff --git a/src/docs/components/SnippetCard.js b/src/docs/components/SnippetCard.js index c126dc33f..d4264aeca 100644 --- a/src/docs/components/SnippetCard.js +++ b/src/docs/components/SnippetCard.js @@ -85,7 +85,7 @@ const FullCard = ({ snippetData, difficulty, isDarkMode }) => { */}