Fügen Sie Codeblöcke in den E-Mail-Text ein

15

Ich bin Entwickler und möchte beim Schreiben von E-Mails Codeblöcke von normalem Text unterscheiden können.

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

Gibt es eine Möglichkeit, dies mit einer Verknüpfung, einem Makro usw. zu tun , sodass ich nicht jedes Mal nach der Maus greifen und etwa 20 Schriftattribute ändern muss?

garageàtrois
quelle

Antworten:

15

Die Magie hinter der Formatierung in StackExchange ist ein großartiges Perl-Skript namens Markdown . Laden Sie es herunter und doppelklicken Sie auf die resultierende Datei Markdown_1.0.1.zip.

Geben Sie dann im Terminal Folgendes ein

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

Danach können Sie in Automator einen Service erstellen .

Der von Ihnen erstellte Dienst erhält in jeder Anwendung Rich-Text . Deaktivieren Sie das Kontrollkästchen " Ausgabe ersetzt ausgewählten Text".

Ihr Dienst enthält zwei Aktionen:

Die erste Aktion ist " Shell-Skript ausführen" . Hier ist das Shell-Skript:

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

Ihre Abschnittsaktion ist " AppleScript ausführen" . Hier ist das AppleScript:

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

Speichern Sie den Dienst und weisen Sie ihm unter Systemeinstellungen » Tastatur » Tastaturkürzel » Dienste ein Tastaturkürzel zu

Anschließend können Sie Text mit den auf dieser Site verwendeten Formatierungscodes eingeben und diesen Dienst ausführen, um formatierten Text zu generieren. Dies funktioniert nur, wenn Ihre E-Mail-Nachrichten als Rich-Text- Nachrichten eingerichtet sind. Wenn Sie reine Textnachrichten haben, werden durch Ausführen dieses Dienstes einfach die Inhalte Ihrer Nachricht gelöscht, da Ihr vom Dienst formatierter Rich-Text nicht in der Lage sein wird geklebt.

Daniel
quelle
1
Sauberer als das "Rendern" von HTML in Safari. Ich mag das.
Jaberg
Leider funktioniert das bei mir immer noch nicht. Ich bekomme jetzt "Fehler beim Schreiben der Ausgabe" und wieder sieht es so aus, als ob es durch den zweiten Teil (Einfügen) verursacht wurde. Ich verwende 10.6.8 mit Automator 2.1.1. Ich vermute, es ist ein Versionsproblem.
Garageàtrois
1
Wenn jemand Probleme beim Debuggen hat, haben wir einen Raum: chat.stackexchange.com/rooms/info/2830/…
jaberg
Das ist brilliant. Für diejenigen unter Ihnen, die reStructuredText bevorzugen:/path/to/rst2html.py -q --stylesheet=/create/a/style.css --embed-stylesheet | /path/to/textutil -stdin -stdout -format html -convert rtf | pbcopy
Shabbyrobe
Heiliger Mist das ist geil !!! Funktioniert perfekt.
Mike N
2

Vorausgesetzt, Sie sind mit dem Senden von HTML-E-Mails vertraut , können Sie Markdown zum Formatieren Ihrer E-Mail-Nachricht und zum Erstellen eines Automator-Dienstes zum Konvertieren, Rendern und Ersetzen Ihrer Markierung durch formatierten Text verwenden.

ᔥ Ryan Gray: Markdown Compose für Mac OS X Mail

[W] Ich musste den HTML-Code, der durch die Markdown-Konvertierung generiert wurde, in einer temporären Datei speichern, dann in Safari öffnen, Safari alle auswählen und in die Zwischenablage kopieren (ein HTML-Objekt kopieren) und dann per E-Mail einfügen - Ersetzen des ausgewählten Markdown-Texts. Der Service-Workflow übernimmt also den ausgewählten Text, ersetzt die Auswahl jedoch nicht direkt.

Anweisungen zum Erstellen dieses Dienstes finden Sie im Artikel. Stellen Sie nicht nur einen expliziten Pfad zur Datei markdown.pl in Ihrem Automator-Skript bereit, sondern stellen Sie auch sicher, dass Sie markdown.pl zu einer ausführbaren Datei machen.

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

Anmerkung: Mit dem Tod von Posterous brach der ursprüngliche Link zu Ryan Grays Artikel. Ich habe die Antwort so bearbeitet, dass sie auf eine Version verweist, die bei The Internet Archive Wayback Machine archiviert wurde . ↬ Dominique dafür, dass sie mich auf den defekten Link aufmerksam gemacht hat.

jaberg
quelle
Ryan Grays Artikel ist nicht mehr an der angegebenen Adresse, nachdem Posterous verschwunden ist. Brett Terpstra bietet jedoch eine Reihe großartiger OSX-Dienste für Markdown !
Dominique
Ja, ich nutze Brett's Markdown Services ständig.
Jaberg
1

Ich weiß, dass dieser ein bisschen alt ist - also gibt es hier eine Art Update. Es fiel mir schwer, das Shell-Skript dieser Antwort richtig zu machen.

Ich hatte Markdown über Brew installiert .

Im Shell-Skript "Eingabe übergeben:" auf "als Argumente" setzen. Ich hatte Erfolg mit dieser Variante des Shell-Skripts:

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

Das AppleScript ist gleich geblieben.

Bildbeschreibung hier eingeben

Tom
quelle
0

Ich benutze ein Shell-Skript wie folgt:

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 verhält sich wie Markdown.pl und behält Tabs bei.

-inputencoding UTF-8ist erforderlich, um Nicht-ASCII-Zeichen beizubehalten. LC_CTYPE=UTF-8wird nicht benötigt, wenn LC_CTYPE bereits auf ein UTF-8-Gebietsschema festgelegt ist.

Lri
quelle