Browse Source

Add a title to each page

Steven 5 years ago
parent
commit
8a681e8523
4 changed files with 13 additions and 2 deletions
  1. 5 1
      build-docs.js
  2. 1 1
      docs/_document.html
  3. 6 0
      package-lock.json
  4. 1 0
      package.json

+ 5 - 1
build-docs.js

@@ -2,11 +2,13 @@ const { mkdir, rmdir, readdir, stat, readFile, writeFile, copyFile } = require('
 const { join, dirname, parse, format } = require('path');
 const { join, dirname, parse, format } = require('path');
 const marked = require('./');
 const marked = require('./');
 const { highlight, highlightAuto } = require('highlight.js');
 const { highlight, highlightAuto } = require('highlight.js');
+const titleize = require('titleize');
 const cwd = process.cwd();
 const cwd = process.cwd();
 const inputDir = join(cwd, 'docs');
 const inputDir = join(cwd, 'docs');
 const outputDir = join(cwd, 'public');
 const outputDir = join(cwd, 'public');
 const templateFile = join(inputDir, '_document.html');
 const templateFile = join(inputDir, '_document.html');
 const isUppercase = str => /[A-Z_]+/.test(str);
 const isUppercase = str => /[A-Z_]+/.test(str);
+const getTitle = str => str === 'INDEX' ? '' : titleize(str.replace(/_/g, ' ')) + ' - ';
 
 
 async function init() {
 async function init() {
   console.log('Cleaning up output directory ' + outputDir);
   console.log('Cleaning up output directory ' + outputDir);
@@ -41,7 +43,9 @@ async function build(currentDir, tmpl) {
             return highlight(lang, code).value;
             return highlight(lang, code).value;
           }
           }
         });
         });
-        contents = tmpl.replace('<!--{{content}}-->', html);
+        contents = tmpl
+          .replace('<!--{{title}}-->', getTitle(parsed.name))
+          .replace('<!--{{content}}-->', html);
         parsed.ext = '.html';
         parsed.ext = '.html';
         parsed.name = parsed.name.toLowerCase();
         parsed.name = parsed.name.toLowerCase();
         delete parsed.base;
         delete parsed.base;

+ 1 - 1
docs/_document.html

@@ -2,7 +2,7 @@
 <html>
 <html>
 <head>
 <head>
     <meta charset="utf-8"/>
     <meta charset="utf-8"/>
-    <title>Marked Documentation</title>
+    <title><!--{{title}}-->Marked Documentation</title>
     <link rel="stylesheet" href="/css/style.css" type="text/css" />
     <link rel="stylesheet" href="/css/style.css" type="text/css" />
     <link rel="stylesheet" href="/css/hljs-github.css" type="text/css" />
     <link rel="stylesheet" href="/css/hljs-github.css" type="text/css" />
 </head>
 </head>

+ 6 - 0
package-lock.json

@@ -3305,6 +3305,12 @@
         }
         }
       }
       }
     },
     },
+    "titleize": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/titleize/-/titleize-2.1.0.tgz",
+      "integrity": "sha512-m+apkYlfiQTKLW+sI4vqUkwMEzfgEUEYSqljx1voUE3Wz/z1ZsxyzSxvH2X8uKVrOp7QkByWt0rA6+gvhCKy6g==",
+      "dev": true
+    },
     "to-fast-properties": {
     "to-fast-properties": {
       "version": "2.0.0",
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",

+ 1 - 0
package.json

@@ -52,6 +52,7 @@
     "rollup-plugin-babel": "^4.4.0",
     "rollup-plugin-babel": "^4.4.0",
     "rollup-plugin-commonjs": "^10.1.0",
     "rollup-plugin-commonjs": "^10.1.0",
     "rollup-plugin-license": "^2.1.0",
     "rollup-plugin-license": "^2.1.0",
+    "titleize": "^2.1.0",
     "uglify-js": "^3.10.0",
     "uglify-js": "^3.10.0",
     "vuln-regex-detector": "^1.3.0"
     "vuln-regex-detector": "^1.3.0"
   },
   },