editor.js/example.html
khaydarov f5314dfab6 Prepare plugins (#148)
* prepare plugins improvements

* prepare plugins asyncronically

* update version

* restore data from cache when plugin is unavailable

* added comments to the complicated solution

* new module tools.js for methods working with plugins

* remove ArrayOfCachedData

* build updated

* remove trash
2017-02-05 17:50:48 +03:00

213 lines
6.9 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<textarea name="" id="codex_area" cols="30" rows="10" hidden></textarea>
</body>
<script src="codex-editor.js?v=108"></script>
<link rel="stylesheet" href="codex-editor.css?v=11000">
<script src="plugins/paragraph/paragraph.js"></script>
<link rel="stylesheet" href="plugins/paragraph/paragraph.css">
<script src="plugins/header/header.js"></script>
<link rel="stylesheet" href="plugins/header/header.css">
<script src="plugins/code/code.js"></script>
<link rel="stylesheet" href="plugins/code/code.css">
<script src="plugins/link/link.js"></script>
<link rel="stylesheet" href="plugins/link/link.css">
<script src="plugins/quote/quote.js"></script>
<link rel="stylesheet" href="plugins/quote/quote.css">
<script src="plugins/list/list.js"></script>
<link rel="stylesheet" href="plugins/list/list.css">
<script src="plugins/image/image.js"></script>
<link rel="stylesheet" href="plugins/image/image.css">
<script src="plugins/instagram/instagram.js"></script>
<link rel="stylesheet" href="plugins/instagram/instagram.css">
<script src="plugins/twitter/twitter.js"></script>
<link rel="stylesheet" href="plugins/twitter/twitter.css">
<script src="plugins/embed/embed.js"></script>
<link rel="stylesheet" href="plugins/embed/embed.css">
<script src="plugins/paste/paste.js"></script>
<script src="plugins/paste/patterns.js"></script>
<link rel="stylesheet" href="plugins/paste/paste.css">
<script>
codex.editor.start({
textareaId : "codex_area",
initialBlockPlugin : 'paragraph',
tools : {
paragraph: {
type: 'paragraph',
iconClassname: 'ce-icon-paragraph',
render: paragraph.render,
validate: paragraph.validate,
save: paragraph.save,
allowedToPaste: true,
showInlineToolbar: true
},
heading_styled: {
type: 'heading_styled',
iconClassname: 'ce-icon-header',
appendCallback: header.appendCallback,
makeSettings: header.makeSettings,
render: header.render,
validate: header.validate,
save: header.save,
displayInToolbox: true
},
paste: {
type: 'paste',
prepare: paste.prepare,
make: paste.make,
save: paste.save,
enableLineBreaks: false,
callbacks: paste.pasted
},
code: {
type: 'code',
iconClassname: 'ce-icon-code',
make: code.make,
appendCallback: null,
settings: null,
render: code.render,
validate: code.validate,
save: code.save,
displayInToolbox: true,
enableLineBreaks: true
},
link: {
type: 'link',
iconClassname: 'ce-icon-link',
make: link.makeNewBlock,
appendCallback: link.appendCallback,
render: link.render,
validate: link.validate,
save: link.save,
displayInToolbox: true,
enableLineBreaks: true
},
list: {
type: 'list',
iconClassname: 'ce-icon-list-bullet',
make: list.make,
appendCallback: null,
settings: list.makeSettings,
render: list.render,
validate: list.validate,
save: list.save,
displayInToolbox: true,
showInlineToolbar: true,
enableLineBreaks: true
},
quote_styled: {
type: 'quote_styled',
iconClassname: 'ce-icon-quote',
makeSettings: quote.makeSettings,
prepare: quote.prepare,
render: quote.render,
validate: quote.validate,
save: quote.save,
displayInToolbox: true,
enableLineBreaks: true,
showInlineToolbar: true,
allowedToPaste: true,
config : {
defaultStyle : 'withPhoto'
}
},
image_extended: {
type: 'image_extended',
iconClassname: 'ce-icon-picture',
appendCallback: image.appendCallback,
prepare: image.prepare,
makeSettings: image.makeSettings,
render: image.render,
save: image.save,
isStretched: true,
showInlineToolbar: true,
displayInToolbox: true,
config: {
uploadUrl : '/club/fetch'
}
},
instagram: {
type: 'instagram',
iconClassname: 'ce-icon-instagram',
prepare: instagram.prepare,
render: instagram.reneder,
validate: instagram.validate,
save: instagram.save
},
tweet: {
type: 'tweet',
iconClassname: 'ce-icon-twitter',
prepare: twitter.prepare,
render: twitter.render,
validate: twitter.validate,
save: twitter.save,
showInlineToolbar : true,
config : {
fetchUrl : ''
}
},
video_extended: {
type: 'video_extended',
make: embed.make,
render: embed.render,
save: embed.save,
validate: embed.validate
}
},
data : {
// items: [
// {
// type : 'paragraph',
// data : {
// text : 'Привет от CodeX'
// }
// },
// {
// type : 'tweet',
// data : {
// "media" : true,
// "conversation" : false,
// "user" : null,
// "id" : 12312312312,
// "text" : null,
// "created_at" : null,
// "status_url" : 'ertertert',
// "caption" : null
// },
// cover : false
// },
// {
// type : 'paragraph',
// data : {
// text : 'Пишите нам на team@ifmo.su'
// }
// },
// ],
// count: 2
}
});
</script>
</html>