%div#toolbar.toolbar-wrap
  %a{ data: { 'wysihtml5-command' => 'bold' } }
    %span.glyphicon.glyphicon-bold
  %a{ data: { 'wysihtml5-command' => 'italic' } }
    %span.glyphicon.glyphicon-italic
  %a{ data: { 'wysihtml5-command' => 'alignLeftStyle' } }
    %span.glyphicon.glyphicon-align-left
  %a{ data: { 'wysihtml5-command' => 'alignCenterStyle' } }
    %span.glyphicon.glyphicon-align-center
  %a{ data: { 'wysihtml5-command' => 'alignRightStyle' } }
    %span.glyphicon.glyphicon-align-right
  %a{ data: { 'wysihtml5-command' => 'insertBlockQuote' } }
    %span.glyphicon.glyphicon-indent-left
  %a{ data: { 'wysihtml5-command' => 'formatCode' } }
    %span
      = '</>'

  %a{ data: { 'wysihtml5-command' => 'formatBlock', 'wysihtml5-command-value' => 'h1'  } } H1
  %a{ data: { 'wysihtml5-command' => 'formatBlock', 'wysihtml5-command-value' => 'h2'  } } H2
  %a{ data: { 'wysihtml5-command' => 'formatBlock', 'wysihtml5-command-value' => 'h3'  } } H3
  %a{ data: { 'wysihtml5-command' => 'formatBlock', 'wysihtml5-command-value' => 'h4'  } } H4
  %a{ data: { 'wysihtml5-command' => 'formatBlock', 'wysihtml5-command-value' => 'p'  } }  P

  %a{ href: 'javascript:;', data: { 'wysihtml5-command' => 'createLink'}, class: ''} Link
  %a{ href: 'javascript:;', data: { 'wysihtml5-command' => 'insertImage'}, class: ''} Image


  %div{ data: { 'wysihtml5-dialog' => 'createLink' }, style: 'display: none' }
    %hr
    %label Link
    = select_tag '#', options_for_select(PagesCms::Page.all.collect {|p| [p.title, slugged_path(p.slug)] }), 'data-wysihtml5-dialog-field' => 'href', include_blank: true, id: 'select', class: 'form-control inline-form select2'
    %input.form-control.inline-form{ data: {'wysihtml5-dialog-field' => 'text'}, 'value' => 'link name'}
    %a{ data: { 'wysihtml5-dialog-action' => 'save' } } OK
    %a{ data: { 'wysihtml5-dialog-action' => 'cancel' } } Cancel

  %div{ data: { 'wysihtml5-dialog' => 'insertImage' }, style: 'display: none' }
    %hr
    %label Image
    = select_tag '#', options_from_collection_for_select(PagesCms::Image.all, :file, :name), 'data-wysihtml5-dialog-field' => 'src', include_blank: true, id: 'select_img', class: 'form-control inline-form select2'
    %select{ data: {'wysihtml5-dialog-field' => 'className'}, class: 'form-control inline-form' }
      %option{ value: '' } Default
      %option{ value: 'float-left'} Left
      %option{ value: 'float-left'} Right
    %a{ data: { 'wysihtml5-dialog-action' => 'save' } } OK
    %a{ data: { 'wysihtml5-dialog-action' => 'cancel' } } Cancel

= f.text_area :content, 'data-placeholder' => 'content', class: 'form-control', rows: 15, id: 'editor'

:javascript
  var random = Math.floor((Math.random() * 10000) + 1);
  document.getElementById('editor').id = 'editor' + random
  document.getElementById('toolbar').id = 'toolbar' + random

  var editor = new wysihtml5.Editor('editor' + random, {
      toolbar: 'toolbar' + random,
      parserRules:  wysihtml5ParserRules
  });
  $('.select2').select2({
    tags: true,
    createTag: function (params) {
      return {
        id: params.term,
        text: params.term,
        newOption: true
      }
    }
  });