@sujaykumarh/docsify-plugin-title
Version:
Docsify plugin custom page title
72 lines (57 loc) • 1.86 kB
JavaScript
/**
* @license
*
* docsify-plugin-title/plugin.js v2.0.0
* (https://github.com/Sujaykumarh/docsify-plugin-title/)
*
* Copyright (c) 2021 Sujaykumar.Hublikar <hello@sujaykumarh.com>
* Github (@sujaykumarh)
*
* Licensed under Apache License, Version 2.0
*/
// javascript policy
;
// config options
const customPageTitleOptions = {
prefix: false,
suffix: false,
separator: '|',
debug: false,
}
// main function
function customPageTitle(hook, vm) {
// before hook
// hook.beforeEach(function (content) {
// });
// after hook
hook.doneEach(function () {
var _title = document.title; // title from docsify
debug('customPageTitleOptions: ' + customPageTitleOptions);
debug('page title [before]: ' + document.title);
if (customPageTitleOptions.prefix != '' || customPageTitleOptions.prefix != false) {
_title = customPageTitleOptions.prefix + " " + customPageTitleOptions.separator + " " + _title;
debug('new title [prefix]:' + _title);
}
if (customPageTitleOptions.suffix != '' || customPageTitleOptions.suffix != false) {
_title = _title + " " + customPageTitleOptions.separator + " " + customPageTitleOptions.suffix;
debug('new title [suffix]:' + _title);
}
document.title = _title;
});
}
function debug(msg) {
if (customPageTitleOptions.debug) console.log('[customPageTitle] log: ' + msg);
}
function error(msg) {
if (customPageTitleOptions.debug) console.error('[customPageTitle] err: ' + msg);
}
// find customPageTitle plugin options
window.$docsify.customPageTitle = Object.assign(
customPageTitleOptions,
window.$docsify.customPageTitle
);
// Set docsify plugin
window.$docsify.plugins = [].concat(
customPageTitle,
window.$docsify.plugins
);