Как редактировать исходный код HTML в буфере обмена?

Это поможет точно узнать, что вы хотите сделать, но вы можете это сделать. Изучение расширения параметра BASH, вероятно, довольно необходимо.

В зависимости от того, что вам нужно делать, вам может потребоваться отделить расширение и имя файла, а может и нет.

Я предположим, что вы уже cd вышли в папку с файлами, о которых идет речь.

case 1: предположим, что вы хотите изменить строку «bad» на «good» в каждом имени файла; то вы можете использовать простую подстановку, т. е. вы можете сделать что-то вроде:

for file in * ; do mv "$file" "${file//bad/good}" ; done

(Удостоверьтесь, что нет никаких изменений, которые изменяют плохое, чтобы хорошо перезаписывать что-то уже есть.) Это будет работать независимо от расширения.

case 1: Suppse вам нужно добавить «новое» перед расширением, что бы это ни было, тогда вы можете сделать:

for file in * ; do filename="${file%.*}" ; extension="${file##*.}" ; mv "$file" "${filename}new.${extension}" ; done

Расширение останется неизменным, каково бы оно ни было.

Я бы дал больше советов, но опять же, я действительно не знаете, что вы пытаетесь сделать, точно.

1
задан 13 April 2017 в 15:24

3 ответа

Я вижу, к чему вы пытаетесь добраться. Попробуйте вставить что-то, что принимает wysiwyg, отредактируйте его там, а затем скопируйте в Thunderbird?

Возможно, будет работать автор bluegriffon или libreoffice.

1
ответ дан 24 May 2018 в 11:16
  • 1
    Если вставка в него не позволяет этого, вам нужно сначала добраться до источника HTML ... вы можете искать папки в .thunderbird для черновика электронной почты, чтобы изменить его. – Wilf 1 March 2014 в 06:16
  • 2
    Хорошие идеи, спасибо! См. Мой последний ответ - я понял, как это сделать с PyGTK. – Adam Monsen 3 March 2014 в 13:13

Вот модификация вашего скрипта, которая позволяет редактировать html напрямую.

Он также обрабатывает проблемы с кодировкой символов: если вы отвечаете на электронную почту от кого-то, использующего Windows, скорее всего, кодировка застряла в UTF-16, что не подходит для редактирования. Возможно, вам потребуется установить модуль chardet в Python.

Заменить 'vi' вашим текстовым редактором по выбору, в subprocess.call(....

#!/usr/bin/env python
import gtk
import chardet
import os
import getopt
import subprocess

dtype = 'text/html'
htmlclip = gtk.Clipboard().wait_for_contents(dtype).data
encoding = chardet.detect(htmlclip)['encoding']

# Shove the clipboard to a temporary file
tmpfn = '/tmp/htmlclip_%i' % os.getpid()

with open (tmpfn, 'w') as editfile:
   editfile.write(htmlclip.decode(encoding))

# Manually edit the temporary file
subprocess.call(['vi', tmpfn])

with open (tmpfn, 'r') as editfile:
   htmlclip = editfile.read().encode(encoding)

# Put the modified data back to clipboard
gtk.Clipboard().set_with_data(
      [(dtype,0,0)],
      lambda cb, sd, info, data: sd.set(dtype, 8, htmlclip),
      lambda cb, d: None )
gtk.Clipboard().set_can_store([(dtype,0,0)])
gtk.Clipboard().store()

Это делает полный редактирование цикла, изменение буфера обмена “ на месте & rdquo ;.

Я использую его, чтобы компенсировать недовольство Thunderbird отсутствием функции html-редактора:

выбрать все с помощью ctrl + a в окне создания сообщения ctrl + c запустить вышеуказанный скрипт, который открывает редактор & ndash; внесите изменения в исходный код html и закройте ctrl + v в окне компоновки, чтобы перезаписать весь контент с помощью вашей редакции html.
1
ответ дан 24 May 2018 в 11:16

Я действительно не использую Thunderbird, но вы должны иметь возможность использовать расширение для редактирования источника в Thnderbird - например:

https://addons.mozilla.org/en-us / thunderbird / addon / edit-html-source / не обновлялся на протяжении веков https://addons.mozilla.org/en-us/thunderbird/addon/stationery/

0
ответ дан 24 May 2018 в 11:16
  • 1
    «Редактировать источник HTML». не совместим с моей версией Thunderbird. Я попробовал канцелярские принадлежности, но я не мог понять, как просматривать / редактировать HTML-источник. – Adam Monsen 1 March 2014 в 07:12

Другие вопросы по тегам:

Похожие вопросы: