silex-website-builder-goodevent
Version:
Free and easy website builder for everyone.
40 lines (37 loc) • 2.5 kB
text/typescript
import * as express from 'express';
import * as nodeModules from 'node_modules-path';
import * as Path from 'path';
import * as serveStatic from 'serve-static';
import { StaticOptions } from '../ServerConfig';
export default function(staticOptions: StaticOptions) {
const router = express.Router();
// add static folders to serve published files
router.use('/', serveStatic(Path.join(__dirname, '../../../../dist/html')));
router.use('/', serveStatic(Path.join(__dirname, '../../../../dist/client')));
router.use('/js', serveStatic(Path.join(__dirname, '../../../../dist/client')));
router.use('/assets', serveStatic(Path.join(__dirname, '../../../../dist/public/assets')));
router.use('/css', serveStatic(Path.join(__dirname, '../../../../dist/public/css')));
router.use('/prodotype', serveStatic(Path.join(__dirname, '../../../../dist/prodotype')));
// the scripts which have to be available in all versions (v2.1, v2.2, v2.3, ...)
router.use('/static', serveStatic(Path.join(__dirname, '../../../../static')));
// wysihtml
router.use('/libs/wysihtml', serveStatic(Path.resolve(nodeModules('wysihtml'), 'wysihtml/parser_rules')));
router.use('/libs/wysihtml', serveStatic(Path.resolve(nodeModules('wysihtml'), 'wysihtml/dist/minified')));
// js-beautify
router.use('/libs/js-beautify', serveStatic(Path.resolve(nodeModules('js-beautify'), 'js-beautify/js/lib')));
// code editor
// router.use('/libs/monaco-editor', serveStatic(Path.resolve(nodeModules('monaco-editor'), 'monaco-editor/esm/vs/editor/')));
// // normalize.css
// router.use('/libs/normalize.css', serveStatic(Path.resolve(nodeModules('normalize.css'), 'normalize.css')));
// font-awesome
router.use('/libs/font-awesome/css', serveStatic(Path.resolve(nodeModules('font-awesome'), 'font-awesome/css')));
router.use('/libs/font-awesome/fonts', serveStatic(Path.resolve(nodeModules('font-awesome'), 'font-awesome/fonts')));
// ejs and prodotype
router.use('/libs/prodotype', serveStatic(Path.resolve(nodeModules('prodotype'), 'prodotype/pub')));
// styles for tags-input component
router.use('/libs/tags-input', serveStatic(Path.resolve(nodeModules('tags-input'), 'tags-input')));
// templates
router.use('/libs/templates/silex-templates', serveStatic(Path.resolve(nodeModules('silex-templates'), 'silex-templates')));
router.use('/libs/templates/silex-blank-templates', serveStatic(Path.resolve(nodeModules('silex-blank-templates'), 'silex-blank-templates')));
return router;
}