Вы администратор или только модератор? Если вы администратор, то, вероятно, можете создать компонент темы вместо того, чтобы полагаться на пользовательский скрипт.
Тем не менее, для сайтов, где вы не можете редактировать код, пользовательские скрипты остаются интересным решением для различных улучшений.
Я использую их на многих веб-сайтах.
На meta.discourse.org у меня есть скрипт, который добавляет сочетание клавиш Ctrl+Shift+k для оборачивания выделенного текста тегами <kbd> в редакторе ![]()
// ==UserScript==
// @name Сочетание клавиш <kbd> для meta.discourse.org
// @namespace Скрипты Violentmonkey
// @version 1.0
// @description Вставка тегов <kbd> в текстовые области на meta.discourse.org с помощью Ctrl + Shift + k
// @author chatGPT
// @match https://meta.discourse.org/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
document.addEventListener('keydown', function(event) {
if (event.ctrlKey && event.shiftKey && event.key === 'K') {
const activeElement = document.activeElement;
if (activeElement.tagName === 'TEXTAREA' && activeElement.classList.contains('ember-text-area')) {
const start = activeElement.selectionStart;
const end = activeElement.selectionEnd;
const text = activeElement.value;
const insertText = '<kbd>';
const closeText = '</kbd>';
const selectedText = text.slice(start, end);
activeElement.value = text.slice(0, start) + insertText + selectedText + closeText + text.slice(end);
const cursorPosition = end === start
? start + insertText.length
: start + insertText.length + selectedText.length + closeText.length;
activeElement.selectionStart = activeElement.selectionEnd = cursorPosition;
event.preventDefault();
}
}
});
})();
Кроме того, я не использую Tampermonkey, так как он имеет закрытый исходный код; я предпочитаю программное обеспечение с открытым исходным кодом. Есть несколько альтернатив (все они выглядят похоже, а скрипты совместимы между собой). Думаю, наиболее популярным является Violentmonkey.