Skip to content

Releases: edersonfr/weaver-editor

Weaver Editor 1.1.1

Choose a tag to compare

@edersonfr edersonfr released this 29 Oct 01:59

Instalação

<script src="https://cdn.jsdelivr.net/gh/edersonfr/weaver-editor@v1.1.1/dist/weaver-editor.min.js"
        integrity="sha384-2O2pulBNAw6/bO1u5dlhjHNDQo3FZiwZuX8LPd1ZQKf9eu8LkLo12tO29HbXyUuH"
        crossorigin="anonymous"></script>

Ou baixe o weaver-editor.min.js anexado abaixo.

Correções

  • Pré-visualização em branco ao reabrir: no Chrome, a segunda abertura do preview ficava em branco, embora o conteúdo estivesse no iframe. Agora cada abertura usa um iframe novo.

Quem usa a 1.1.0 só precisa trocar a URL e o integrity. Não há mudanças de API.

Weaver Editor 1.1.0

Choose a tag to compare

@edersonfr edersonfr released this 28 Oct 23:05

Instalação

<script src="https://cdn.jsdelivr.net/gh/edersonfr/weaver-editor@v1.1.0/dist/weaver-editor.min.js"
        integrity="sha384-c7oOrLnhc5mQo12f2DljdvdQaiIwxCPiayKwrUFwT1x+GMGIye3R7D91P5y1U92N"
        crossorigin="anonymous"></script>

Ou baixe o weaver-editor.min.js anexado abaixo.

Ajustes para o Weaver substituir o SunEditor em painéis administrativos. As novas opções são desligadas por padrão: o editor continua seguro e com a mesma aparência de antes, exceto pela área de edição sem a classe prose (veja "Mudanças").

Novidades

  • Modo confiável no sanitizador: allowedTags: '*', allowedStyles: '*', RegExp em allowedAttributes (ex.: /^data-[\w-]+$/), forbiddenTags, allowCssUrls, keepComments, iframeAttributes: false, allowedIframeSources: '*', sanitize: false e sanitizer: function (html) {}. Os <script> e <style> preservados não executam no editor e aparecem como um marcador.
  • HTML original preservado: enquanto nada for editado, getContent() e o envio do formulário devolvem o HTML carregado byte a byte. Novo método isPristine().
  • Botões próprios na toolbar: opção buttons (inclusive dropdown) e WysiwygEditor.registerButton(). Aviso no console quando a toolbar cita um botão que não existe.
  • Plugins extras: opção extraPlugins, somada aos plugins automáticos.
  • API de inserção: saveSelection(), restoreSelection(), insertHTML(), insertImage() e focus(). A inserção volta para o cursor de antes do modal e é desfeita num passo só.
  • Colar imagens: um print colado sobe pelo uploadImage. Com uploadPastedImages: true, as imagens base64 de HTML colado ou solto também sobem.
  • Barra da imagem extensível: opção imageToolbar (botões extras ou removidos), getSelectedImage() e replaceImage(). Opção imageDefaults para os atributos de toda imagem inserida.
  • Fontes sob demanda: cada família do Google Fonts é carregada só quando aparece no menu, é aplicada ou já está no conteúdo. O menu aguenta o catálogo inteiro (~1.500 fontes), com busca (fontSearch), onFontApply e loadFont().
  • Tema escuro: cores em variáveis CSS --weaver-*. O editor fica escuro com .dark na página ou com a opção theme ('light', 'dark', 'auto'), e o método setTheme() troca o tema depois.
  • WysiwygEditor.VERSION.

Mudanças

  • A área de edição não usa mais a classe prose do Tailwind. O editor restaura sozinho os marcadores de lista e os tamanhos de título que o preflight do Tailwind zera.
  • O CSS do editor tem prioridade sobre as utilitárias do Tailwind da página: uma paleta gray diferente não muda mais a aparência.
  • O normalizador não altera o conteúdo quando o usuário só foca e sai do editor, mantém elementos vazios que tenham atributos e preserva rel="nofollow" em links.