如何在rails上使用史诗编辑器

时间:2014-07-31 03:53:13

标签: ruby-on-rails ruby-on-rails-4

我是新手在轨道上使用javascript我希望有一个界面,以便在视图上,用户可以使用markdown键入textarea,输出应根据markdown语法更新为用户继续打字。我找到史诗编辑器作为解决方案,我在我的assets / javascripts和我的模型的js.coffee文件中创建了一个epiceditor.js文件我有

editor = new EpicEditor().load()

但是,我不知道如何使用史诗编辑器在同一视图中呈现输入textarea和输出?有人可以给我一些指导吗?谢谢!

1 个答案:

答案 0 :(得分:1)

刚开始使用epiceditor和rails一起工作,这是我迄今为止所做的:

更改basePath和主题,预览,编辑器路径。

defaults = { container: 'epiceditor'
    , basePath: '/assets'
    , textarea: 'content-input'
    , clientSideStorage: true
    , localStorageName: 'epiceditor'
    , useNativeFullscreen: true
    , file: { name: null
    , defaultContent: ''
      , autoSave: 100 // Set to false for no auto saving
      }
    , theme: { base: '/epiceditor.css'
      , preview: '/github.css'
      , editor: '/epic-style.css'
      }

如果您使用simple_form gem,可以将其添加到表单中:

<%= f.input :content, label: false, input_html: {id: "content-input"}, as: :hidden%>
<div id="epiceditor"></div>

然后在你的epiceditor.js文件中将textarea更改为textarea:&#39; content-input&#39; (textarea id),以便与隐藏的textarea同步。

function EpicEditor(options) {
// Default settings will be overwritten/extended by options arg
var self = this
  , opts = options || {}
  , _defaultFileSchema
  , _defaultFile
  , defaults = { container: 'epiceditor'
    , basePath: '/assets'
    , textarea: 'content-input'
    , clientSideStorage: true
    , localStorageName: 'epiceditor'
    , useNativeFullscreen: true
    , file: { name: null

默认的同步/导出是文字,要将其设置更改为&#39; html&#39;

_syncTextarea = function () {
  self._textareaElement.value = self.exportFile(textareaFileName, 'html', true) || self.settings.file.defaultContent;
}

并加载剧本

<script type="text/javascript">
    var editor = new EpicEditor().load();
</script>