summaryrefslogtreecommitdiff
path: root/public/js/slide.js
diff options
context:
space:
mode:
authorWu Cheng-Han2016-07-02 16:09:26 +0800
committerWu Cheng-Han2016-07-02 16:09:26 +0800
commitd39f1fc70084ad5b7c40a03657e5ff8d03cc7944 (patch)
treefbf82bac4481652b6c5587f4cb9ced70ed63373f /public/js/slide.js
parent160b51d16a180a164f9b6eddbd80939478c7bd4b (diff)
Update to make slide mode support all extra syntax and change it's rendering engine
Diffstat (limited to 'public/js/slide.js')
-rw-r--r--public/js/slide.js65
1 files changed, 65 insertions, 0 deletions
diff --git a/public/js/slide.js b/public/js/slide.js
new file mode 100644
index 00000000..f5f8a14d
--- /dev/null
+++ b/public/js/slide.js
@@ -0,0 +1,65 @@
+var body = $(".slides").html();
+$(".slides").html(S(body).unescapeHTML().s);
+
+function extend() {
+ var target = {};
+ for (var i = 0; i < arguments.length; i++) {
+ var source = arguments[i];
+ for (var key in source) {
+ if (source.hasOwnProperty(key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+ return target;
+}
+
+// Optional libraries used to extend on reveal.js
+var deps = [{
+ src: serverurl + '/vendor/reveal.js/lib/js/classList.js',
+ condition: function() {
+ return !document.body.classList;
+ }
+}, {
+ src: serverurl + '/js/reveal-markdown.js',
+ condition: function() {
+ return !!document.querySelector('[data-markdown]');
+ }
+}, {
+ src: serverurl + '/vendor/reveal.js/plugin/notes/notes.js',
+ async: true,
+ condition: function() {
+ return !!document.body.classList;
+ }
+}];
+
+// default options to init reveal.js
+var defaultOptions = {
+ controls: true,
+ progress: true,
+ slideNumber: true,
+ history: true,
+ center: true,
+ transition: 'none',
+ dependencies: deps
+};
+
+// options from URL query string
+var queryOptions = Reveal.getQueryHash() || {};
+
+var options = extend(defaultOptions, queryOptions);
+Reveal.initialize(options);
+
+viewAjaxCallback = function () {
+ Reveal.layout();
+};
+
+function renderSlide() {
+ var title = document.title;
+ finishView($(event.currentSlide));
+ document.title = title;
+ Reveal.layout();
+}
+
+Reveal.addEventListener('ready', renderSlide);
+Reveal.addEventListener('slidechanged', renderSlide); \ No newline at end of file