2008-10-13 5 views
18

Ich möchte Rich Text Editing an Stelle in Formularen verwenden, damit Administratoren Anweisungen ändern können. Was sind die besten Möglichkeiten, dies zu tun?Was sind die besten Optionen für Rich Text Editing in Rails?

[Um klarer zu sein - die Admins sind nicht technisch, aber vielleicht wollen einige Formatierung ohne Markup oder mit so wenig Markup wie möglich zu steuern. Was ich möchte, ist für sie in der Lage zu sein, inline alle AJAXy mit einer RTE mit einigen Formatierungskontrollen zu bearbeiten und dann zu senden und in der Lage zu sehen, wie die Anweisungen für den Endbenutzer aussehen werden, ohne Seiten zu ändern.

Mit Blick auf Plugins speziell, was ich gerne wissen würde, welche Rich Test Editing-Plugins für die Verwendung in Rails am besten sind. Am einfachsten zu implementieren, klarste API, am einfachsten inline zu verwenden, etc ...]

Antwort

11

Für Tumblon begannen wir mit TinyMCE aber wir Yahoos Rich Text Editor wechseln, weil es einige seltsame Probleme mit der Art und Weise waren TinyMCE gearbeitet und weil die Rich-Text-Editor Dokumentation und Standard-Look-and-Feel überlegen ist.

Beide sind ziemlich einfach mit Rails zu integrieren (sie sind nur JavaScript, immerhin). Es gibt Plugins, aber Sie brauchen nicht wirklich eins.

+0

Andere nette Optionen könnten sein [Trix] (https://github.com/basecamp/trix) (gem [hier] (https://github.com/maclover7/trix)) und [ckeditor] (https: // github.com/galetahub/ckeditor), die "carrierwave" und "cancancan" unterstützt – Pietro

3

Ich bin mir nicht sicher, ob ich die Frage vollständig verstehe, aber wenn Sie nur fragen, welchen Editor zu verwenden, gibt es viele Optionen und keine von ihnen ist eine Frage von Rails - Sie können alle von ihnen verwenden, indem Sie nur ein kleines Stück von Javascript in Ihr Markup hinzufügen. Eine schöne und aktuelle Übersicht finden Sie hier: http://bulletproofbox.com/web-based-rich-text-editors-compared/.

Bearbeiten: Geänderter Link zu Google Cachce, da der ursprüngliche Link nicht funktioniert.

+0

Sorry der Link ist kaputt. Aktualisieren Sie es, wenn Sie können. – JasonOng

+0

Oh. Sieht so aus, als wäre die Seite nicht erreichbar. Ich habe den Link zur Google Cachce-Version geändert, damit Sie zumindest etwas davon haben. –

2

Es gibt eine Reihe von Templating-Sprachen, die für Rails implementiert sind und eine relativ einfache Syntax für Markup bieten. Ich habe RedCloth schon früher verwendet, eine Edelstein-Implementierung von Textile (http://redcloth.org/), und es ist ziemlich gut. Dinge wie Liquid (http://www.liquidmarkup.org/) sind ein wenig leistungsfähiger, so dass Vorlagen Inline-Datenbankinformationen enthalten können. Je nach den Anforderungen Ihres Projekts wären beide möglicherweise gut geeignet.

Keine dieser Lösungen allein würde einen integrierten Rich-Text-Editor zur Verfügung stellen, ist aber ein guter Ausgangspunkt im Back-End für eine Drop-In-Lösung. Wenn Sie nur Admins Informationen eingeben lassen, würde ich mir vorstellen, dass sie sich vor einem kleinen Klartexteintrag nicht fürchten.

6

Ich habe durch Ähnliche Kämpfe in der Vergangenheit gegangen und hatte auf YUI abgewickelt. Leider, YUI Ergebnisse (zumindest für mich, und zugegebenermaßen, ich eilte durch und nie neu berechnet), in schrecklichen html.

Heute Nacht, als ich auf diesen Beitrag gestoßen bin, habe ich PunyMCE gefunden. Es gibt zwei tolle Dinge: 1) es ist unglaublich leicht (wie der Name schon sagt), und 2) es gibt ein Rails-Plugin, das bereits dafür erstellt wurde: puny_mce on github.

Die Dokumentation ist gut genug, mit Ausnahme von ein paar Dinge, die ich übersehen/hatte Kratzen mir meinen Kopf:

  1. Es ist ein Tippfehler unter „Verwendung“, <% Ausbeute: Kopf%> sollte sein <% = Ausbeute : Kopf%>
  2. Wenn Sie mehr als die Basisleiste verwenden möchten, müssen Sie entweder a) die Vorrüstbereich Profil oder b) die Elemente der Symbolleiste und erforderlichen Plugins enthalten für diese Artikel in BEIDE die include_puny_mce Anruf UND die puny_mce Anruf. Dies macht Sinn - die include_puny_mce ist die Seite anweist, auf dem javascripts es braucht, und der puny_mce Aufruf baut tatsächlich der Javascript-Ausgang benötigt, um den Rich Editor zu erzeugen.

Hier ist ein Beispiel, das ich zusammen zu demonstrieren setzen:

<% content_for :head do %> 
    <%= include_puny_mce :profiles => [:full] %> 
<% end %> 

<h1>New post</h1> 

<% form_for(@post) do |f| %> 
<%= f.error_messages %> 
<%= f.label :title, "Title" %><br /> 
<%= f.text_field :title %><br /> 
<%= f.label :content, "Post Content" %><br /> 
<%= f.text_area :content, :cols => 100 %> 
<%= puny_mce 'post_content', 'post_content', :profile => :full %> 
<p> 
    <%= f.submit 'Create' %> 
</p> 
<% end %> 

Ich hoffe, das hilft!

0

Ich weiß, dass diese Bedrohung ziemlich alt ist, aber ich bin auf die Suche nach ein paar guten Optionen vor ein paar Wochen gestoßen, also falls jemand anderes das gleiche Problem wie ich habe, gebe ich eine neuere Antwort. Also mein Lieblings-Editor ist Froala (wysiwyg-editor wenn Sie Schienen verwenden), die sauber aussieht, ist einfach zu handhaben und unterstützt eingebettete Videos, Bild-Upload, Datei-Upload und ist vollständig anpassbar an einen Punkt, wo Sie es sogar einfach für Back-End-Benutzer machen können Kenntnisse über reaktionsfähiges Entwickeln, um die Elemente korrekt auf der Seite zu platzieren, um sie vollständig ansprechend zu gestalten. Wir haben diesen Editor für eine Reihe von Projekten verwendet und Kunden lieben es.

Die Dokumentation ist zufriedenstellend, aber es könnte besser sein, wenn Sie es mit Frameworks wie Rails und Django verwenden (wie wir es tun). Aber ich denke, es verbessert sich auf monatlicher Basis. Ein weiterer sehr vielversprechender Editor ist Quill (quill-rails wenn Sie Schienen verwenden). Wir haben es noch nicht für Projekte benutzt, aber experimentiert. Sobald wir mehr Erfahrung haben, werden wir hier ein paar Notizen machen und SSC.

Zu guter Letzt möchten Sie vielleicht einen Blick auf x-editable werfen, wenn Sie responsive Front-End-Bearbeitung tun oder anbieten möchten. Schau dir die Demo an - sie ist ziemlich ordentlich!

Verwandte Themen