Skip to content

Commit

Permalink
refactor: es2015
Browse files Browse the repository at this point in the history
  • Loading branch information
h13i32maru committed Dec 29, 2016
1 parent e6aff70 commit 2ba127c
Show file tree
Hide file tree
Showing 10 changed files with 62 additions and 58 deletions.
2 changes: 1 addition & 1 deletion script/server.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
./node_modules/.bin/http-server ./www -c -1 -p 8888
./node_modules/.bin/http-server ./docs -c -1 -p 8888
22 changes: 11 additions & 11 deletions src/buildEpisode.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,26 @@ const fs = require('fs-extra');
const util = require('./util.js');

function buildEpisode(forceUpdate){
var episodes = util.getEpisodes();
const episodes = util.getEpisodes();

var templatePath = './www/template/episode.html';
var template = fs.readFileSync(templatePath, {encode: 'utf8'}).toString();
const templatePath = './src/template/episode.html';
const template = fs.readFileSync(templatePath, {encode: 'utf8'}).toString();

var layoutPath = './www/template/layout.html';
var layout = fs.readFileSync(layoutPath, {encode: 'utf8'}).toString();
const layoutPath = './src/template/layout.html';
const layout = fs.readFileSync(layoutPath, {encode: 'utf8'}).toString();

for (var i = 0; i < episodes.length; i++) {
var episode = episodes[i];
var filePath = './www/' + episode.ep + '/index.html';
for (let i = 0; i < episodes.length; i++) {
const episode = episodes[i];
const filePath = './www/' + episode.ep + '/index.html';

if (!forceUpdate) {
if (!util.isNeedUpdate(filePath, [episode.unixTime, templatePath, layoutPath])) {
continue;
}
}

var ice = new IceCap(template);
var mp3 = 'episode' + episode.ep + '.mp3';
const ice = new IceCap(template);
const mp3 = 'episode' + episode.ep + '.mp3';
ice.text('number', episode.ep);
ice.text('title', episode.title);
ice.load('text', util.replaceTwitter(episode.text));
Expand All @@ -37,7 +37,7 @@ function buildEpisode(forceUpdate){
ice.text('showNoteLink', word.word);
});

var layoutIce = new IceCap(layout);
const layoutIce = new IceCap(layout);
layoutIce.load('content', ice);
layoutIce.text('documentTitle', episode.title + ' | CodeLunch.fm', IceCap.MODE_WRITE);

Expand Down
18 changes: 9 additions & 9 deletions src/buildIndex.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@ const fs = require('fs-extra');
const util = require('./util.js');

function buildIndex(forceUpdate){
var episodes = util.getEpisodes();
var latestUnixTime = util.getLatestUnixTime(episodes);
var outPath = './www/index.html';
var layoutPath = './www/template/layout.html';
var templatePath = './www/template/index.html';
const episodes = util.getEpisodes();
const latestUnixTime = util.getLatestUnixTime(episodes);
const outPath = './www/index.html';
const layoutPath = './src/template/layout.html';
const templatePath = './src/template/index.html';

if (!forceUpdate) {
if (!util.isNeedUpdate(outPath, [latestUnixTime, templatePath, layoutPath])) {
return;
}
}

var template = fs.readFileSync(templatePath, {encode: 'utf8'}).toString();
var ice = new IceCap(template);
const template = fs.readFileSync(templatePath, {encode: 'utf8'}).toString();
const ice = new IceCap(template);

ice.loop('episode', episodes, function(i, episode, ice){
ice.attr('link', 'href', episode.ep);
Expand All @@ -27,8 +27,8 @@ function buildIndex(forceUpdate){
ice.text('date', episode.date);
});

var layout = fs.readFileSync(layoutPath, {encode: 'utf8'}).toString();
var layoutIce = new IceCap(layout);
const layout = fs.readFileSync(layoutPath, {encode: 'utf8'}).toString();
const layoutIce = new IceCap(layout);
layoutIce.load('content', ice);

fs.writeFileSync(outPath, layoutIce.html, {encode: 'utf8'});
Expand Down
28 changes: 14 additions & 14 deletions src/buildRSS.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
var RSS = require('rss');
var fs = require('fs-extra');
var util = require('./util.js');
const RSS = require('rss');
const fs = require('fs-extra');
const util = require('./util.js');

function buildRSS(forceUpdate) {
var episodes = util.getEpisodes();
var latestUnixTime = util.getLatestUnixTime(episodes);
var outPath = './www/rss.xml';
var templatePath = './www/template/rss.json';
const episodes = util.getEpisodes();
const latestUnixTime = util.getLatestUnixTime(episodes);
const outPath = './www/rss.xml';
const templatePath = './src/template/rss.json';

if (!forceUpdate) {
if (!util.isNeedUpdate(outPath, [templatePath, latestUnixTime])) {
return;
}
}

var rssJSON = fs.readFileSync('./www/template/rss.json', {encode: 'utf8'});
var rss = JSON.parse(rssJSON);
var feed = new RSS(rss);
const rssJSON = fs.readFileSync('./src/template/rss.json', {encode: 'utf8'});
const rss = JSON.parse(rssJSON);
const feed = new RSS(rss);

for (var i = 0; i < episodes.length; i++) {
var episode = episodes[i];
var url = rss.site_url + '/' + episode.ep;
var download = rss.site_url + '/' + episode.ep + '/episode' + episode.ep + '.mp3';
for (let i = 0; i < episodes.length; i++) {
const episode = episodes[i];
const url = rss.site_url + '/' + episode.ep;
const download = rss.site_url + '/' + episode.ep + '/episode' + episode.ep + '.mp3';
feed.item({
title: episode.ep + '. ' + episode.title,
description: episode.text,
Expand Down
6 changes: 3 additions & 3 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var buildIndex = require('./buildIndex.js');
var buildEpisode = require('./buildEpisode.js');
var buildRSS = require('./buildRss.js');
const buildIndex = require('./buildIndex.js');
const buildEpisode = require('./buildEpisode.js');
const buildRSS = require('./buildRss.js');

buildIndex();
buildEpisode();
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
44 changes: 24 additions & 20 deletions src/util.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
'use strict';
var fs = require('fs-extra');
var path = require('path');
const fs = require('fs-extra');
const path = require('path');

function getEpisodes() {
if (getEpisodes.cache) return getEpisodes.cache;

var episodesDirPath = './episodes';
var episodeFilePaths = fs.readdirSync(episodesDirPath).reverse();
var episodes = [];
for (var i = 0; i < episodeFilePaths.length; i++) {
var filePath = episodesDirPath + path.sep + episodeFilePaths[i];
var episodeJSON = fs.readFileSync(filePath, {encode: 'utf8'});
var episode = JSON.parse(episodeJSON);
var stat = fs.statSync(filePath);
const episodesDirPath = './episodes';
const episodeFilePaths = fs.readdirSync(episodesDirPath).reverse();
const episodes = [];
for (let i = 0; i < episodeFilePaths.length; i++) {
const filePath = episodesDirPath + path.sep + episodeFilePaths[i];
const episodeJSON = fs.readFileSync(filePath, {encode: 'utf8'});
const episode = JSON.parse(episodeJSON);
const stat = fs.statSync(filePath);
episode.unixTime = stat.mtime.getTime();
episodes.push(episode);
}
Expand All @@ -23,9 +23,9 @@ function getEpisodes() {
}

function getLatestUnixTime(episodes) {
var latestUnixTime = -1;
for (var i = 0; i < episodes.length; i++) {
var episode = episodes[i];
let latestUnixTime = -1;
for (let i = 0; i < episodes.length; i++) {
const episode = episodes[i];
latestUnixTime = Math.max(latestUnixTime, episode.unixTime);
}

Expand All @@ -37,22 +37,26 @@ function replaceTwitter(text) {
}

function isNeedUpdate(outFilePath, materials) {
let outFileStat;
let outFileUnixTime;
try {
var outFileStat = fs.statSync(outFilePath);
var outFileUnixTime = outFileStat.mtime.getTime();
outFileStat = fs.statSync(outFilePath);
outFileUnixTime = outFileStat.mtime.getTime();
} catch (e) {
return true;
}

for (var i = 0; i < materials.length; i++) {
var material = materials[i];
for (let i = 0; i < materials.length; i++) {
const material = materials[i];
let materialStat;
let materialUnixTime;
switch (typeof material) {
case 'string':
var materialStat = fs.statSync(material);
var materialUnixTime = materialStat.mtime.getTime();
materialStat = fs.statSync(material);
materialUnixTime = materialStat.mtime.getTime();
break;
case 'number':
var materialUnixTime = material;
materialUnixTime = material;
break;
default:
throw new Error('unknown material type. type = ' + typeof material);
Expand Down

0 comments on commit 2ba127c

Please sign in to comment.