Show release on homepage
This commit is contained in:
@@ -27,6 +27,7 @@
|
|||||||
"fs-extra": "2.0.0",
|
"fs-extra": "2.0.0",
|
||||||
"live-server": "1.2.0",
|
"live-server": "1.2.0",
|
||||||
"marked": "0.3.6",
|
"marked": "0.3.6",
|
||||||
|
"moment": "2.17.1",
|
||||||
"pjax": "0.2.4",
|
"pjax": "0.2.4",
|
||||||
"postcss-cli": "2.6.0",
|
"postcss-cli": "2.6.0",
|
||||||
"postcss-css-variables": "0.6.0",
|
"postcss-css-variables": "0.6.0",
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ block content
|
|||||||
| Technology Radar
|
| Technology Radar
|
||||||
span.hero-headline__alt
|
span.hero-headline__alt
|
||||||
= ' '
|
= ' '
|
||||||
| March 2017
|
= formatRelease(releases[releases.length - 1])
|
||||||
div.quadrant-grid
|
div.quadrant-grid
|
||||||
each quadrant, quadrantName in groupByQuadrants(radar)
|
each quadrant, quadrantName in groupByQuadrants(items)
|
||||||
.quadrant-grid__quadrant
|
.quadrant-grid__quadrant
|
||||||
.quadrant-section
|
.quadrant-section
|
||||||
.quadrant-section__header
|
.quadrant-section__header
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ block vars
|
|||||||
|
|
||||||
block content
|
block content
|
||||||
.js--filter(
|
.js--filter(
|
||||||
data-index=JSON.stringify(groupByFirstLetter(radar))
|
data-index=JSON.stringify(groupByFirstLetter(items))
|
||||||
)
|
)
|
||||||
.headline-group
|
.headline-group
|
||||||
.hero-headline
|
.hero-headline
|
||||||
@@ -19,7 +19,7 @@ block content
|
|||||||
v-on:click="setRing('all')"
|
v-on:click="setRing('all')"
|
||||||
v-bind:class=`ring === 'all' ? 'badge--neutral' : ''`
|
v-bind:class=`ring === 'all' ? 'badge--neutral' : ''`
|
||||||
) all
|
) all
|
||||||
each items, ringName in groupByRing(radar)
|
each _, ringName in groupByRing(items)
|
||||||
.nav__item
|
.nav__item
|
||||||
a.badge.badge--big.badge--empty(
|
a.badge.badge--big.badge--empty(
|
||||||
href='#'
|
href='#'
|
||||||
@@ -28,7 +28,7 @@ block content
|
|||||||
)= ringName
|
)= ringName
|
||||||
|
|
||||||
div.letter-index
|
div.letter-index
|
||||||
each items, letter in groupByFirstLetter(radar)
|
each indexItems, letter in groupByFirstLetter(items)
|
||||||
.letter-index__group(
|
.letter-index__group(
|
||||||
v-if=`isGroupVisible('${letter}')`
|
v-if=`isGroupVisible('${letter}')`
|
||||||
)
|
)
|
||||||
@@ -36,7 +36,7 @@ block content
|
|||||||
.letter-index__items
|
.letter-index__items
|
||||||
.item-list
|
.item-list
|
||||||
.item-list__list
|
.item-list__list
|
||||||
each item in items
|
each item in indexItems
|
||||||
a.item.item--big.item--no-leading-border.item--no-trailing-border(
|
a.item.item--big.item--no-leading-border.item--no-trailing-border(
|
||||||
href=`/${item.quadrant}/${item.name}.html`
|
href=`/${item.quadrant}/${item.name}.html`
|
||||||
v-if=`isRingVisible('${item.ring}')`
|
v-if=`isRingVisible('${item.ring}')`
|
||||||
|
|||||||
@@ -20,7 +20,10 @@ export const createRadar = async (tree) => {
|
|||||||
const items = createItems(revisions);
|
const items = createItems(revisions);
|
||||||
const flaggedItems = flagWithIsNew(items, allReleases);
|
const flaggedItems = flagWithIsNew(items, allReleases);
|
||||||
|
|
||||||
return flaggedItems;
|
return {
|
||||||
|
items: flaggedItems,
|
||||||
|
releases: allReleases,
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export const groupByQuadrants = (items) => (
|
export const groupByQuadrants = (items) => (
|
||||||
@@ -179,7 +182,7 @@ const revisionCreatesNewHistoryEntry = (revision) => {
|
|||||||
typeof revision.ring !== 'undefined';
|
typeof revision.ring !== 'undefined';
|
||||||
};
|
};
|
||||||
|
|
||||||
export const outputRadar = (items) => {
|
export const outputRadar = ({ items }) => {
|
||||||
const quadrants = groupByQuadrants(items);
|
const quadrants = groupByQuadrants(items);
|
||||||
|
|
||||||
Object.entries(quadrants).map(([quadrantName, quadrant]) => (
|
Object.entries(quadrants).map(([quadrantName, quadrant]) => (
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ const renderStaticPages = (radar, fileNames) => (
|
|||||||
Promise.all(fileNames.map((name) => (
|
Promise.all(fileNames.map((name) => (
|
||||||
new Promise((resolve, reject) => (
|
new Promise((resolve, reject) => (
|
||||||
outputFile(distPath(`${name}.html`), pug.renderFile(staticPath(`${name}.pug`), vars({
|
outputFile(distPath(`${name}.html`), pug.renderFile(staticPath(`${name}.pug`), vars({
|
||||||
radar,
|
...radar,
|
||||||
})), (err, data) => {
|
})), (err, data) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import pug from 'pug';
|
import pug from 'pug';
|
||||||
|
import moment from 'moment';
|
||||||
import { relativePath } from './file';
|
import { relativePath } from './file';
|
||||||
import {
|
import {
|
||||||
groupByQuadrants,
|
groupByQuadrants,
|
||||||
@@ -19,6 +20,7 @@ export const vars = (vars) => ({
|
|||||||
|
|
||||||
return mappings[text.trim()] || '-';
|
return mappings[text.trim()] || '-';
|
||||||
},
|
},
|
||||||
|
formatRelease: (release) => moment(release, 'YYYY-MM-DD').format('MMM YYYY'),
|
||||||
groupByQuadrants,
|
groupByQuadrants,
|
||||||
groupByFirstLetter,
|
groupByFirstLetter,
|
||||||
groupByRing,
|
groupByRing,
|
||||||
|
|||||||
Reference in New Issue
Block a user