Lưu HTML từ clipboard dưới dạng văn bản đánh dấu


9

Tôi muốn có thể làm nổi bật một phần của trang web và sao chép nó vào bảng tạm sau đó lưu nó vào đĩa cục bộ của tôi dưới dạng đánh dấu. Tôi cần một cách hiệu quả để làm điều đó.

Phương pháp rườm rà hiện tại của tôi là:

  1. đánh dấu phần và sao chép vào clipboard
  2. mở văn phòng Libre
  3. dán vào Nhà văn
  4. lưu tài liệu nhà văn dưới dạng HTML
  5. mở thiết bị đầu cuối
  6. cd vào thư mục nơi tôi đã lưu HTML
  7. pandoc -s -r html /home/me/a/b/mydoc.html -o /home/me/a/b/mydoc.md

Rõ ràng, tôi cần một phương pháp tốt hơn! Bất kỳ đề xuất?


Tôi tin rằng việc nhận nguồn HTML hoặc văn bản có định dạng từ yêu cầu của bảng tạm X trên Stackverflow có thể cung cấp hướng dẫn để có được những gì bạn đang tìm kiếm.
tink

Bạn có thể tham khảo một trang mà bạn có thể muốn sao chép theo cách này không?
slm

Nó có thể là bất kỳ trang web nào tôi đang duyệt. Ví dụ: money.cnn.com/2013/06/05/t Technology / mobile / từ
MountainX

Bạn đang chọn trang web thông qua trang nguồn, phải không? Hoặc những mảnh của nó nào.
slm

Như StephaneChazelas đã đề cập trong các bình luận bên dưới, tôi chỉ chọn văn bản từ Firefox (hoặc trình duyệt khác) một cách bình thường. Tôi KHÔNG đi đến xem nguồn.
MountainX

Câu trả lời:


11

Với phiên bản gần đây của xclip( -ttùy chọn đã được thêm vào năm 2010 nhưng chưa được phát hành AFAICT, vì vậy bạn cần lấy nó từ lật đổ hoặc sử dụng tùy chọn được đóng gói trong Debian).

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

Và nếu bạn muốn đưa nó trở lại vào bảng tạm:

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

Mà bạn có thể làm trong một vòng lặp với:

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

Thứ hai xclip, -quietsẽ chặn cho đến khi một cái gì đó khác yêu cầu lựa chọn CLIPBOARD, đó là cho đến khi bạn chọn một cái gì đó khác ở đâu đó.

Bằng cách đó, bạn có thể sao chép qua lại giữa trình duyệt của mình và bất cứ điều gì bạn đang dán phần đánh dấu vào.

@tink cũng có một liên kết hữu ích cho một câu hỏi tương tự trên StackOverflow nơi bạn có thể tìm thấy cách triển khai nó trong python.


Giả định là bạn đang chọn nguồn thực tế của một trang web, không chỉ duyệt đến nó, đúng không?
slm

@slm, không. Trong các trình duyệt như firefox hoặc chrome, khi bạn chọn và / hoặc sao chép một số văn bản trong trang web (được kết xuất), trình duyệt sẽ đặt lựa chọn thành một chuỗi (cho các ứng dụng văn bản sử dụng) và dưới dạng html (cho các ứng dụng hiểu nó như thế nào libreoffice để sử dụng). Những cái đó được gọi là mục tiêu. xclip -selection clipboard -t TARGETSsẽ liệt kê các mục tiêu / định dạng mà Firefox đặt sau khi bạn sao chép một số văn bản từ đó.
Stéphane Chazelas

Đây có phải là một tính năng mới trong xclip? Tôi nhận được một -t: Không có tập tin hoặc thư mục như vậy. Tôi đang sử dụng ver: 0.12.
slm

1
@StephaneChazelas Giải pháp tuyệt vời! Tôi đã nhận được xclip từ đây: pkgs.org/debian-sid/debian-main-amd64/ợi và nó được cài đặt trong Kubfox 12.04 mà không gặp vấn đề gì. Đây chính xác là loại giải pháp tôi hy vọng. Tuyệt quá!
MountainX

1
@slm: Phiên bản làm việc của xclip của tôi (được cài đặt từ liên kết ở trên) cũng hiển thị phiên bản 0.12, nhưng deb được đặt tên là xclip_0.12 + svn84-2_amd64.deb. Cái này không bao gồm tùy chọn -t và tùy chọn đó được mô tả trong trang man của nó. Nhưng trang man không hiển thị tùy chọn văn bản / html và có lẽ tôi sẽ không tự mình tìm ra bất kỳ thứ gì trong số này.
MountainX
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.