您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Get word count of Notion document
- // ==UserScript==
- // @name notion-word-count
- // @namespace https://greasyfork.org/scripts/413663-notion-word-count
- // @author starrybouquet
- // @match https://www.notion.so/*
- // @version 0.0.1
- // @description Get word count of Notion document
- // ==/UserScript==
- window.onload = function (){
- // add button
- var moreButton = document.getElementsByClassName('notion-topbar-more-button')[0];
- var countButton = document.createElement('button');
- countButton.textContent = 'Word Count';
- countButton.id = 'wordcount-userscript-button'
- countButton.setAttribute('style', 'element {user-select: none;transition: background 20ms ease-in 0s;cursor: pointer;display: inline-flex;align-items: center;flex-shrink: 0;white-space: nowrap;height: 28px;border-radius: 3px;font-size: 14px;line-height: 1.2;min-width: 0px;padding-left: 8px;padding-right: 8px;color: rgb(55, 53, 47);');
- countButton.onclick = getWordCount;
- moreButton.before(countButton);
- // get current wordcount on click (NOT automatically updated)
- function getWordCount(e) {
- var input = document.getElementsByClassName('notion-page-content')[0];
- // regex gratefully based on https://stackoverflow.com/questions/38102141/how-to-make-a-word-count-that-contains-html-tags-using-javascript
- // console.log(input.innerText);
- cont = input.innerText.replace(/<[^>]*>/g," ");
- cont = cont.replace(/\s+/g, ' ');
- cont = cont.replace('—', ' ');
- cont = cont.trim();
- var words = cont.split(" ").length;
- countButton.textContent = 'Word Count: ' + String(words);
- }
- }