Bon voilà dans l'attente d'un gros article, en voici un plus petit qui explique comment préparer markitup pour rails 3. Je pars du principe que vous êtes dans votre projet rails.
Téléchargez markitup. Copiez le répertoire "markitup" de l'archive dans stylesheets et également dans javascripts. (De cette manière il n'y aura plus qu'à remplacer le répertoire pour une mise à jour de markitup)
Dans la vue ou le layout :
<%= stylesheet_link_tag "markitup/skins/markitup/style.css",
"markitup/sets/default/style.css" %>
<%= javascript_include_tag "markitup/jquery.markitup.js",
"markitup/sets/default/set.js"; "initialize_markitup.js" %>
Et dans le fichier "initialize_markitup.js" :
$(function(){
$('.monmarkitup').markItUp(mySettings);
});
Pour ActiveAdmin - La procédure est la même pour les autres éditeurs WYSIWYG
Grosse parenthèse pour include markitup dans active_admin, il faut ajouter dans initializers/active_admin.rb :
config.register_javascript 'markitup/jquery.markitup.pack.js'
config.register_javascript 'markitup/sets/default/set.js'
config.register_javascript 'initialize_markitup.js'
config.register_stylesheet 'markitup/skins/markitup/style.css'
config.register_stylesheet 'markitup/sets/default/style.css'
# Attention le fichier ci-dessous est à créer :
config.register_stylesheet 'reset_markitup.css'
Le reset_markitup.css permet de pas tout péter dans l'interface :
.formtastic div:first-of-type{
display:inline-block;
}
Et dans votre fichier app/admin/model.rb section form do, il faut ajouter ceci au champ concerné.
input_html => { :class => "monmarkitup" }
Exemple :
form.input :title, :input_html => { :class => "monmarkitup" }
Coté serveur, il existe quelques gems pour convertir votre code en html :
BBCODE : bb-ruby
TEXTILE : RedCloth
MARKDOWN : BlueCloth
Bon code !