Salvar HTML da área de transferência como texto de remarcação


9

Quero destacar uma seção de uma página da Web e copiá-la para a área de transferência e salvá-la no meu disco local como redução. Eu preciso de uma maneira eficiente de fazer isso.

Meu método atual e complicado é:

  1. destaque a seção e copie para a área de transferência
  2. open Libre Office Writer
  3. colar no Writer
  4. salvar documento do Writer como HTML
  5. terminal aberto
  6. cd para o diretório em que salvei o HTML
  7. pandoc -s -r html /home/me/a/b/mydoc.html -o /home/me/a/b/mydoc.md

Obviamente, preciso de um método melhor! Alguma sugestão?


Acredito que a obtenção de código HTML ou rich text da solicitação da área de transferência X no Stackverflow pode fornecer orientações para a obtenção do que você está procurando.
— tink

Você pode se referir a uma página que deseja copiar dessa maneira?
— Slm

Pode ser qualquer página da Web que eu esteja navegando. Exemplo: money.cnn.com/2013/06/05/technology/mobile/…
— MountainX

Você está selecionando a página na página de origem, certo? Ou pedaços de qualquer maneira.
— slm

Como StephaneChazelas mencionou nos comentários abaixo, estou apenas selecionando texto do Firefox (ou outro navegador) normalmente. Eu não estou indo para a visualização de origem.
— MountainX

Respostas:


11

Com uma versão recente de xclip(a -topção foi adicionada em 2010, mas ainda não foi lançada no AFAICT, você precisaria obtê-la do subversion ou usar a que acompanha o Debian).

xclip -o -selection clipboard -t text/html | pandoc -r html -w markdown

E se você quiser voltar para a área de transferência:

xclip -o -selection clipboard -t text/html |
  pandoc -r html -w markdown |
  xclip -i -selection clipboard

Com o qual você pode fazer um loop com:

while :; do
  xclip -o -selection clipboard -t text/html |
    pandoc -r html -w markdown |
    xclip -i -selection clipboard -quiet
done

O segundo xclip, com -quietserá bloqueado até que outra coisa reivindique a seleção CLIPBOARD, ou seja, até você selecionar outra coisa em algum lugar.

Dessa forma, você pode copiar entre o navegador e o que quer que esteja colando.

O @tink também possui um link útil para uma pergunta semelhante no StackOverflow, onde você pode descobrir como implementá-lo em python.


O pressuposto é que você está selecionando a fonte real de uma página da Web, e não apenas navegando até ela, correto?
— slm

@slm, não. Em navegadores como o Firefox ou Chrome, quando você seleciona e / ou copia algum texto em uma página da Web (renderizada), o navegador define a seleção como uma string (para aplicativos de texto usar) e como html (para aplicativos que o entendem como libreoffice para usar). Esses são chamados de alvos. xclip -selection clipboard -t TARGETSlistará os destinos / formatos que o Firefox define depois que você copiar algum texto a partir daí.
— Stéphane Chazelas

Esse é um novo recurso xclip? Eu recebo um -t: não existe esse arquivo ou diretório. Estou usando a versão 0.12.
— Slm

1
@StephaneChazelas Awesome solution! Eu obtive o xclip a partir daqui: pkgs.org/debian-sid/debian-main-amd64/… e ele foi instalado no Kubuntu 12.04 sem nenhum problema. Este é exatamente o tipo de solução que eu esperava. Ótimo!
— MountainX

1
@ slm: Minha versão de trabalho do xclip (instalada no link acima) também mostra a versão 0.12, mas o deb é chamado de xclip_0.12 + svn84-2_amd64.deb. Este inclui a opção -t e essa opção é descrita em sua página de manual. Mas a página de manual não mostra a opção text / html, e eu provavelmente não teria descoberto nada disso sozinho.
— MountainX
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.