mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-2643] Added compatibility info to version index (#3218)
* [ADF-1643] Updated version index and script to support compatibility info * [ADF-2643] Added links and compatibility info
This commit is contained in:
committed by
Eugenio Romano
parent
fbe675aedb
commit
e0cc0fc7c5
@@ -5,6 +5,9 @@ var yaml = require("js-yaml");
|
||||
var remark = require("remark");
|
||||
var stringify = require("remark-stringify");
|
||||
var zone = require("mdast-zone");
|
||||
var frontMatter = require("remark-frontmatter");
|
||||
|
||||
var combyne = require("combyne");
|
||||
|
||||
var unist = require("../unistHelpers");
|
||||
var ngHelpers = require("../ngHelpers");
|
||||
@@ -25,13 +28,15 @@ var histFilePath = path.resolve(docsFolderPath, "versionIndex.md");
|
||||
var histSectionName = "history";
|
||||
var initialVersion = "v2.0.0";
|
||||
|
||||
var templateFolder = path.resolve(".", "config", "DocProcessor", "templates");
|
||||
|
||||
function initPhase(aggData) {
|
||||
aggData.versions = { "v2.0.0":[] };
|
||||
}
|
||||
|
||||
|
||||
function readPhase(tree, pathname, aggData) {
|
||||
var compName = pathname; //path.basename(pathname, ".md");
|
||||
var compName = pathname;
|
||||
var angNameRegex = /([a-zA-Z0-9\-]+)\.((component)|(directive)|(model)|(pipe)|(service)|(widget))/;
|
||||
|
||||
if (!compName.match(angNameRegex))
|
||||
@@ -60,7 +65,7 @@ function readPhase(tree, pathname, aggData) {
|
||||
|
||||
function aggPhase(aggData) {
|
||||
var histFileText = fs.readFileSync(histFilePath, "utf8");
|
||||
var histFileTree = remark().parse(histFileText);
|
||||
var histFileTree = remark().data("settings", {paddedTable: false, gfm: false}).parse(histFileText);
|
||||
|
||||
var keys = Object.keys(aggData.versions);
|
||||
keys.sort((a, b) => {
|
||||
@@ -72,16 +77,9 @@ function aggPhase(aggData) {
|
||||
return 0;
|
||||
});
|
||||
|
||||
var sections = [unist.makeHeading(unist.makeText("Versions"), 2)];
|
||||
|
||||
var vListItems = [];
|
||||
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var keyAnchor = keys[i].replace(/\./g, "");
|
||||
vListItems.push(unist.makeListItem(unist.makeLink(unist.makeText(keys[i]), `#${keyAnchor}`)));
|
||||
}
|
||||
|
||||
sections.push(unist.makeListUnordered(vListItems));
|
||||
var templateName = path.resolve(templateFolder, "versIndex.combyne");
|
||||
var templateSource = fs.readFileSync(templateName, "utf8");
|
||||
var template = combyne(templateSource);
|
||||
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var version = keys[i];
|
||||
@@ -93,7 +91,7 @@ function aggPhase(aggData) {
|
||||
return aa.localeCompare(bb);
|
||||
});
|
||||
|
||||
var versListItems = [];
|
||||
var versionTemplateData = {items: []};
|
||||
|
||||
for (var v = 0; v < versionItems.length; v++) {
|
||||
var displayName = ngHelpers.ngNameToDisplayName(path.basename(versionItems[v], ".md"));
|
||||
@@ -101,25 +99,27 @@ function aggPhase(aggData) {
|
||||
pageLink = pageLink.replace(/\\/g, '/');
|
||||
pageLink = pageLink.substr(pageLink.indexOf("docs") + 5);
|
||||
|
||||
versListItems.push(
|
||||
unist.makeListItem(
|
||||
unist.makeLink(unist.makeText(displayName), pageLink)
|
||||
)
|
||||
);
|
||||
versionTemplateData.items.push({
|
||||
title: displayName,
|
||||
link: pageLink
|
||||
});
|
||||
}
|
||||
|
||||
sections.push(unist.makeHeading(unist.makeText(version), 2));
|
||||
sections.push(unist.makeListUnordered(versListItems));
|
||||
var mdText = template.render(versionTemplateData);
|
||||
mdText = mdText.replace(/^ +-/mg, "-");
|
||||
|
||||
var newSection = remark().data("settings", {paddedTable: false, gfm: false}).parse(mdText.trim()).children;
|
||||
|
||||
var versSectionName = version.replace(/\./g, "");;
|
||||
|
||||
zone(histFileTree, versSectionName, (startComment, oldSection, endComment) => {
|
||||
newSection.unshift(startComment);
|
||||
newSection.push(endComment);
|
||||
return newSection;
|
||||
});
|
||||
}
|
||||
|
||||
zone(histFileTree, histSectionName, (startComment, oldSection, endComment) => {
|
||||
sections.unshift(startComment);
|
||||
sections.push(endComment);
|
||||
return sections;
|
||||
});
|
||||
|
||||
//console.log(JSON.stringify(histFileTree));
|
||||
fs.writeFileSync(histFilePath, remark().stringify(histFileTree));
|
||||
fs.writeFileSync(histFilePath, remark().use(frontMatter, {type: 'yaml', fence: '---'}).data("settings", {paddedTable: false, gfm: false}).stringify(histFileTree));
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user