您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Exports a simple function that can be passed a template literal. It strips code indentation from it while preserving intended indentation, by stripping out the smallest indent every line has in common.
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/511046/1460584/DeindentTemplateLiteralString.js
- // ==UserScript==
- // @name DeindentTemplateLiteralString
- // @license Unlicense
- // @namespace 1N07
- // @match *://*/*
- // @version 1.2
- // @author 1N07
- // @description Exports a simple function that can be passed a template literal. It strips code indentation from it while preserving intended indentation, by stripping out the smallest indent every line has in common.
- // ==/UserScript==
- /**
- * Takes a string (usually evaluated from a template literal) and strips code indentation from it,
- * while preserving intended intendation, by slicing out the smallest indentation each line has in common.
- * @param {String} str
- * @returns str with code indentation removed
- */
- function DeindentTemplateLiteralString(str) {
- const smallestIndent = Math.min(
- ...str
- .split("\n")
- .filter((line) => line.trim())
- .map((line) => line.match(/^\s+/)?.[0]?.length),
- );
- return str
- .split("\n")
- .map((line) => line.slice(smallestIndent))
- .join("\n")
- .trim();
- }
- //aliases
- const Deindent = DeindentTemplateLiteralString;