Internet, Informática e Tecnologia

Contador de palavras no CKEditor 5 em Drupal 9 e 10+

Módulos para exibir o número de palavras no editor de texto Drupal, CKEditor 5.
Drupal & CKEditor 5 logos

Poucos meses após o lançamento do Drupal 11, o Drupal 10 é usado por 29% das páginas que usam o Drupal. Desde a versão 9 do Drupal e anteriores, o CKEditor 4 pode ser usado por padrão, entretanto, desde a versão 10 ele foi completamente removido. No Drupal 9 você poderia usar o CKEditor 4 ou o CKEditor 5, tínhamos a opção de escolher o mais adequado a nosso critério.

O principal problema que essa mudança trouxe foi a incompatibilidade com diversos módulos, que agregaram funções extras ao editor de texto, algumas muito úteis e outras nem tanto. Nesta página podemos encontrar a lista de módulos e sua situação ou progresso quanto à compatibilidade com o CKEditor 5. Ela detalha se existem módulos equivalentes para o CKEditor 5, ou se estão em fase de planejamento ou desenvolvimento.

Contador de palavras no CKEditor 5

Para o CKEditor 4 tínhamos o módulo CKEditor Wordcount, que embora seja compatível com Drupal 10, se instalarmos simplesmente não funcionará, claro, será ativado sem problemas ou notificações.

Para o Drupal 10 temos duas opções, CKEditor 5 Plugin Pack, módulo desenvolvido pela CKSource Holding LTD, os mesmos criadores do CKEditor, e CKEditor5 Word Count, módulo criado por terceiros fora do editor e do Drupal. Pessoalmente, recomendo o módulo CKEditor 5 Plugin Pack, que inclui o contador de palavras como um submódulo no pacote. O segundo módulo também usa a biblioteca oficial do CKEditor, só que de forma mais simplificada.

Drupal CKEditor 5 Word Count

Configure o contador de módulos CKEditor 5 Plugin Pack

Após instalar o módulo com Composer ou através da interface gráfica, vamos em “Estender” na barra de menu principal, e na lista de módulos utilizamos o mecanismo de busca e escrevemos “CKEditor 5 Word Count” ou também podemos tentar com “ckeditor5_plugin_pack_word_count” que é o nome interno do módulo. Então continuamos habilitando-o, no Drupal esse processo de ativação é chamado de instalação.
 

CKEditor 5 toolbar

Para configurá-lo, vamos em Configuração› Auditoria de conteúdo› Formato e editores de texto. Na lista de editores que utilizamos, repitamos o seguinte procedimento em cada um dos editores, por exemplo, “HTML básico”, e nas operações selecionamos “Configurar”. Na página onde aparecem todas as opções do editor, procuramos a seção “CKEditor 5 plugin settings”, lá se formos até o final aparecerá a opção “Enable the Word Count plugin.”, selecionamos e escolhemos entre a opções que aparecem imediatamente:

  • Show words and characters count: para mostrar o número de palavras e caracteres.
  • Show words count only: para mostrar apenas o número de palavras.
  • Show characters count only: para exibir apenas o número de caracteres.

CKEditor 5 enable word count

Como funciona o submódulo CKEditor 5 Word Count

Seu funcionamento é muito básico e conta cada fragmento de texto, que está separado por um espaço, por exemplo, conta números e palavras completas. Também conta trechos de código no caso do conteúdo das tags <code> usando a mesma lógica.

Exemplo de como funciona o contador:

  • “1”: 1 palavra.
  • “texto”: 1 palavra.
  • “,”: 0 palavras.
  • “texto texto”: 2 palavras.
  • “<etiqueta>”: 1 palavra.
  • “<script>...</script>”: 0 palavras se for um elemento não visível, mas se for exibido como texto simples, será contado.
  • “<p><i style="font-weight: bold">foo</i>bar</p>”: 1 palavra.

Alguns exemplos foram extraídos do repositório GitHub.

No momento o contador só funciona na caixa principal do CKEditor, e não em outras como título ou resumo. Se quisermos que funcione em outros, também temos que habilitar os formatos de texto e ativar o contador manualmente para esses campos.

Outros módulos e alternativas

Módulos Drupal e várias alternativas com contagem integrada de palavras e caracteres.

Módulos para Drupal:

  • CKEditor5 Word Count: este módulo é a única alternativa ao módulo oficial, foi criado por uma pessoa externa ao Drupal e ao CKEditor. Possui apenas um contador de palavras e não um contador de caracteres, embora haja um patch disponível (Character counter option missing) para habilitar o contador de caracteres. O módulo não é coberto pela política de consultoria de segurança do Drupal, deve-se presumir que não é porque é um módulo com muito poucas instalações.
  • CKEditor Wordcount: este módulo é para Drupal 8, 9 e 10, mas utilizando CKEditor 4. Requer um procedimento especial de instalação, ao possuir dependências externas.

Ferramentas:

Recomendo fortemente o LanguageTool como alternativa. Sua principal função é a ortografia e a gramática, mas vem com um contador de palavras e caracteres, que mostra os dados de cada área de texto onde a ferramenta funciona. Por exemplo, está disponível como plugin para Chrome, Firefox, Edge e muito mais, e funciona muito bem. A única desvantagem de usá-lo como contador de palavras é que ele não mostra o número diretamente, mas sim você tem que clicar no ícone embutido na área de texto toda vez que quiser saber o número.

Programas:

  • Microsoft 365: Word
  • Google Docs
  • LibreOffice: Writer

Por que usar um contador de palavras com Drupal?

O Drupal não vem com contador de palavras por padrão, e em tópicos de SEO a quantidade de palavras é um dos pilares para a criação de conteúdo relevante. No Drupal 9 e anteriores foi fácil com o módulo mencionado acima, mas se falarmos do Drupal 10, esta versão foi lançada em dezembro de 2022, e o módulo foi publicado recentemente em março de 2024. Demorou apenas 1 ano e 3 meses, sem Note que o CKEditor 5 já estava pronto desde o Drupal 9, só que era obrigatório desde a versão 10.

Por que usar o contador no editor de texto se temos um contador no Word ou no Google Docs?

É mais prático, quanto mais ferramentas tivermos em mãos e num só lugar, melhor trabalharemos. Por exemplo, seria uma grande perda de tempo ter que copiar todo o texto entre diferentes ferramentas para contar palavras, verificar ortografia, criar revisões, etc. Se compararmos o escasso editor que veio no Drupal 7 com este poderoso editor de texto, simplesmente não há comparação. Antes era um ponto válido, tínhamos que verificar ortografia e gramática em processadores de texto, mas agora os navegadores aliviam um pouco a carga e já vêm com ferramentas que se somam às ferramentas dos gerenciadores de conteúdo.

Comentários

A contagem de palavras está disponível apenas no modo de edição padrão e não é exibida ao visualizar o código-fonte com o botão “Source”. A quantidade de palavras é em tempo real, é atualizada à medida que escrevemos. Ao instalar o módulo através do Pack teremos também outros recursos notáveis, como listas de tarefas, a versão gratuita do WProofreader que é um verificador gramatical e ortográfico, destaque de texto e modo de tela inteira. Se estamos preocupados com a velocidade do Drupal na instalação de módulos, acredite, é para isso que ele foi projetado, para ser flexível e modular a um nível surpreendente.

Se quisermos testar o contador antes de instalá-lo, podemos fazê-lo neste link da documentação do plugin, onde existe um editor embutido na página.

Conclusões

Desde que o Drupal 9 foi lançado em 2020 decidi experimentar o CKEditor 5 e infelizmente me custou muito ter que parar de usar esses recursos, não essenciais, mas úteis. Mas, como tudo, é preciso se preparar para o futuro, mesmo que isso seja contraproducente no início.

Conteúdo semelhante