Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
2
2015-12-uni-ffm
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
CmS
2015-12-uni-ffm
Commits
070a1e3e
Commit
070a1e3e
authored
12 years ago
by
Eric J. Duran
Browse files
Options
Downloads
Patches
Plain Diff
Replacing speakernotes plugin with a simple postMessage system
parent
558c21e1
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
index.html
+30
-1
30 additions, 1 deletion
index.html
notes.html
+22
-29
22 additions, 29 deletions
notes.html
plugin/speakernotes/client.js
+0
-38
0 additions, 38 deletions
plugin/speakernotes/client.js
plugin/speakernotes/index.js
+0
-55
0 additions, 55 deletions
plugin/speakernotes/index.js
with
52 additions
and
123 deletions
index.html
+
30
−
1
View file @
070a1e3e
...
...
@@ -350,7 +350,36 @@ function linkify( selector ) {
{
src
:
'
plugin/speakernotes/client.js
'
,
async
:
true
,
condition
:
function
()
{
return
window
.
location
.
host
===
'
localhost:1947
'
;
}
}
]
});
// Set up simple postMessage notes system.
var
url
=
window
.
location
.
href
;
if
(
url
.
indexOf
(
'
?
'
+
'
notes
'
+
'
=
'
)
!==
'
true
'
)
{
var
notesPopup
=
window
.
open
(
'
notes.html
'
);
Reveal
.
addEventListener
(
'
slidechanged
'
,
function
(
event
)
{
var
nextindexh
;
var
nextindexv
;
var
slideElement
=
event
.
currentSlide
;
if
(
slideElement
.
nextElementSibling
&&
slideElement
.
parentNode
.
nodeName
==
'
SECTION
'
)
{
nextindexh
=
event
.
indexh
;
nextindexv
=
event
.
indexv
+
1
;
}
else
{
nextindexh
=
event
.
indexh
+
1
;
nextindexv
=
0
;
}
var
notes
=
slideElement
.
querySelector
(
'
aside.notes
'
);
var
slideData
=
{
notes
:
notes
?
notes
.
innerHTML
:
''
,
indexh
:
event
.
indexh
,
indexv
:
event
.
indexv
,
nextindexh
:
nextindexh
,
nextindexv
:
nextindexv
,
markdown
:
notes
?
typeof
notes
.
getAttribute
(
'
data-markdown
'
)
===
'
string
'
:
false
};
notesPopup
.
postMessage
(
JSON
.
stringify
(
slideData
),
'
*
'
);
});
}
</script>
</body>
...
...
This diff is collapsed.
Click to expand it.
plugin/speakernotes/
notes.html
→
notes.html
+
22
−
29
View file @
070a1e3e
...
...
@@ -27,13 +27,13 @@
width
:
1280px
;
height
:
1024px
;
border
:
none
;
-webkit-transform-origin
:
0
0
;
-moz-transform-origin
:
0
0
;
-ms-transform-origin
:
0
0
;
-o-transform-origin
:
0
0
;
transform-origin
:
0
0
;
-webkit-transform
:
scale
(
0.5
);
-moz-transform
:
scale
(
0.5
);
-ms-transform
:
scale
(
0.5
);
...
...
@@ -53,7 +53,7 @@
width
:
1280px
;
height
:
1024px
;
border
:
none
;
-webkit-transform-origin
:
0
0
;
-moz-transform-origin
:
0
0
;
-ms-transform-origin
:
0
0
;
...
...
@@ -89,40 +89,33 @@
<body>
<div
id=
"wrap-current-slide"
class=
"slides"
>
<iframe
src=
"
/?receiver
"
width=
"1280"
height=
"1024"
id=
"current-slide"
></iframe>
<iframe
src=
"
index.html
"
width=
"1280"
height=
"1024"
id=
"current-slide"
></iframe>
</div>
<div
id=
"wrap-next-slide"
class=
"slides"
>
<iframe
src=
"
/?receiver
"
width=
"640"
height=
"512"
id=
"next-slide"
></iframe>
<iframe
src=
"
index.html
"
width=
"640"
height=
"512"
id=
"next-slide"
></iframe>
<span>
UPCOMING:
</span>
</div>
<div
id=
"notes"
></div>
<script
src=
"/socket.io/socket.io.js"
></script>
<script
src=
"/lib/js/showdown.js"
></script>
<script
src=
"lib/js/showdown.js"
></script>
<script>
var
socketId
=
'
{{socketId}}
'
;
var
socket
=
io
.
connect
(
window
.
location
.
origin
);
var
notes
=
document
.
getElementById
(
'
notes
'
);
var
currentSlide
=
document
.
getElementById
(
'
current-slide
'
);
var
nextSlide
=
document
.
getElementById
(
'
next-slide
'
);
socket
.
on
(
'
slidedata
'
,
function
(
data
)
{
// ignore data from sockets that aren't ours
if
(
data
.
socketId
!==
socketId
)
{
return
;
}
if
(
data
.
markdown
)
{
notes
.
innerHTML
=
(
new
Showdown
.
converter
()).
makeHtml
(
data
.
notes
);
}
else
{
notes
.
innerHTML
=
data
.
notes
;
}
currentSlide
.
contentWindow
.
Reveal
.
slide
(
data
.
indexh
,
data
.
indexv
);
nextSlide
.
contentWindow
.
Reveal
.
slide
(
data
.
nextindexh
,
data
.
nextindexv
);
});
(
function
(
window
,
undefined
)
{
var
notes
=
document
.
getElementById
(
'
notes
'
);
var
currentSlide
=
document
.
getElementById
(
'
current-slide
'
);
var
nextSlide
=
document
.
getElementById
(
'
next-slide
'
);
window
.
addEventListener
(
"
message
"
,
function
(
e
){
var
data
=
JSON
.
parse
(
e
.
data
);
if
(
data
.
markdown
)
{
notes
.
innerHTML
=
(
new
Showdown
.
converter
()).
makeHtml
(
data
.
notes
);
}
else
{
notes
.
innerHTML
=
data
.
notes
;
}
currentSlide
.
contentWindow
.
Reveal
.
slide
(
data
.
indexh
,
data
.
indexv
);
nextSlide
.
contentWindow
.
Reveal
.
slide
(
data
.
nextindexh
,
data
.
nextindexv
);
},
false
);
})(
window
);
</script>
</body>
</html>
This diff is collapsed.
Click to expand it.
plugin/speakernotes/client.js
deleted
100644 → 0
+
0
−
38
View file @
558c21e1
(
function
()
{
// don't emit events from inside the previews themselves
if
(
window
.
location
.
search
.
match
(
/receiver/gi
)
)
{
return
;
}
var
socket
=
io
.
connect
(
window
.
location
.
origin
);
var
socketId
=
Math
.
random
().
toString
().
slice
(
2
);
console
.
log
(
'
View slide notes at
'
+
window
.
location
.
origin
+
'
/notes/
'
+
socketId
);
window
.
open
(
window
.
location
.
origin
+
'
/notes/
'
+
socketId
,
'
notes-
'
+
socketId
)
Reveal
.
addEventListener
(
'
slidechanged
'
,
function
(
event
)
{
var
nextindexh
;
var
nextindexv
;
var
slideElement
=
event
.
currentSlide
;
if
(
slideElement
.
nextElementSibling
&&
slideElement
.
parentNode
.
nodeName
==
'
SECTION
'
)
{
nextindexh
=
event
.
indexh
;
nextindexv
=
event
.
indexv
+
1
;
}
else
{
nextindexh
=
event
.
indexh
+
1
;
nextindexv
=
0
;
}
var
notes
=
slideElement
.
querySelector
(
'
aside.notes
'
);
var
slideData
=
{
notes
:
notes
?
notes
.
innerHTML
:
''
,
indexh
:
event
.
indexh
,
indexv
:
event
.
indexv
,
nextindexh
:
nextindexh
,
nextindexv
:
nextindexv
,
socketId
:
socketId
,
markdown
:
notes
?
typeof
notes
.
getAttribute
(
'
data-markdown
'
)
===
'
string
'
:
false
};
socket
.
emit
(
'
slidechanged
'
,
slideData
);
}
);
}());
This diff is collapsed.
Click to expand it.
plugin/speakernotes/index.js
deleted
100644 → 0
+
0
−
55
View file @
558c21e1
var
express
=
require
(
'
express
'
);
var
fs
=
require
(
'
fs
'
);
var
io
=
require
(
'
socket.io
'
);
var
_
=
require
(
'
underscore
'
);
var
Mustache
=
require
(
'
mustache
'
);
var
app
=
express
.
createServer
();
var
staticDir
=
express
.
static
;
io
=
io
.
listen
(
app
);
var
opts
=
{
port
:
1947
,
baseDir
:
__dirname
+
'
/../../
'
};
io
.
sockets
.
on
(
'
connection
'
,
function
(
socket
)
{
socket
.
on
(
'
slidechanged
'
,
function
(
slideData
)
{
socket
.
broadcast
.
emit
(
'
slidedata
'
,
slideData
);
});
});
app
.
configure
(
function
()
{
[
'
css
'
,
'
js
'
,
'
plugin
'
,
'
lib
'
].
forEach
(
function
(
dir
)
{
app
.
use
(
'
/
'
+
dir
,
staticDir
(
opts
.
baseDir
+
dir
));
});
});
app
.
get
(
"
/
"
,
function
(
req
,
res
)
{
fs
.
createReadStream
(
opts
.
baseDir
+
'
/index.html
'
).
pipe
(
res
);
});
app
.
get
(
"
/notes/:socketId
"
,
function
(
req
,
res
)
{
fs
.
readFile
(
opts
.
baseDir
+
'
plugin/speakernotes/notes.html
'
,
function
(
err
,
data
)
{
res
.
send
(
Mustache
.
to_html
(
data
.
toString
(),
{
socketId
:
req
.
params
.
socketId
}));
});
// fs.createReadStream(opts.baseDir + 'speakernotes/notes.html').pipe(res);
});
// Actually listen
app
.
listen
(
opts
.
port
||
null
);
var
brown
=
'
\
033[33m
'
,
green
=
'
\
033[32m
'
,
reset
=
'
\
033[0m
'
;
var
slidesLocation
=
"
http://localhost
"
+
(
opts
.
port
?
(
'
:
'
+
opts
.
port
)
:
''
);
console
.
log
(
brown
+
"
reveal.js - Speaker Notes
"
+
reset
);
console
.
log
(
"
1. Open the slides at
"
+
green
+
slidesLocation
+
reset
);
console
.
log
(
"
2. Click on the link your JS console to go to the notes page
"
);
console
.
log
(
"
3. Advance through your slides and your notes will advance automatically
"
);
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment