57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
const express = require("express")
|
|
const app = express()
|
|
const PORT = 3000
|
|
const path = require('path')
|
|
|
|
const { create } = require('express-handlebars');
|
|
|
|
const context = {
|
|
subject: "09: użycie helperów",
|
|
text: "Lorem ipsum dolor sit amet"
|
|
}
|
|
|
|
const hbs = create({
|
|
defaultLayout: 'main.hbs', // Domyślny layout: views/layouts/main.hbs
|
|
extname: '.hbs', // rozszerzenie plików szablonów
|
|
helpers: {
|
|
short_title: function (title) {
|
|
return title.substring(0, 10) + "...";
|
|
},
|
|
capitals: function (title) {
|
|
let words = title.split(' ')
|
|
let output = ''
|
|
words.forEach(word => output += word[0].toUpperCase() + word.substring(1, word.length) + ' ')
|
|
output = output.substring(0, output.length - 1)
|
|
return output
|
|
},
|
|
dashes: function (title) {
|
|
let str = title.replaceAll(" ", "")
|
|
let output = ''
|
|
for (let i = 0; i < str.length; i++) {
|
|
output += str[i] + '-'
|
|
}
|
|
output = output.substring(0, output.length - 1)
|
|
return output
|
|
}
|
|
}
|
|
});
|
|
|
|
app.use(express.urlencoded({
|
|
extended: true
|
|
}));
|
|
app.engine('.hbs', hbs.engine); // określenie silnika szablonów
|
|
app.set('view engine', '.hbs');
|
|
app.set('views', path.join(__dirname, 'views')); // ustalamy katalog views
|
|
|
|
app.get("/", function (req, res) {
|
|
res.render('index09a.hbs', context)
|
|
})
|
|
|
|
|
|
|
|
app.use(express.static("static"))
|
|
|
|
app.listen(PORT, function () {
|
|
console.log("start serwera na porcie " + PORT)
|
|
})
|