Marksmith - extensão de produtividade para Markdown no VS Code/Windsurf
(rakkunn.github.io)Uma extensão criada para reduzir o trabalho manual ao escrever Markdown no VS Code e no Windsurf
Integra reconhecimento de contexto da área de transferência, preview bidirecional e análise de documentos em um único pacote
Como o Windsurf é baseado em um fork do VS Code, oferece suporte a ambos com a mesma API
Motivo da criação
Conteúdos copiados da web/Word entram como HTML quebrado ou texto simples
Dependência de sites externos de conversão ao inserir dados de tabelas
Custo de navegação por rolagem devido à falta de sincronização de posição entre preview e editor
Principais recursos
- Smart Paste
HTML → Markdown: aplicação de overrides nas regras de tabela GFM e blocos de código no mecanismo Turndown
Conversão automática de TSV: tabelas copiadas do Excel/Google Sheets são substituídas por tabelas Markdown com um pipeline baseado em regex
Ao colar uma URL sobre um texto selecionado, faz o wrapping automático no formato selected
- Bi-directional Preview
Ao alterar, rerenderização completa → surgem problemas de cintilação do KaTeX e saltos de rolagem
Mudança para o método de atualização incremental (incremental DOM patch)
Na etapa de compilação, injeta o atributo data-line em cada nó HTML para mapear as linhas do código-fonte
Ao clicar no preview, envia o número da linha ao editor via postMessage → move o cursor
- Document X-Ray (dashboard na barra lateral)
Estimativa de número de caracteres e tempo de leitura para documentos mistos em coreano/inglês (com base em 200 wpm para inglês e 500 caracteres/min para coreano)
Outline baseado em parsing da árvore de headings + navegação por clique
Health check assíncrono de links externos 404 no documento
Escopo de suporte atual
Integração com linter/formatter
Renderização de KaTeX e Mermaid
Exportação em HTML/PDF
Planos futuros
Otimização de desempenho para documentos grandes (incremental parsing)
Integração com assistente de IA (resumo, correção de frases)
Modo de compatibilidade com Obsidian Vault
Nota técnica
O Webview da VS Code Extension API é um sandbox isolado do editor
Sem debouncing e batching de mensagens na comunicação bidirecional, ocorre degradação de desempenho em documentos grandes
Dependendo do desenho da arquitetura, mesmo funções idênticas podem ter grande diferença de performance
Links
GitHub: https://github.com/RAKKUNN/Marksmith
Page: https://rakkunn.github.io/MarkSmith/
Agradeço muito por feedbacks e reviews!!
Obrigado.
Ainda não há comentários.