Uploading of articles.
This commit is contained in:
2
index.js
2
index.js
@ -11,6 +11,6 @@ const gemini = new uplinkGemini.Gemini();
|
||||
gemini.router.use('/', index);
|
||||
gemini.router.use('/articles/', articles);
|
||||
gemini.router.use('/articles/:item', articles_item);
|
||||
gemini.router.use('/admin', admin);
|
||||
gemini.router.use('/admin/', admin);
|
||||
|
||||
gemini.listen();
|
||||
|
@ -1,6 +1,26 @@
|
||||
var fs = require('fs');
|
||||
|
||||
/* GET home page. */
|
||||
function admin(req, res) {
|
||||
res.send(`20 text/gemini\r\n\r\nHello Admin\r\n\r\n=> /articles/ 📓Articles\r\n=> / 🏡Home\r\n`)
|
||||
if(req.protocol == 'titan:') {
|
||||
console.log(req.content.toString());
|
||||
var title = '';
|
||||
var lines = req.content.toString().split('\n');
|
||||
for(var i = 0; i < lines.length; i++) {
|
||||
if(lines[i].startsWith('# ')) {
|
||||
title = lines[i].replace('# ', '').trim().replace(/ /g, '-').toLowerCase().replace(/č/g,'c').replace(/š/g, 's').replace(/ž/g, 'z') + '.gmi';
|
||||
console.log(title);
|
||||
break;
|
||||
}
|
||||
}
|
||||
try {
|
||||
fs.writeFileSync('articles/' + title, req.content.toString());
|
||||
} catch (error) {
|
||||
res.error(51);
|
||||
return;
|
||||
}
|
||||
}
|
||||
res.send(`20 text/gemini\r\n\r\nHello Admin\r\n\r\n=> titan://localhost/admin/ Upload new article\r\n\r\n=> /articles/ 📓Articles\r\n=> / 🏡Home\r\n`)
|
||||
}
|
||||
|
||||
module.exports = admin;
|
||||
|
@ -2,7 +2,7 @@
|
||||
function index(request, response) {
|
||||
var adminBlock = "";
|
||||
if(request.clientCert.fingerprint == '96:19:A6:91:57:AF:E2:D3:E0:80:FC:35:4E:BD:2A:46:C9:2D:CB:53') {
|
||||
adminBlock = '## Administration\r\n=> /admin Administration';
|
||||
adminBlock = '## Administration\r\n=> /admin/ Administration';
|
||||
}
|
||||
response.send(`20 text/gemini\r\n
|
||||
\`\`\` Uplink:SI Logo
|
||||
|
Reference in New Issue
Block a user