我是新手在轨道上使用javascript我希望有一个界面,以便在视图上,用户可以使用markdown键入textarea,输出应根据markdown语法更新为用户继续打字。我找到史诗编辑器作为解决方案,我在我的assets / javascripts和我的模型的js.coffee文件中创建了一个epiceditor.js文件我有
editor = new EpicEditor().load()
但是,我不知道如何使用史诗编辑器在同一视图中呈现输入textarea和输出?有人可以给我一些指导吗?谢谢!
答案 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>