回答:
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
サービスを保存し、必要に応じて、[ システム環境設定] »[ キーボード] »[ キーボードショートカット] »[ サービス]を使用してキーボードショートカットを割り当てます。
次に、このサイトで使用する書式設定コードを使用してテキストを入力し、このサービスを実行して書式設定されたテキストを生成できます。これは、メールメッセージがリッチテキストとして設定されている場合にのみ機能します-プレーンテキストメールメッセージがある場合、このサービスを実行すると、サービスによってフォーマットされたリッチテキストが貼り付けました。
/path/to/rst2html.py -q --stylesheet=/create/a/style.css --embed-stylesheet | /path/to/textutil -stdin -stdout -format html -convert rtf | pbcopy
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 壊れたリンクを注意してくれたドミニク。
このようなシェルスクリプトを使用します。
echo "<style>
$(cat /Applications/Marked.app/Contents/Resources/swiss.css |
sed 's/&/&/g;s/</\</g;s/>/\>/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ロケールに設定されている場合は必要ありません。