//default values var defaultOptions = { countable: true, position: "top", margin: "10px", float: "right", fontsize: "0.9em", color: "rgb(90,90,90)", language: "english", isExpected: true, }; // Docsify plugin functions function plugin(hook, vm) { if (!defaultOptions.countable) { return; } let wordsCount; hook.beforeEach(function (content) { // Match regex every time you start parsing .md wordsCount = content.match(/([\u4e00-\u9fa5]+?|[a-zA-Z0-9]+)/g).length; return content; }); hook.afterEach(function (html, next) { let str = wordsCount + " words"; let readTime = Math.ceil(wordsCount / 400) + " min"; //Determine whether to use the Chinese style according to the attribute "language" if (defaultOptions.language === "chinese") { str = wordsCount + " 字"; readTime = Math.ceil(wordsCount / 400) + " 分钟"; } //add html string next( ` ${defaultOptions.position === "bottom" ? html : ""}
${str} ${defaultOptions.isExpected ? `  |  ${readTime}` : ""}
${defaultOptions.position !== "bottom" ? html : ""} ` ); }); } // Docsify plugin options window.$docsify["count"] = Object.assign( defaultOptions, window.$docsify["count"] ); window.$docsify.plugins = [].concat(plugin, window.$docsify.plugins);