Show release on homepage

This commit is contained in:
Tom Raithel
2017-02-19 22:03:42 +01:00
parent b5900ce3cc
commit 856befc423
6 changed files with 15 additions and 9 deletions

View File

@@ -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",

View File

@@ -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

View File

@@ -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}')`

View File

@@ -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]) => (

View File

@@ -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);

View File

@@ -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,