Webseite der LUG Frankfurt mit Hugo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

48 lines
1.4 KiB

//
// Generate vor.md from vor.txt by including missing date entries if required
//
require('./static/js/datejs/date-de-DE.js');
Date.i18n.setLanguage('de-DE');
var fs = require('fs');
var fileNameTxt = 'vor.txt';
var fileNameMd = 'vor.md';
try {
var text = fs.readFileSync(fileNameTxt).toString();
} catch (err) {
console.log('Problem with reading '+fileNameTxt);
}
const lines = text.split('\n').filter(function(e){return e});
var vor = '| | | | \n|:------|:------|:------|\n';
var dat = Date.today();
// Clone object first
var fourth = dat.clone().fourth().tuesday();
if (Date.compare(dat, fourth) == 1) {
dat = (1).months().fromNow();
dat = dat.fourth().tuesday();
}
for (const line of lines) {
if (line.length > 0) {
let seg = line.split('|').filter(function(e){return e});
let segTrim = [];
for (s of seg) {
segTrim.push(s.trim());
}
// See if date present, if not, generate it and insert it at the beginning
if (segTrim.length == 2) {
segTrim.unshift(dat.toString('dddd, dd.MM.yyyy'));
} else {
// Hack: add time for UTC offset calculation
dat = Date.parse(segTrim[0]+' 03:00');
}
let lineNew = '| ' + segTrim.join(' | ') + ' |\n';
vor += lineNew;
// Calc next fourth Tuesday
dat = dat.addMonths(1).fourth().tuesday();
}
}
try {
var of = fs.writeFileSync(fileNameMd, vor);
} catch (err) {
console.log('Problem with writing '+fileNameMd);
}