Botones de barra de herramientas para copiar como markdown y limpiar URL
Las reglas JS de JustZix se ejecutan automáticamente al cargar la página. Las acciones son distintas — son botones de barra de herramientas cuyo código se ejecuta solo cuando haces clic en ellos. Eso hace que las acciones sean perfectas para herramientas bajo demanda: copiar la página actual como markdown, limpiar la basura de seguimiento de una URL o reescribir enlaces. Aquí tienes tres que usarás cada día.
Acción 1: copiar el título de la página y la URL como markdown
Cuando recopilas enlaces para notas o documentos, quieres un enlace markdown ordenado, no una URL en bruto. Esta acción construye uno y lo copia al portapapeles.
var title = (document.title || location.hostname).trim();
var url = location.href;
var markdown = '[' + title + '](' + url + ')';
navigator.clipboard.writeText(markdown).then(function () {
console.log('Copiado: ' + markdown);
}).catch(function () {
console.log('Portapapeles bloqueado — copia manualmente: ' + markdown);
});
Como las acciones se ejecutan al hacer clic, el navegador trata la escritura en el portapapeles como un gesto del usuario, así que navigator.clipboard.writeText está permitido. Una regla JS que se ejecute al cargar la página no podría hacer esto de forma fiable.
Acción 2: copiar el texto seleccionado como markdown
Selecciona un encabezado y algo de texto, haz clic en el botón y obtén markdown de vuelta. Esta versión detecta si la selección está dentro de un elemento de encabezado.
var sel = window.getSelection();
var text = sel ? sel.toString().trim() : '';
if (!text) {
console.log('Selecciona texto primero.');
} else {
var node = sel.anchorNode;
var el = node && node.nodeType === 3 ? node.parentElement : node;
var tag = el ? (el.tagName || '').toLowerCase() : '';
var prefix = '';
if (tag === 'h1') prefix = '# ';
else if (tag === 'h2') prefix = '## ';
else if (tag === 'h3') prefix = '### ';
navigator.clipboard.writeText(prefix + text);
console.log('Copiado como markdown.');
}
Acción 3: quitar los parámetros de seguimiento de la URL
Los enlaces compartidos a menudo están abarrotados de parámetros de seguimiento utm_*, fbclid, gclid y similares. Esta acción los elimina y copia la URL limpia — sin recargar la página.
var JUNK = ['utm_source','utm_medium','utm_campaign','utm_term','utm_content',
'fbclid','gclid','mc_eid','ref','ref_src','igshid','_hsenc'];
var u = new URL(location.href);
JUNK.forEach(function (param) {
u.searchParams.delete(param);
});
var clean = u.toString();
navigator.clipboard.writeText(clean);
console.log('URL limpia copiada: ' + clean);
Si también quieres que la barra de direcciones se actualice, añade history.replaceState(null, '', clean); — reescribe la URL en silencio sin ninguna petición adicional.
Bonificación: abrir todos los enlaces externos en pestañas nuevas
Esta encaja mejor como regla JS (se ejecuta al cargar) que como acción, pero se empareja de forma natural con las herramientas de arriba. Encuentra los enlaces que apuntan a otros dominios y los marca para que se abran en una pestaña nueva de forma segura.
var here = location.hostname;
var links = document.querySelectorAll('a[href^="http"]');
links.forEach(function (a) {
try {
if (new URL(a.href).hostname !== here) {
a.target = '_blank';
a.rel = 'noopener noreferrer';
}
} catch (e) { /* saltar href mal formado */ }
});
Fijar rel="noopener noreferrer" es buena práctica — impide que la página nueva obtenga una referencia de vuelta a tu pestaña.
Cuándo usar una acción frente a una regla
- Usa una acción para cualquier cosa que actives manualmente: copiar, exportar, limpiar la URL actual. El clic cuenta como un gesto del usuario, lo que desbloquea el acceso al portapapeles.
- Usa una regla JS para cualquier cosa que deba ocurrir siempre: reescribir enlaces, desbloquear copiar, descartar banners.
- Las acciones aparecen como botones en la barra de herramientas de JustZix, así que nómbralas con claridad — "Copiar como MD", "Limpiar URL".
- Cada fragmento de aquí es local: lee la página y escribe en el portapapeles, nada más.
Explora los botones prediseñados en los ejemplos listos para usar, o descarga JustZix para configurarlos. Para ajustes automáticos en el momento de la carga en su lugar, consulta atajos de teclado personalizados.
Valora este artículo
Sin valoraciones — sé el primero.