diff --git a/routes/osp.js b/routes/osp.js new file mode 100644 index 0000000..d6c9936 --- /dev/null +++ b/routes/osp.js @@ -0,0 +1,14 @@ +const handler = require('express-async-handler'); + +function template(name) { + return handler( + async function (req, res) { + return res.template(name, { current_route: req.originalUrl }); + } + ); +} + +module.exports = (router) => { + router.get('/osp/lightkeeper', template('osp/lightkeeper.pug')); + router.get('/osp/bfile', template('osp/bfile.pug')); +} \ No newline at end of file diff --git a/routes/pages.js b/routes/pages.js index 572e4ed..77cf469 100644 --- a/routes/pages.js +++ b/routes/pages.js @@ -26,4 +26,6 @@ module.exports = (router) => { router.get('/about', handler(about)); // used only in about route router.get('/power_of_php', phpower); + + router.use(require('./osp')); } \ No newline at end of file diff --git a/view/layout/main.pug b/view/layout/main.pug index 70cac4a..9272abd 100644 --- a/view/layout/main.pug +++ b/view/layout/main.pug @@ -11,7 +11,11 @@ block root "hr_2": "hr", "Sources": "/sources", "Services": "/services", - "Resume": "/resume" + "Resume": "/resume", + "hr_2": "hr", + "Featured Open Source projects": "h1", + "⛯ Lightkeeper": "/osp/lightkeeper", + "🛸 blek! File": "/osp/bfile" } doctype html @@ -78,6 +82,8 @@ html(style='overflow-y:auto' lang='en_US') each route, name in routes if (route == 'hr') li
+ else if (route == 'h1') + li(style='padding-left:4px;margin:4px 0') #{name} else li(style='padding-left:4px') if current_route == route diff --git a/view/osp/bfile.pug b/view/osp/bfile.pug new file mode 100644 index 0000000..0904d6e --- /dev/null +++ b/view/osp/bfile.pug @@ -0,0 +1,29 @@ +extends ../layout/main.pug +block root + include ../ui/label.pug +block content + a(href='/') Go home + table + tbody + tr + td + img(src='https://file.blek.codes/android-chrome-192x192.png' width='128' height='128' title='blek! File logo' alt='blek! File logo' style='margin:20px') + td + h1 blek! File + p This is a minute file sharing service(like google drive but it doesnt store your files for long), as well as my first project that's made with rust. + p + . + I have been inspired by projects like + a(href='https://0x0.st') 0x0.st + | and + a(href='https://anonfiles.me') anonfiles.me + | to write this. + p + | Links: + a(href='https://git.blek.codes/blek/bfile') + +label('Git repo', '#AFA6BF') + | + a(href='https://file.blek.codes') + +label('My instance', '#BCA6BF') + img(src='https://files.blek.codes/file_ui.webp' title='blek!File UI' alt='blek!File UI') + \ No newline at end of file diff --git a/view/osp/lightkeeper.pug b/view/osp/lightkeeper.pug new file mode 100644 index 0000000..2b49b0c --- /dev/null +++ b/view/osp/lightkeeper.pug @@ -0,0 +1,18 @@ +extends ../layout/main.pug +block content + a(href='/') Go home + table + tbody + tr + td + img(src='https://github.com/kalaksi/lightkeeper/blob/master/flatpak/io.github.kalaksi.Lightkeeper-128px.png?raw=true' height='128' width='128' alt='Lightkeeper logo' title='Lightkeeper logo' style='border-radius:24px;margin:20px') + td + h1 Lightkeeper + p Lightkeeper is a tool for simplifying server administration over SSH. It basically wraps the SSH commands into a nice GUI for you to manage. + p Links: + ul + li + a(href='https://github.com/kalaksi/lightkeeper') GitHub repo + li + a(href='https://flathub.org/apps/io.github.kalaksi.Lightkeeper') Get it on Flathub + img(src='https://github.com/kalaksi/lightkeeper/raw/master/doc/images/LightkeeperRM-overview.png' height='320px') \ No newline at end of file