I'm trying to make markitup! work with rails 3.1, the magic happens inside my posts controller, so I threw the markup javascript in assets/javascript and added in my posts.js (so only textarea in posts view would get appended)
$(document).ready(function() {
$(".markItUp").markItUp(mySettings);
});
in my assets/stylesheets/posts.css
.markItUpHeader ul .markItUpDropMenu {
background:transparent url(images/menu.png) no-repeat 115% 50%;
margin-right:5px;
}
further more I change
images/menu.png to <% asset_path 'menu.png' %>
so it would get the good asset_path images path
in the jquery.markitup.js file I changed the root path to
options = {
root: '<%= asset_path 'jquery.markitup.js' %>'
so it won't use the markitup made function to check for root set and use my root instead
jquery.markitup.js.erb
// compute markItUp! path
if(!options.root) {
etc .... (does the markitup path computation for the .js file
so it would get the right path to the main js file my _form.html.erb file is
<%= f.text_area :content, :class => 'markItUp' %>
this does work as it does show the text area with the width:700px that is set in posts.css.erb
.markItUp {
width:700px;
etc ....
but still nothing else shows or works, I don't have the small toolbar above my text area for the text editing (B, I etc...)
thank you in advance, HeTzi & Guy.
markItUp documentation: http://markitup.jaysalvat.com/documentation/
I'm not quite sure, what's not working for you... but I have managed to get it working in rails 3.1. From what you've posted above, I have a couple suspicions.
First off, in Rails 3.1, from what I can tell in the day or so it's been since I upgraded, it (RoR 3.1) intelligently routes files in: app/assets to the appropriate images, stylesheets, and javascripts folder.
So this:
background:transparent url(images/menu.png) no-repeat 115% 50%;
Should be:
background:transparent url(/assets/menu.png) no-repeat 115% 50%;
My root option has been left to the default:
''
Also, you haven't included the set.js(?) file for defining the markup... If you click the link below, scroll down, and click the 'JSON' tab you'll see what I mean.
http://markitup.jaysalvat.com/examples/html/
From my own project (using coffee script, and settings from a bbcode example on the MarkItUp page):
myBbcodeSettings = {
previewParserPath: '', // path to your BBCode parser
markupSet: [
{name:'Bold', key:'B', openWith:'[b]', closeWith:'[/b]'},
...
{name:'Preview', className:"preview", call:'preview' }
]
}
$("#parent-element textarea").markItUp(myBbcodeSettings);
Finally, I was having a problem with it not being initialized because I forgot to make sure it had loaded and was actually on the page, but it doesn't appear you should have that problem.
Good luck!