38 lines
956 B
JavaScript
38 lines
956 B
JavaScript
var fs = require('fs');
|
|
|
|
function toTitleCase(str) {
|
|
return str.replace(/\w\S*/g, function(txt){
|
|
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
|
|
});
|
|
}
|
|
|
|
/* GET home page. */
|
|
function articles(request, response) {
|
|
var articleList = fs.readdirSync('./articles');
|
|
articleList.reverse();
|
|
var contents = '';
|
|
articleList.forEach(function(item) {
|
|
var title = item.replace('.gmi', '').replace(/\-/g, ' ');
|
|
title = toTitleCase(title);
|
|
contents += `=> /articles/${item} ${title}\r\n`;
|
|
});
|
|
response.send(`20 text/gemini\r\n
|
|
# Articles by Uplink:SI
|
|
List of Articles:
|
|
${contents}
|
|
`);
|
|
}
|
|
|
|
function articles_item(request, response) {
|
|
var article = fs.readFileSync('./articles/' + request.params.item);
|
|
response.send(`20 text/gemini\r\n
|
|
${article}
|
|
|
|
=> /articles/ 📓Articles
|
|
=> / 🏡Home
|
|
`);
|
|
}
|
|
|
|
module.exports.articles = articles;
|
|
module.exports.articles_item = articles_item;
|