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.