メールの本文にコードブロックを挿入する


15

私は開発者です。メールを書くときに、コードのブロックを通常のテキストと区別できるようにしたいと思っています。

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

これを実行する方法があるなどのショートカット、またはマクロ、と私はマウスのためのたびに達し、20のフォント属性のように変更する必要がないようにしますか?

回答:


15

StackExchangeのフォーマットの背後にある魔法は、Markdownと呼ばれるすばらしいperlスクリプトです。それをダウンロードして、生成された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でサービスを作成できます。

作成したサービスは、あらゆるアプリケーションでリッチテキストを受け取ります。[ 選択したテキストを出力で置換する]チェックボックスをオフにします。

サービスには2つのアクションが含まれます。

最初のアクションはRun Shell Scriptです。シェルスクリプトは次のとおりです。

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

セクションアクションはRun AppleScriptです。AppleScriptは次のとおりです。

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

サービスを保存し、必要に応じて、[ システム環境設定] »[ キーボード] »[ キーボードショートカット] »[ サービス]を使用してキーボードショートカットを割り当てます。

次に、このサイトで使用する書式設定コードを使用してテキストを入力し、このサービスを実行して書式設定されたテキストを生成できます。これは、メールメッセージがリッチテキストとして設定されている場合にのみ機能します-プレーンテキストメールメッセージがある場合、このサービスを実行すると、サービスによってフォーマットされたリッチテキストが貼り付けました。


1
SafariでHTMLを「レンダリング」するよりもクリーンです。私はそれが好きです。
jaberg

悲しいことに、これはまだ私のために動作しません。今度は「出力の書き込みに失敗しました」というメッセージが表示されますが、これも2番目の部分(貼り付け)が原因のようです。Automator 2.1.1で10.6.8を実行しています。バージョン管理の問題だと思います。
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
シャビーローブ

ほら、これはかっこいい!!! 完全に動作します。
マイクN

2

HTMLメールを快適に送信できると仮定すると、Markdownを使用して電子メールメッセージをフォーマットし、オートデスクサービスを作成して、マークダウンをフォーマットされたテキストに変換、レンダリング、置換できます。

ᔥライアン・グレイ:Mac OS X Mailのマークダウン作成

[W]私がしなければならなかったのは、Markdown変換から生成されたHTMLを一時ファイルに保存し、それをSafariで開き、Safariですべてを選択してクリップボードにコピー(HTMLオブジェクトのコピー)してから、メールで貼り付けることでした–選択したマークダウンテキストを置き換えます。したがって、サービスワークフローは選択されたテキストを取得しますが、それ自体は選択を直接置き換えません。

このサービスを作成する手順は、記事に記載されています。Automatorスクリプトでmarkdown.plファイルへの明示的なパスを指定することに加えて、markdown.plを実行可能ファイルにするようにしてください。

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

注: Posterousの終Withにより、Ryan Grayの記事への元のリンクが壊れました。The Internet Archive Wayback Machineでアーカイブされたバージョンを指すように回答を編集しました。broken 壊れたリンクを注意してくれたドミニク


ライアングレイの記事は、Posterousがなくなったため、現在指定されているアドレスにはありません。ただし、Brett Terpstraには、Markdown用のすばらしいOSXサービスセットがあります
ドミニク

はい、私はBrettのMarkdown Servicesを常に使用しています。
jaberg


1

私はこれが少し古いことを知っています-それで、ここにある種の更新です。その回答のシェルスクリプトを正しく動作させるのに苦労しました。

brew経由でMarkdownをインストールしました。

シェルスクリプトで「パス入力:」を「引数として」に設定します。シェルスクリプトのこのバリエーションで成功しました。

/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-8LC_CTYPEがすでにUTF-8ロケールに設定されている場合は必要ありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.