В настоящее время для таких инструментов заметок, как Evernote
и Quiver
, я могу напрямую копировать HTML-контент из моего любимого браузера, а затем вставлять их в приложение, сохраняя все ссылки форматирования +. Однако в orgmode кажется, что вся информация о форматировании потеряна.
Я видел, как кто-то предложил использовать eww
для просмотра веб-страниц и копирования содержимого черезeww-org
. Однако это действительно утомительно (я не думаю, что в настоящее время многие люди просматривают Интернет eww
вместо современных браузеров. Мне придется снова открыть эту ссылку eww
и выполнить копирование, не говоря eww
уже о том, что сделать содержимое красиво).
Можно ли разрешить Emacs
непосредственно анализировать скопированный HTML при вставке? Даже если для этого еще нет существующего инструмента, возможно ли его создать?
Это почти единственное, что мешает мне переключиться на orgmode
другие инструменты для заметок.
<b>text</b>
тогда после того как яCmd + C
на него, он может быть преобразован в*text*
вorg mode
некоторых средствах при вставке. Или, если нет, по крайней мере сохраните исходный HTML-код, чтобы позже я мог просмотреть их в оригинальном формате. Сложившаяся ситуация так или иначе будет отображаться только в виде простого текста.<p>I've seen somebody <a href="http://emacs.stackexchange.com/q/7171/115">suggest using <code>eww</code> to browse the web and copy the content via <code>eww-org</code></a>. However that is really tedious(I don't think there would be a lot of people browsing the web using <code>eww</code> instead of modern browsers nowadays. I'll have to open that link again in <code>eww</code> and do the copying, not to mention sometimes <code>eww</code> doesn't render the contents nicely). </p>
. Если я скопирую этот абзац, я хочу иметь возможность воспроизвести его форматирование вorgmode
.org mode
намного более удобным для пользователя. На самом деле мне больше нравится форматирование без промежуточного преобразования RTF, потому что оно сохраняет больше информации. Например#+BEGIN_QUOTE
и#+BEGIN_EXAMPLE
в вашем ответе не будет сохранено дополнительное преобразование.Ответы:
Так как это Emacs, да .
Мой подход заключается в использовании сторонних инструментов, которые могут принимать HTML и конвертировать в обычный текст или даже напрямую в формат Org. Я думаю, что это уродливый хак, и, возможно, есть лучшие способы сделать это, но похоже, что это работает для моих тестовых случаев.
К сожалению, HTML теперь невероятно сложен - больше нет простых рукописных тегов. Для этого сложного HTML-тегирования требуется указанная выше сложная команда оболочки. Это делает следующее:
osascript
получает текст HTML из буфера обмена. Это шестнадцатеричный код, такОбратите внимание, что
osascript
для MacOS. Чтобы изменить шаги 1-2 для Linux, замените аргумент shell-command-to-string наВ любом случае выходные данные
pandoc
команды возвращаются в emacs и вставляются в буфер.Свяжите новую команду Emacs с ключом, похожим на «paste», но это означает «paste-and-convert-from-html» для вас, и это должно сработать.
В качестве альтернативы, если вы не хотите думать о том, какую команду вставки использовать, вот версия для Linux, которая преобразует HTML, когда он будет доступен в буфере обмена, и в противном случае вернется к простому тексту:
источник
pandoc
автоматически используется довольно много неразрывного пробела вместо обычногоorgmode
. Вы должны добавить его (), чтобыorg-emphasis-regexp-components
эти тексты были правильно отформатированы вorgmode
.iconv utf-8
xclip
также на OS X (возможно, только с установленными w / X11 и / или Developer Tools?), поэтому улучшенный ответ может работать и на OS X.