Вставьте блоки кода в тело письма


15

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

Basically I wanna be able to do this. In the Mail app, (or Sparrow!).

Есть ли способ сделать это с помощью ярлыка или макроса и т. Д., Чтобы мне не приходилось каждый раз тянуться за мышью и менять как 20 атрибутов шрифта?

Ответы:


15

Волшебство форматирования в StackExchange - это отличный Perl-скрипт под названием Markdown . Загрузите его и дважды щелкните полученный файл Markdown_1.0.1.zip.

Затем в терминале введите

chmod a+x ~/Downloads/Markdown_1.0.1/Markdown.pl
sudo cp ~/Downloads/Markdown_1.0.1/Markdown.pl /usr/local/bin/

Сделав это, вы можете создать Сервис в Automator .

Созданный вами сервис получает форматированный текст в любом приложении . Снимите флажок с надписи « Вывод заменяет выделенный текст».

Ваш сервис будет содержать два действия:

Первым действием является запуск сценария оболочки . Вот сценарий оболочки:

/usr/local/bin/Markdown.pl | /usr/bin/textutil -stdin -stdout -format html -convert rtf | /usr/bin/pbcopy

Ваше действие раздела - Запустить AppleScript . Вот AppleScript:

tell application "System Events"
    keystroke "v" using {command down}
end tell

Сохраните службу и, если хотите, назначьте ей сочетание клавиш, используя Системные настройки » Клавиатура » Сочетания клавиш » Службы

Затем вы можете ввести текст, используя коды форматирования, которые вы используете на этом сайте, и запустить этот сервис для генерации форматированного текста. Это будет работать только в том случае, если ваши почтовые сообщения настроены как Rich Text - если у вас есть обычные текстовые почтовые сообщения, запуск этой службы просто сотрет содержимое вашего сообщения, так как ваш форматированный текст, отформатированный службой, не сможет вставили.


1
Чище, чем «рендеринг» HTML в Safari. Мне это нравится.
Яберг

К сожалению, это все еще не работает для меня. Теперь я получаю «Не удалось записать вывод», и снова похоже, что это вызвано второй частью (вставкой). Я бегу 10.6.8 с Automator 2.1.1. Я предполагаю, что это проблема с версиями.
garageàtrois

1
Если у кого-то есть проблемы с отладкой, у нас есть комната: chat.stackexchange.com/rooms/info/2830/…
jaberg

Это великолепно. Для тех из вас, кто предпочитает reStructuredText:/path/to/rst2html.py -q --stylesheet=/create/a/style.css --embed-stylesheet | /path/to/textutil -stdin -stdout -format html -convert rtf | pbcopy
Shabbyrobe

Святое дерьмо это круто !!! Работает отлично.
Майк Н

2

Предполагая, что вам удобно отправлять почту в формате HTML, вы можете использовать Markdown для форматирования вашего электронного письма и создания службы автоматического преобразования для преобразования, рендеринга и замены вашей уценки форматированным текстом.

ᔥ Райан Грей: Markdown Compose для Mac OS X Mail

[W] Мне нужно было сохранить HTML-код, сгенерированный из преобразования Markdown, во временный файл, затем открыть его в Safari, сделать так, чтобы Safari выделил все и скопировать в буфер обмена (копирование объекта HTML), а затем заставить Mail вставить его. - замена выбранного текста уценки. Таким образом, рабочий процесс службы принимает выделенный текст, но не заменяет выделение непосредственно.

Инструкции по созданию этого сервиса приведены в статье. Помимо указания явного пути к файлу markdown.pl в скрипте Automator, убедитесь, что вы делаете markdown.pl исполняемым файлом.

chmod a+x your/path/to/markdown.pl

Примечание: с кончиной Posterous прервалась оригинальная ссылка на статью Райана Грея. Я отредактировал ответ, чтобы указать на версию, заархивированную в Internet Archive Wayback Machine . Omin Доминик за то, что обратил мое внимание на неработающую ссылку.


Статья Райана Грея больше не по адресу, указанному сейчас, когда Posterous больше нет. Тем не менее, Бретт Терпстра имеет потрясающий набор сервисов OSX для Markdown !
Доминик

Да, я постоянно пользуюсь услугами Бретта по уценке.
Яберг


1

Я знаю, что это немного старый - так что вот обновление вроде. Мне было трудно заставить скрипт этого ответа работать корректно.

Я установил Markdown через варево .

На сценарии оболочки «Pass input:» установите «в качестве аргументов». У меня был успех с этим вариантом сценария оболочки:

/usr/local/bin/markdown <( echo "$1" ) | /usr/bin/textutil -stdin -stdout -convert rtf -format html | /usr/bin/pbcopy

AppleScript остался прежним.

введите описание изображения здесь


0

Я использую сценарий оболочки, как это:

echo "<style>
$(cat /Applications/Marked.app/Contents/Resources/swiss.css |
sed 's/&/&amp;/g;s/</\&lt;/g;s/>/\&gt;/g')
</style>
$(cat | pandoc --strict -p)" |
textutil -stdin -stdout -inputencoding UTF-8 -format html -convert rtf |
LC_CTYPE=UTF-8 pbcopy

pandoc --strict -p действует как Markdown.pl и сохраняет вкладки.

-inputencoding UTF-8требуется для сохранения не-ASCII символов. LC_CTYPE=UTF-8не требуется, если для LC_CTYPE уже задан языковой стандарт UTF-8.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.