Obtenha o "raw" da seleção do usuário (sem Markdown)

Entendo que quoteState.buffer obtém o texto Markdown que o usuário destaca ao citar, e é uma das coisas passadas para o outlet do plugin quote-share-buttons-before (acessado por this.args.data.quoteState.buffer). Como obtenho o texto bruto e não analisado que o usuário está destacando, antes que ele seja convertido para Markdown? É possível “desfazer o Markdown” da postagem? Isso é possível?

Arquivo:

Obrigado.

Teste:

  • este item de lista não é uma estrela, é um mais

Uma solução alternativa que consigo pensar é converter a postagem bruta para Markdown (como, não tenho certeza), observar o índice inicial e final da seleção no texto convertido, e então usá-lo para extrair a seção do texto original. O problema seria que eu precisaria assumir que nenhum caractere muda, ou seja, Markdown substitui caracteres 1:1.

Você já deu uma olhada em como o editar e copiar citação rápidos lidam com isso? O que acontece com o texto que você seleciona lá?

2 curtidas

Neste caso, copiar a citação converte o item de lista para um * na citação, quando na verdade eu usei +. Estou procurando uma maneira de obter o mais em vez do asterisco.

2 curtidas

Sim, isso é MUITO difícil, provavelmente nível de dificuldade 20.

Quando você obtém coisas da seleção, estamos obtendo HTML puro

<ul>
<li>algum texto</li>
</ul>

Nada aqui sobre * vs +

Para adicionar complicação, se você apenas selecionar alguns itens de uma longa lista, você obterá:

<li>algum texto</li>
<li>outro texto</li>

Isso nem mesmo lhe dá ul vs ol

O que fazemos para citar é ir

HTML → Markdown

Este é um processo com perdas e também um processo propenso a erros. Temos uma série de soluções alternativas para limpar o HTML antes da conversão.

Mudando para:

HTML → Markdown Original, exigiria um mapeamento reverso de linha/coluna HTML → markdown. Isso não é suportado no momento em markdown.it.

1 curtida

Puxa, essa seria uma tarefa bastante difícil então. Bom, mas obrigado pela sua explicação!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.