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á?

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.

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.

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