1 | var path = require('path')
|
2 | var express = require('express')
|
3 | var _ = require('lodash')
|
4 |
|
5 | var navTree = require('./nav.json')
|
6 | var config = require('./config')
|
7 |
|
8 | var Doxx = require('..')
|
9 | var doxxConfig = require('./config/doxx')
|
10 |
|
11 | var app = express()
|
12 | var doxx = Doxx(doxxConfig)
|
13 | doxx.configureExpress(app)
|
14 |
|
15 | var staticDir = path.join(__dirname, 'static')
|
16 | var contentsDir = path.join(__dirname, config.destDir)
|
17 |
|
18 | app.use(express.static(staticDir))
|
19 |
|
20 | var getLocals = function (extra) {
|
21 | return doxx.getLocals({ nav: navTree }, extra)
|
22 | }
|
23 |
|
24 | doxx.loadLunrIndex()
|
25 |
|
26 | app.get('/search-results', function (req, res) {
|
27 | var searchTerm = req.query.searchTerm
|
28 | res.render('search', getLocals({
|
29 | title: "Search results for " + searchTerm,
|
30 | breadcrumbs: [
|
31 | 'Search Results',
|
32 | searchTerm
|
33 | ],
|
34 | searchTerm: searchTerm,
|
35 | searchResults: doxx.lunrSearch(searchTerm)
|
36 | }))
|
37 | })
|
38 |
|
39 | app.use(express.static(contentsDir))
|
40 |
|
41 | app.get('*', function (req, res) {
|
42 | res.render('not-found', getLocals({
|
43 | title: "We don't seem to have such page",
|
44 | breadcrumbs: [ 'Page not found' ]
|
45 | }))
|
46 | })
|
47 |
|
48 | var port = process.env.PORT || 3000
|
49 |
|
50 | app.listen(port, function () {
|
51 | console.log("Server started, open http://localhost:" + port)
|
52 | })
|