chore(examples) page adjustments; markdown test
This commit is contained in:
@@ -1,8 +1,20 @@
|
||||
import { LayServer } from '../src';
|
||||
import {resolve} from 'path';
|
||||
import { resolve } from 'path';
|
||||
import Html from '../src/Views/Html';
|
||||
import Markdown from '../src/Views/Markdown';
|
||||
|
||||
import Placekeeper from '../src/Utils/Placekeeper';
|
||||
import Storage from '../src/Utils/Storage';
|
||||
|
||||
const storage = new Storage({ baseDir: resolve(__dirname) });
|
||||
const Templater = new Placekeeper({
|
||||
cacheDir: '.cache',
|
||||
disableCache: true,
|
||||
storage,
|
||||
onError(err) {
|
||||
// console.error(err, err.stack);
|
||||
}
|
||||
});
|
||||
const APP_PORT = Bun.env.APP_PORT ?? Bun.env.PORT ?? 3000;
|
||||
|
||||
class InfoController {
|
||||
@@ -36,15 +48,25 @@ class InfoController {
|
||||
}
|
||||
|
||||
const server = new LayServer({
|
||||
viewsPath: resolve(__dirname, 'views'),
|
||||
layout: 'blank.html',
|
||||
loaders: new Map([[
|
||||
'html', new Html()
|
||||
]]),
|
||||
port: APP_PORT,
|
||||
viewPaths: [
|
||||
resolve(__dirname, 'views'),
|
||||
resolve(__dirname, 'contents')
|
||||
],
|
||||
publicDir: resolve(__dirname, 'public'),
|
||||
publicFiles: [
|
||||
resolve(__dirname, 'public', 'main.css'),
|
||||
],
|
||||
discoverPublicFiles: true,
|
||||
layout: 'intro.html',
|
||||
loaders: new Map([
|
||||
['html', new Html(Templater)],
|
||||
['md', new Markdown(Templater)],
|
||||
]),
|
||||
controllers: [
|
||||
function Main(server) {
|
||||
server.get('/', async (req, res) => {
|
||||
return res.json({message: 'hello world'})
|
||||
return res.json({message: 'hello world'});
|
||||
}, { domain: 'example.layc.dev' });
|
||||
server.all('/data', (req, res) => {
|
||||
let respBody = `your ${req.method} request was well recieved`;
|
||||
@@ -85,17 +107,28 @@ const server = new LayServer({
|
||||
});
|
||||
|
||||
server.get('/', async (req, res) => {
|
||||
return res.render('index');
|
||||
return res.send('welcome home', {
|
||||
layout: false,
|
||||
title: 'Smart title or so',
|
||||
locale: 'en'
|
||||
});
|
||||
});
|
||||
|
||||
server.get('/blog/:slug', async (req, res) => {
|
||||
return res.send('index.html', { layout: 'blank.html' });
|
||||
try {
|
||||
return res.layout('index.html')
|
||||
.render(`blog/${req.params.get('slug').toString()}.md`);
|
||||
} catch(err) {
|
||||
return new Response('not found', {status: 404});
|
||||
}
|
||||
});
|
||||
|
||||
server.use(async (req, res) => {
|
||||
return res.send('batman');
|
||||
return res.send('404 page is here', {
|
||||
title: 'Page not Found: 404'
|
||||
}).status(404);
|
||||
})
|
||||
|
||||
server.listen(APP_PORT, () => {
|
||||
console.log(`server listen on ${APP_PORT}`);
|
||||
console.log(`listen on ${APP_PORT}`);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user