Update to make slide mode support all extra syntax and change it's rendering engine
This commit is contained in:
parent
160b51d16a
commit
d39f1fc700
7 changed files with 376 additions and 87 deletions
|
@ -22,12 +22,8 @@ var md = require('reveal.js/plugin/markdown/markdown');
|
||||||
|
|
||||||
//reveal.js
|
//reveal.js
|
||||||
var slideOptions = {
|
var slideOptions = {
|
||||||
template: fs.readFileSync(config.slidepath).toString(),
|
|
||||||
theme: 'css/theme/black.css',
|
|
||||||
highlightTheme: 'zenburn',
|
|
||||||
separator: '^(\r\n?|\n)---(\r\n?|\n)$',
|
separator: '^(\r\n?|\n)---(\r\n?|\n)$',
|
||||||
verticalSeparator: '^(\r\n?|\n)----(\r\n?|\n)$',
|
verticalSeparator: '^(\r\n?|\n)----(\r\n?|\n)$'
|
||||||
revealOptions: {}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//public
|
//public
|
||||||
|
@ -544,11 +540,9 @@ function showPublishSlide(req, res, next) {
|
||||||
url: origin,
|
url: origin,
|
||||||
title: meta.title || title,
|
title: meta.title || title,
|
||||||
description: meta.description,
|
description: meta.description,
|
||||||
theme: slideOptions.theme,
|
|
||||||
highlightTheme: slideOptions.highlightTheme,
|
|
||||||
slides: slides,
|
slides: slides,
|
||||||
options: JSON.stringify(slideOptions.revealOptions, null, 2),
|
GA: meta.GA,
|
||||||
GA: meta.GA
|
useCDN: config.usecdn
|
||||||
};
|
};
|
||||||
return renderPublishSlide(data, res);
|
return renderPublishSlide(data, res);
|
||||||
}).catch(function (err) {
|
}).catch(function (err) {
|
||||||
|
|
|
@ -50,8 +50,7 @@
|
||||||
width: auto;
|
width: auto;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
margin-top: -40px;
|
transform: translate(-50%, -50%);
|
||||||
margin-left: -40px;
|
|
||||||
color: white;
|
color: white;
|
||||||
opacity: 0.3;
|
opacity: 0.3;
|
||||||
-webkit-transition: opacity 0.2s; /* Safari */
|
-webkit-transition: opacity 0.2s; /* Safari */
|
||||||
|
|
2
public/css/html.min.css
vendored
2
public/css/html.min.css
vendored
File diff suppressed because one or more lines are too long
|
@ -6,7 +6,9 @@
|
||||||
.reveal h5,
|
.reveal h5,
|
||||||
.reveal h6 {
|
.reveal h6 {
|
||||||
font-family: "Helvetica Neue", Helvetica, Arial, "Microsoft JhengHei", Meiryo, "MS ゴシック", "MS Gothic", sans-serif;
|
font-family: "Helvetica Neue", Helvetica, Arial, "Microsoft JhengHei", Meiryo, "MS ゴシック", "MS Gothic", sans-serif;
|
||||||
|
text-transform: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.reveal pre,
|
.reveal pre,
|
||||||
.reveal code {
|
.reveal code {
|
||||||
font-family: "Source Code Pro", Consolas, monaco, "Microsoft JhengHei", Meiryo, "MS ゴシック", "MS Gothic", monospace;
|
font-family: "Source Code Pro", Consolas, monaco, "Microsoft JhengHei", Meiryo, "MS ゴシック", "MS Gothic", monospace;
|
||||||
|
@ -14,3 +16,231 @@
|
||||||
line-height: 1.25;
|
line-height: 1.25;
|
||||||
-webkit-overflow-scrolling: touch;
|
-webkit-overflow-scrolling: touch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.vimeo,
|
||||||
|
.youtube {
|
||||||
|
position: relative !important;
|
||||||
|
cursor: pointer;
|
||||||
|
display: table;
|
||||||
|
width: 100% !important;
|
||||||
|
text-align: center;
|
||||||
|
background-position: center center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: contain;
|
||||||
|
background-color: black;
|
||||||
|
overflow: hidden;
|
||||||
|
font-size: 24px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* youtube always use 16:9 aspect ratio video */
|
||||||
|
|
||||||
|
.vimeo,
|
||||||
|
.youtube {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
padding-bottom: 56.25% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.vimeo > img,
|
||||||
|
.youtube > img {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
margin: 0 !important;
|
||||||
|
border: 0 !important;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.vimeo > iframe,
|
||||||
|
.youtube > iframe {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slideshare .inner,
|
||||||
|
.speakerdeck .inner {
|
||||||
|
padding-bottom: 62% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pdfobject {
|
||||||
|
height: 85vh !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.task-list-item-checkbox {
|
||||||
|
font-size: inherit;
|
||||||
|
height: 1em;
|
||||||
|
margin: 0.2em 0 0.2em -0.65em !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre code .wrapper {
|
||||||
|
display: -webkit-inline-flex;
|
||||||
|
display: -moz-inline-flex;
|
||||||
|
display: -ms-inline-flex;
|
||||||
|
display: -o-inline-flex;
|
||||||
|
display: inline-flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre code .gutter {
|
||||||
|
float: left;
|
||||||
|
overflow: hidden;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre code .gutter.linenumber {
|
||||||
|
text-align: right;
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
cursor: default;
|
||||||
|
z-index: 4;
|
||||||
|
padding: 0 8px 0 0;
|
||||||
|
min-width: 20px;
|
||||||
|
box-sizing: content-box;
|
||||||
|
color: #afafaf !important;
|
||||||
|
border-right: 3px solid #6ce26c !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre code .gutter.linenumber > span:before {
|
||||||
|
content: attr(data-linenumber);
|
||||||
|
}
|
||||||
|
|
||||||
|
pre code .code {
|
||||||
|
float: left;
|
||||||
|
margin: 0 0 0 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gist .line-numbers {
|
||||||
|
border-left: none;
|
||||||
|
border-top: none;
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gist .line-data {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gist table {
|
||||||
|
border-spacing: 0;
|
||||||
|
border-collapse: inherit !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
code[data-gist-id] {
|
||||||
|
background: none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
code[data-gist-id]:before {
|
||||||
|
content: ''
|
||||||
|
}
|
||||||
|
|
||||||
|
code[data-gist-id]:after {
|
||||||
|
content: ''
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert {
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert h4 {
|
||||||
|
margin-top: 0;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert > p {
|
||||||
|
padding: 5px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-success {
|
||||||
|
color: #3c763d;
|
||||||
|
background-color: #dff0d8;
|
||||||
|
border-color: #d6e9c6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-success hr {
|
||||||
|
border-top-color: #c9e2b3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-success .alert-link {
|
||||||
|
color: #2b542c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-info {
|
||||||
|
color: #31708f;
|
||||||
|
background-color: #d9edf7;
|
||||||
|
border-color: #bce8f1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-info hr {
|
||||||
|
border-top-color: #a6e1ec;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-info .alert-link {
|
||||||
|
color: #245269;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-warning {
|
||||||
|
color: #8a6d3b;
|
||||||
|
background-color: #fcf8e3;
|
||||||
|
border-color: #faebcc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-warning hr {
|
||||||
|
border-top-color: #f7e1b5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-warning .alert-link {
|
||||||
|
color: #66512c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-danger {
|
||||||
|
color: #a94442;
|
||||||
|
background-color: #f2dede;
|
||||||
|
border-color: #ebccd1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-danger hr {
|
||||||
|
border-top-color: #e4b9c0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-danger .alert-link {
|
||||||
|
color: #843534;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre.flow-chart,
|
||||||
|
pre.sequence-diagram,
|
||||||
|
pre.graphviz,
|
||||||
|
pre.mermaid {
|
||||||
|
text-align: center;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 0;
|
||||||
|
white-space: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre.flow-chart > code,
|
||||||
|
pre.sequence-diagram > code,
|
||||||
|
pre.graphviz > code,
|
||||||
|
pre.mermaid > code {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre.flow-chart > svg,
|
||||||
|
pre.sequence-diagram > svg,
|
||||||
|
pre.graphviz > svg,
|
||||||
|
pre.mermaid > svg {
|
||||||
|
max-width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emoji {
|
||||||
|
margin: 0 !important;
|
||||||
|
background: transparent !important;
|
||||||
|
border: none !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
margin-bottom: -.25em !important;
|
||||||
|
}
|
|
@ -5,26 +5,14 @@
|
||||||
*/
|
*/
|
||||||
(function( root, factory ) {
|
(function( root, factory ) {
|
||||||
if( typeof exports === 'object' ) {
|
if( typeof exports === 'object' ) {
|
||||||
module.exports = factory( require( './marked' ) );
|
module.exports = factory();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Browser globals (root is window)
|
// Browser globals (root is window)
|
||||||
root.RevealMarkdown = factory( root.marked );
|
root.RevealMarkdown = factory();
|
||||||
root.RevealMarkdown.initialize();
|
root.RevealMarkdown.initialize();
|
||||||
}
|
}
|
||||||
}( this, function( marked ) {
|
}( this, function() {
|
||||||
|
|
||||||
if( typeof marked === 'undefined' ) {
|
|
||||||
throw 'The reveal.js Markdown plugin requires marked to be loaded';
|
|
||||||
}
|
|
||||||
|
|
||||||
if( typeof hljs !== 'undefined' ) {
|
|
||||||
marked.setOptions({
|
|
||||||
highlight: function( lang, code ) {
|
|
||||||
return hljs.highlightAuto( lang, code ).value;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
var DEFAULT_SLIDE_SEPARATOR = '^\r?\n---\r?\n$',
|
var DEFAULT_SLIDE_SEPARATOR = '^\r?\n---\r?\n$',
|
||||||
DEFAULT_NOTES_SEPARATOR = 'note:',
|
DEFAULT_NOTES_SEPARATOR = 'note:',
|
||||||
|
@ -364,10 +352,10 @@
|
||||||
var notes = section.querySelector( 'aside.notes' );
|
var notes = section.querySelector( 'aside.notes' );
|
||||||
var markdown = getMarkdownFromSlide( section );
|
var markdown = getMarkdownFromSlide( section );
|
||||||
|
|
||||||
var rendered = marked( markdown );
|
var rendered = md.render(markdown);
|
||||||
rendered = preventXSS(rendered);
|
rendered = preventXSS(rendered);
|
||||||
|
var result = postProcess(rendered);
|
||||||
section.innerHTML = rendered;
|
section.innerHTML = result[0].outerHTML;
|
||||||
addAttributes( section, section, null, section.getAttribute( 'data-element-attributes' ) ||
|
addAttributes( section, section, null, section.getAttribute( 'data-element-attributes' ) ||
|
||||||
section.parentNode.getAttribute( 'data-element-attributes' ) ||
|
section.parentNode.getAttribute( 'data-element-attributes' ) ||
|
||||||
DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR,
|
DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR,
|
||||||
|
|
65
public/js/slide.js
Normal file
65
public/js/slide.js
Normal file
|
@ -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);
|
|
@ -14,11 +14,28 @@
|
||||||
<title><%- title %></title>
|
<title><%- title %></title>
|
||||||
<link rel="icon" type="image/png" href="<%- url %>/favicon.png">
|
<link rel="icon" type="image/png" href="<%- url %>/favicon.png">
|
||||||
<link rel="apple-touch-icon" href="<%- url %>/apple-touch-icon.png">
|
<link rel="apple-touch-icon" href="<%- url %>/apple-touch-icon.png">
|
||||||
|
<% if(useCDN) { %>
|
||||||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/ionicons/2.0.1/css/ionicons.min.css">
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/octicons/3.5.0/octicons.min.css">
|
||||||
|
<% } else { %>
|
||||||
|
<link rel="stylesheet" href='<%- url %>/vendor/font-awesome/css/font-awesome.min.css'>
|
||||||
|
<link rel="stylesheet" href="<%- url %>/vendor/Ionicons/css/ionicons.min.css">
|
||||||
|
<link rel="stylesheet" href="<%- url %>/vendor/octicons/octicons/octicons.css">
|
||||||
|
<% } %>
|
||||||
|
|
||||||
<link rel="stylesheet" href="<%- url %>/vendor/reveal.js/css/reveal.css">
|
<link rel="stylesheet" href="<%- url %>/vendor/reveal.js/css/reveal.css">
|
||||||
<link rel="stylesheet" href="<%- url %>/vendor/reveal.js/<%- theme %>" id="theme">
|
<link rel="stylesheet" href="<%- url %>/vendor/reveal.js/css/theme/black.css" id="theme">
|
||||||
|
|
||||||
<!-- For syntax highlighting -->
|
<!-- For syntax highlighting -->
|
||||||
<link rel="stylesheet" href="<%- url %>/vendor/reveal.js/lib/css/<%- highlightTheme %>.css">
|
<link rel="stylesheet" href="<%- url %>/vendor/reveal.js/lib/css/zenburn.css">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href='<%- url %>/css/github-extract.css'>
|
||||||
|
<link rel="stylesheet" href='<%- url %>/css/gist.css'>
|
||||||
|
<link rel="stylesheet" href="<%- url %>/css/mermaid.css">
|
||||||
|
<link rel="stylesheet" href='<%- url %>/css/markdown.css'>
|
||||||
|
<link rel="stylesheet" href='<%- url %>/vendor/emojify/css/emojify.min.css'>
|
||||||
|
<link rel="stylesheet" href='<%- url %>/css/extra.css'>
|
||||||
<link rel="stylesheet" href="<%- url %>/css/site.css">
|
<link rel="stylesheet" href="<%- url %>/css/site.css">
|
||||||
<link rel="stylesheet" href="<%- url %>/css/slide.css">
|
<link rel="stylesheet" href="<%- url %>/css/slide.css">
|
||||||
|
|
||||||
|
@ -26,8 +43,6 @@
|
||||||
<script>
|
<script>
|
||||||
document.write( '<link rel="stylesheet" href="<%- url %>/vendor/reveal.js/css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
|
document.write( '<link rel="stylesheet" href="<%- url %>/vendor/reveal.js/css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
|
||||||
</script>
|
</script>
|
||||||
<script src="<%- url %>/vendor/jquery/dist/jquery.min.js"></script>
|
|
||||||
<script src="<%- url %>/vendor/velocity/velocity.min.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
@ -35,58 +50,56 @@
|
||||||
<div class="slides"><%- slides %></div>
|
<div class="slides"><%- slides %></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<script type="text/x-mathjax-config">
|
||||||
|
MathJax.Hub.Config({ messageStyle: "none", skipStartupTypeset: true ,tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']], processEscapes: true }});
|
||||||
|
</script>
|
||||||
|
<% if(useCDN) { %>
|
||||||
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
|
||||||
|
<script src="//cdn.jsdelivr.net/velocity/1.2.3/velocity.min.js" defer></script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/3.6.1/js-yaml.min.js" defer></script>
|
||||||
|
<script type="text/javascript" src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" defer></script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment-with-locales.min.js" defer></script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/6.0.0/mermaid.min.js" defer></script>
|
||||||
|
<% } else { %>
|
||||||
|
<script src="<%- url %>/vendor/jquery/dist/jquery.min.js"></script>
|
||||||
|
<script src="<%- url %>/vendor/velocity/velocity.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/js-yaml/dist/js-yaml.min.js" defer></script>
|
||||||
|
<script type="text/javascript" src="<%- url %>/vendor/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/moment/min/moment-with-locales.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/mermaid/dist/mermaid.min.js" defer></script>
|
||||||
|
<% } %>
|
||||||
<script src="<%- url %>/vendor/reveal.js/lib/js/head.min.js"></script>
|
<script src="<%- url %>/vendor/reveal.js/lib/js/head.min.js"></script>
|
||||||
<script src="<%- url %>/vendor/reveal.js/js/reveal.js"></script>
|
<script src="<%- url %>/vendor/reveal.js/js/reveal.js"></script>
|
||||||
<script src="<%- url %>/vendor/string/dist/string.min.js"></script>
|
<script src="<%- url %>/vendor/xss/dist/xss.min.js" defer></script>
|
||||||
<script src="<%- url %>/vendor/xss/dist/xss.min.js"></script>
|
<script src="<%- url %>/vendor/markdown-it/dist/markdown-it.min.js" defer></script>
|
||||||
<script src="<%- url %>/js/render.js"></script>
|
<script src="<%- url %>/vendor/markdown-it-abbr/dist/markdown-it-abbr.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/markdown-it-footnote/dist/markdown-it-footnote.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/markdown-it-deflist/dist/markdown-it-deflist.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/markdown-it-mark/dist/markdown-it-mark.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/markdown-it-ins/dist/markdown-it-ins.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/markdown-it-sub/dist/markdown-it-sub.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/markdown-it-sup/dist/markdown-it-sup.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/markdown-it-container/dist/markdown-it-container.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/markdown-it-mathjax.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/markdown-it-regexp.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/markdown-it-imsize.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/gist-embed.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/string/dist/string.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/highlightjs/highlight.pack.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/js-cookie/src/js.cookie.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/emojify/js/emojify.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/raphael/raphael.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/lodash/dist/lodash.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/sequence-diagrams/sequence-diagram-min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/flowchart/release/flowchart.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/viz.js/viz.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/pdfobject/pdfobject.min.js" defer></script>
|
||||||
|
<script src="<%- url %>/vendor/md-toc.js" defer></script>
|
||||||
|
<script src="<%- url %>/js/common.js" defer></script>
|
||||||
|
<script src="<%- url %>/js/extra.js" defer></script>
|
||||||
|
<script src="<%- url %>/js/render.js" defer></script>
|
||||||
|
<script src="<%- url %>/js/slide.js" defer></script>
|
||||||
|
|
||||||
<script>
|
|
||||||
if (typeof mixpanel !== 'undefined') mixpanel.track("enter slide");
|
|
||||||
|
|
||||||
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: '<%- url %>/vendor/reveal.js/lib/js/classList.js', condition: function() { return !document.body.classList; } },
|
|
||||||
{ src: '<%- url %>/vendor/reveal.js/plugin/markdown/marked.js', condition: function() { return !!document.querySelector('[data-markdown]'); } },
|
|
||||||
{ src: '<%- url %>/js/reveal-markdown.js', condition: function() { return !!document.querySelector('[data-markdown]'); } },
|
|
||||||
{ src: '<%- url %>/vendor/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
|
|
||||||
{ src: '<%- url %>/vendor/reveal.js/plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } },
|
|
||||||
{ src: '<%- url %>/vendor/reveal.js/plugin/math/math.js', async: true }
|
|
||||||
];
|
|
||||||
|
|
||||||
// default options to init reveal.js
|
|
||||||
var defaultOptions = {
|
|
||||||
controls: true,
|
|
||||||
progress: true,
|
|
||||||
history: true,
|
|
||||||
center: true,
|
|
||||||
transition: 'slide',
|
|
||||||
dependencies: deps
|
|
||||||
};
|
|
||||||
|
|
||||||
// options from URL query string
|
|
||||||
var queryOptions = Reveal.getQueryHash() || {};
|
|
||||||
|
|
||||||
var options = <%- options %>;
|
|
||||||
options = extend(defaultOptions, options, queryOptions);
|
|
||||||
Reveal.initialize(options);
|
|
||||||
</script>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue