diff --git a/server.js b/server.js index 398b330..cc59d4f 100644 --- a/server.js +++ b/server.js @@ -50,7 +50,7 @@ app.set('view engine', 'spy'); app.get('/', requireLoggedIn, (req, res) => { let data = { title: 'Home', - disabled: '', + disabled: '', message: getSavedFile(req.session.user.username) } let today = getNow().toISOString().slice(0,10) @@ -66,7 +66,7 @@ app.get('/login', (req, res) => { if (req.session.user) { res.redirect('/') } else { - res.render('login.spy', {title: 'Log In'}) + res.render('login.spy', {title: 'Log In'}) } }) @@ -77,15 +77,19 @@ app.get('/edit', requireLoggedIn, (req, res) => { }) app.get('/settings', requireLoggedIn, (req, res) => { - res.render('settings.spy', {title: 'Settings'}) + res.render('settings.spy', {title: 'Settings'}) }) app.get('/try-again', requireLoggedIn, (req, res, next) => { - res.render('try-again.spy', {title: 'Log In'}) + res.render('try-again.spy', {title: 'Log In'}) }) app.get('/help', requireLoggedIn, (req, res, next) => { - res.render('help.spy', {title: 'Help'}) + res.render('help.spy', {title: 'Help'}) +}) + +app.get('/published', requireLoggedIn, (req, res, next) => { + res.render('published.spy', {title: 'You published a note!'}) }) // POST @@ -108,7 +112,7 @@ app.post('/logout', function(req, res, next){ app.post('/publish', requireLoggedIn, (req, res) => { publishNewPost(req, () => { - res.redirect('/') + res.redirect('/published') }) }) diff --git a/utilities.js b/utilities.js index 4f2c836..e66bd57 100644 --- a/utilities.js +++ b/utilities.js @@ -86,9 +86,9 @@ const verifyUser = function (req, res, next) { if (!user) { return next() } - + pbkdf2(password, user.salt, 310000, 32, 'sha512', function(err, hashedPassword) { - if (err) { + if (err) { return next() } if (user.password !== hashedPassword.toString('hex')) { @@ -168,16 +168,17 @@ const publishNewPost = function(req, cb) { }) } } else { + let newlines = [] let links = data.split('## Latest notes') let lines = links[1].split('\n') - for (let i = 6; i < 2; i--) { - if (lines[i] && lines[i].startsWith('=>')) { - lines[i] = lines[i-1] + for (let line of lines) { + if (line.startsWith('=>') && newlines.length < 4) { + newlines.push(line) } } lines[0] = '## Latest notes' - lines[2] = `=> /${year}/${dateString}.gmi ${dateString} (${title})` - updated = links[0] + lines.join('\n') + newlines.unshift(`## Latest notes\n\n=> /${year}/${dateString}.gmi ${dateString} (${title})`) + updated = newlines.join('\n') writeFile(indexFile, updated, (err) => { if (err) { // if the directory doesn't exist, create it and try again @@ -213,7 +214,7 @@ const publishNewPost = function(req, cb) { } let getLatestPost = function(directory, callback) { - // we check the index file because + // we check the index file because // a new post could have come from // somewhere other than the app // e.g. from a CLI on a laptop etc @@ -298,7 +299,7 @@ let getSavedFile = function(user) { // TODO: let savePictures = async function(text) { - // we will need to save pictures to the server + // we will need to save pictures to the server // separately when publishing }