@kth/basic-html-templates

1.0.75 • Public • Published

Basic HTML Templates alt text Continous Integration

Npm: @kth/basic-html-templates

Simple KTH look

A simple way to get web pages to look somewhat like the kth.se design. The templates are intended to be used in private to semiprivate services.

Demo application

Demo code source here.

const express = require("express");
const { templates } = require("@kth/basic-html-templates");
const httpResponse = require("@kth/http-responses");
const app = express();
const started = new Date();

/**
 * Index page.
 */
app.get("/", function (request, response) {
  httpResponse.ok(request, response, templates.index((title = "Demo App")));
});

/**
 * About page. Versions and such.
 */
app.get("/_about", function (request, response) {
  const about = {
    dockerName: "demo-app",
    dockerVersion: "0.0.1_abc123",
    jenkinsBuildDate: new Date(),
  };
  httpResponse.ok(request, response, templates._about(about, started));
});

/**
 * Health check route.
 */
app.get("/_monitor", function (request, response) {
  httpResponse.ok(
    request,
    response,
    templates._monitor((status = "OK")),
    httpResponse.contentTypes.PLAIN_TEXT
  );
});

/**
 * Crawler access definitions.
 */
app.get("/robots.txt", function (request, response) {
  httpResponse.ok(
    request,
    response,
    templates.robotstxt(),
    httpResponse.contentTypes.PLAIN_TEXT
  );
});

/**
 * Generic error page for 5xx response codes.
 * Includes application information from  /_application.
 */
app.get("/error5xx.html", function (request, response) {
  httpResponse.internalServerError(request, response, badGateway.error5xx());
});

/**
 * Ignore favicons.
 */
app.get("/favicon.ico", function (request, response) {
  httpResponse.noContent(request, response);
});

/**
 * Default route, if no other route is matched (404 Not Found).
 */
app.use(function (request, response) {
  httpResponse.notFound(request, response, templates.error404());
});


app.listen(80, function () {
  console.log("Server started.");
});
{
  "name": "demo-app",
  "version": "1.0.0",
  "description": "Demo app for @kth/basic-html-templates",
  "main": "index.js",
  "scripts": {
    "clean": "rm -r ./node_modules && rm package-lock.json"
  },
  "author": "paddy@kth.se",
  "license": "MIT",
  "dependencies": {
    "@kth/basic-html-templates": "^1.0.24",
    "@kth/http-responses": "^1.0.20",
    "express": "^4.17.1"
  }
}

Examples:

/@kth/basic-html-templates/

    Package Sidebar

    Install

    npm i @kth/basic-html-templates

    Weekly Downloads

    22

    Version

    1.0.75

    License

    MIT

    Unpacked Size

    21.9 kB

    Total Files

    14

    Last publish

    Collaborators

    • kth-stratus
    • mictsi
    • n_sandstrom
    • kthwebmaster
    • exacs
    • ssundkvist
    • kth-ci
    • emilstenberg