Improve quadrant pages
This commit is contained in:
@@ -13,8 +13,8 @@ import {
|
||||
outputRadar(radar);
|
||||
createStatic(radar);
|
||||
|
||||
console.log('Radar build!');
|
||||
console.log(JSON.stringify(radar, null, 2));
|
||||
console.log('Built radar');
|
||||
// console.log(JSON.stringify(radar, null, 2));
|
||||
} catch(e) {
|
||||
console.error('error:', e);
|
||||
}
|
||||
|
||||
@@ -3,11 +3,10 @@ import { distPath } from './file';
|
||||
|
||||
var distDir = distPath();
|
||||
|
||||
console.log('<<< start cleaning dist dir: ', distDir);
|
||||
|
||||
emptyDir(distDir, (err) => {
|
||||
if (!err) {
|
||||
console.log('done cleaning dist dir >>>');
|
||||
console.log('Cleaned dist dir', distDir);
|
||||
} else {
|
||||
console.error(err);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,11 @@ import {
|
||||
distPath,
|
||||
getAllMarkdownFiles,
|
||||
} from './file';
|
||||
import { item as itemTemplate } from './template';
|
||||
import {
|
||||
item as itemTemplate,
|
||||
quadrant as quadrantTemplate,
|
||||
vars,
|
||||
} from './template';
|
||||
|
||||
export const createRadar = async (tree) => {
|
||||
const fileNames = (await getAllMarkdownFiles(radarPath())).reverse();
|
||||
@@ -85,13 +89,14 @@ const addRevisionToItem = (item = {
|
||||
|
||||
export const outputRadar = (radar) => {
|
||||
return Promise.all(
|
||||
Object.entries(radar).map(([quadrantName, quadrant]) => (
|
||||
Object.entries(radar).map(async ([quadrantName, quadrant]) => {
|
||||
await outputQuadrantPage(quadrantName, quadrant);
|
||||
Object.entries(quadrant).map(([itemName, item]) => (
|
||||
new Promise((resolve, reject) => {
|
||||
outputFile(distPath(quadrantName, `${itemName}.html`), itemTemplate({
|
||||
outputFile(distPath(quadrantName, `${itemName}.html`), itemTemplate(vars({
|
||||
quadrantName,
|
||||
item,
|
||||
}), (err, data) => {
|
||||
})), (err, data) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
@@ -100,6 +105,21 @@ export const outputRadar = (radar) => {
|
||||
})
|
||||
})
|
||||
))
|
||||
))
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
const outputQuadrantPage = (quadrantName, quadrant) => (
|
||||
new Promise((resolve, reject) => {
|
||||
outputFile(distPath(`${quadrantName}.html`), quadrantTemplate(vars({
|
||||
quadrantName,
|
||||
quadrant,
|
||||
})), (err, data) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(data);
|
||||
}
|
||||
})
|
||||
})
|
||||
)
|
||||
|
||||
@@ -7,6 +7,9 @@ import {
|
||||
distPath,
|
||||
getAllPugFiles,
|
||||
} from './file';
|
||||
import {
|
||||
vars,
|
||||
} from './template';
|
||||
|
||||
export const createStatic = async (radar) => {
|
||||
const paths = await getAllPugFiles(staticPath());
|
||||
@@ -25,9 +28,9 @@ const getPlainFileNames = (paths) => (
|
||||
const renderStaticPages = (radar, fileNames) => (
|
||||
Promise.all(fileNames.map((name) => (
|
||||
new Promise((resolve, reject) => (
|
||||
outputFile(distPath(`${name}.html`), pug.renderFile(staticPath(`${name}.pug`), {
|
||||
outputFile(distPath(`${name}.html`), pug.renderFile(staticPath(`${name}.pug`), vars({
|
||||
radar,
|
||||
}), (err, data) => {
|
||||
})), (err, data) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
|
||||
@@ -3,4 +3,20 @@ import { relativePath } from './file';
|
||||
|
||||
const templateFolder = 'templates';
|
||||
|
||||
export const vars = (vars) => ({
|
||||
translate: (text) => {
|
||||
const mappings = {
|
||||
'languages-and-frameworks': 'Languages & Frameworks',
|
||||
'methods-and-patterns': 'Methods & Patterns',
|
||||
'platforms-and-aoe-services': 'Platforms and AOE Services',
|
||||
'tools': 'Tools',
|
||||
};
|
||||
|
||||
return mappings[text.trim()] || '-';
|
||||
},
|
||||
...vars,
|
||||
})
|
||||
|
||||
export const item = pug.compileFile(relativePath(templateFolder, 'item.pug'));
|
||||
|
||||
export const quadrant = pug.compileFile(relativePath(templateFolder, 'quadrant.pug'));
|
||||
|
||||
Reference in New Issue
Block a user