Marksmith - Extensión de productividad para Markdown en VS Code/Windsurf
(rakkunn.github.io)Una extensión creada para reducir las tareas tediosas al escribir Markdown en VS Code y Windsurf
Integra en un solo paquete reconocimiento de contexto del portapapeles, vista previa bidireccional y análisis de documentos.
Como Windsurf está basado en un fork de VS Code, soporta ambos con la misma API.
Por qué la hice
El problema de que el contenido copiado desde la web/Word entra como HTML roto o texto plano.
Dependencia de sitios externos de conversión al ingresar datos tabulares.
Costo de navegación por scroll debido a la falta de sincronización de posición entre la vista previa y el editor.
Funciones principales
- Smart Paste
HTML → Markdown: se aplican overrides de reglas de tablas GFM y bloques de código sobre el motor Turndown.
Conversión automática de TSV: las tablas copiadas desde Excel/Google Sheets se reemplazan por tablas Markdown mediante un pipeline basado en expresiones regulares.
Al pegar una URL sobre texto seleccionado, se envuelve automáticamente con el formato [selected](url).
- Vista previa bidireccional
Al modificar, se hacía un rerender completo → provocando parpadeo en KaTeX y saltos de scroll.
Se cambió a un método de actualización incremental (incremental DOM patch).
En la etapa de compilación se inyecta el atributo data-line en cada nodo HTML para mapear líneas del origen.
Al hacer clic en la vista previa, se envía el número de línea al editor mediante postMessage → mueve el cursor.
- Document X-Ray (panel lateral)
Estimación de número de caracteres y tiempo de lectura para documentos mixtos en coreano/inglés (basado en 200 wpm para inglés, 500 caracteres/min para coreano).
Outline basado en parsing del árbol de headings + navegación con clic.
Chequeo asíncrono de salud 404 para enlaces externos dentro del documento.
Alcance actual de soporte
Integración de linter/formatter
Renderizado de KaTeX y Mermaid
Exportación a HTML/PDF
Planes a futuro
Optimización de rendimiento para documentos grandes (incremental parsing)
Integración con asistente de IA (resumen, corrección de oraciones)
Modo compatible con Obsidian Vault
Notas técnicas
El Webview de la VS Code Extension API es un sandbox aislado del editor.
En la comunicación bidireccional, si no hay debounce ni message batching, el rendimiento cae en documentos grandes.
Según el diseño de la arquitectura, puede haber una gran diferencia de rendimiento incluso con la misma funcionalidad.
Enlaces
GitHub: https://github.com/RAKKUNN/Marksmith
Page: https://rakkunn.github.io/MarkSmith/
¡Les agradecería mucho sus comentarios y reseñas!
Gracias.
Aún no hay comentarios.