it-swarm.com.de

Best Practices zum Einbetten von Code in Wordpress?

Ich habe zwei Blogseiten. Eine mit Wordpress.com gehostet, eine mit Wordpress.org selbst gehostet

Wir sind ein technisches Unternehmen, und einige unserer Blog-Posts werden sich mit HTML, Javascript, .NET usw. befassen. Außerdem möchten wir Code-Snippets in unsere Posts einbetten.

Wir haben ungefähr 20 Autoren in jedem Blog und aus Erfahrung muss ich das Einfügen von Code-Snippets so einfach und benutzerfreundlich wie möglich gestalten.


Wordpress.org
Ich habe für Wordpress.org diesen Artikel gesehen.
Soweit ich weiß, wird beim Schreiben mit dem HTML-Editor die Formatierung beibehalten, wenn Sie die Tags <code> some code</code> anwenden.
- Es ist in Ordnung. Aber der größte Nachteil ist die Benutzerfreundlichkeit. Vergleichen Sie es beispielsweise mit dem Stapelaustausch-Texteditor. Sie müssen nicht in die HTML-Ansicht wechseln und Tags schreiben. Verwenden Sie dazu die Schaltfläche "Codebeispiel".

Ich weiß, es gibt eine Menge Plugins da draußen.
Gibt es einen allgemeinen Konsens darüber, wie Code am besten in wordpress.org-Posts eingebettet werden kann?

Meine Anforderungen sind, dass es so einfach ist wie mit Stack Exchange.


Wordpress.com
Anscheinend kann ich die Code-Tags auch mit wp.com verwenden.
Ich schätze, der Vorteil, meinen Benutzern zu sagen, dass sie diesen Ansatz verwenden sollen, würde bedeuten, dass keine Verwechslung mit Autoren besteht, die zu beiden Blogs beitragen.

Ich habe momentan das 'vorformatierte' Textformat aus der erweiterten Symbolleiste (Küchenspüle) verwendet.
Ich gehe davon aus, dass es keine anderen Optionen gibt?

1
Simon

Ich bevorzuge die Verwendung von SyntaxHighlighter Evolved , das von Viper007Bond und automattic mitentwickelt wurde. Es verwendet die JavaScript-basierte Lösung von Alex Gorbatchev, die eine große Anzahl von Sprachen unterstützt und in hohem Maße anpassbar ist.

4
Joseph Leedy

Eine andere Möglichkeit besteht darin, Ihre Code-Schnipsel in Gist einzufügen und das GitHub Gist -Plugin zu verwenden. Funktioniert gut und hat den Vorteil, dass Ihr Code revisionskontrolliert ist und leicht gegabelt werden kann.

1
webaware

Ich brauchte so etwas und versuchte es mit 20 verwandten Plugins, und alle versagten auf die eine oder andere Weise. Die meisten Probleme rühren von WP Filtern her, die mit dem Code in Konflikt geraten, z. B. das Konvertieren von :) in Smilies oder das Hinzufügen von rel="nofollow" zu Links usw.

Also habe ich meine eigenen Funktionen erstellt. Grundsätzlich hänge ich eine Funktion an the_content/comment_text mit der höchsten Priorität an, bei der ich den gesamten Inhalt zwischen PRE/CODE-Tags durch eine eindeutige ID wie <-- CODE 1 HERE --> ersetze, während ich diesen Inhalt in einer Variablen speichere (und ihn in HTML-Entitäten konvertiere).

Dann hänge ich eine andere Funktion an die gleichen Tags, aber mit der niedrigsten Priorität (nachdem alle diese WP Filter auf den Inhalt angewendet wurden), und ersetze die ID oben durch den in der Variablen gespeicherten Code.

Der Code bleibt also von allen Filtern unverändert. Dann starte ich ein einfaches Javascript-Syntax-Textmarker-Skript - ich habe highlight.js gewählt

Ich kann meinen Code posten, wenn Sie es wünschen ...

Stackexchange verwendet Markdown , der Code wird zwischen Ticks und nicht in HTML-Tags eingeschlossen. Auf jeden Fall bleibt die Idee die gleiche

1
onetrickpony

Selfhosted: Sie können Shorttags/Shortcodes erstellen (was die meisten Plugins wahrscheinlich bereits tun werden) oder benutzerdefinierte Post-Typen für Code-Ressourcen erstellen, indem Sie ein Meta-Feld hinzufügen Ihre Post-Bearbeitungsbildschirme und die Verknüpfung von dort zu Ihren benutzerdefinierten Post-Typen mit den Snippets. Beide Lösungen werden wahrscheinlich viel Arbeit und fast das gleiche sein wie die Verwendung eines gut geschriebenen Plugins.

Meine Empfehlung: Bleib bei einem Plugin.

Ad <code>: Wenn Sie über Code schreiben, sollten Sie bereits mit grundlegendem HTML vertraut sein (also denke ich, ich habe Ihr Q falsch verstanden), aber trotzdem: <code> ist für Inline-Code und <pre> ist für mehrzeiligen Code. Letzteres bewahrt Zeilenumbrüche, aber das Erscheinungsbild hängt von Ihren CSS-Stilen ab.

0
kaiser

Eine Sache, die ich aus persönlicher Erfahrung hinzufügen werde:

Seien Sie vorsichtig, wenn Sie Code einbetten, den Sie für andere bereitstellen, wenn Sie keinen Syntax-Textmarker verwenden. Ich habe sowohl die Vorschläge zur Verwendung von <pre></pre>- als auch von <code></code>-Tags ausprobiert. Sie fügen Ihren PHP-Tags zusätzlichen Speicherplatz hinzu und können sich auch negativ auf einfache und doppelte Anführungszeichen auswirken. Es wäre nicht gut, wenn Sie plötzlich einen Blog voller verärgerter Benutzer hätten.

Ich empfehle die Verwendung eines Syntax-Textmarkers, wenn Sie Snippets für andere Benutzer anbieten möchten. Ich werde meinen Vorschlag machen, aber ich würde gerne hören, was andere auch verwenden, also hoffentlich wird sich jemand "einschalten": Einer, von dem ich weiß, dass er funktioniert, ist ein Link von Snipplr zur snipplr-Site (dazu musst du dich anmelden, dann kannst du das WordPress-Plugin hier verwenden: Link zu WP Plugin-Verzeichnis . Ich hoffe das hilft.

0
Jeremy Jared