Skip to content

Commit e555535

Browse files
committed
prepare lectures
1 parent f70995d commit e555535

File tree

7 files changed

+1404
-0
lines changed

7 files changed

+1404
-0
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
.*.swp
2+
jekyll/_site

lectures/format.js

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
$(document).ready(function() {
2+
$(".markdown").toArray().forEach(function(elem){
3+
elem.innerHTML = marked(elem.textContent, { sanitize: false, gfm: false });
4+
});
5+
$(".video").toArray().forEach(function(elem){
6+
var video = $(elem).find("video")[0];
7+
var buttons = [
8+
$("<button/>").addClass("btn btn-primary").text("0.7"),
9+
$("<button/>").addClass("btn btn-primary active").text("1.0"),
10+
$("<button/>").addClass("btn btn-primary").text("1.3"),
11+
$("<button/>").addClass("btn btn-primary").text("1.8")
12+
];
13+
buttons.forEach(function(b){
14+
b.click(function(){
15+
buttons.forEach(function(bb){bb.removeClass("active")});
16+
video.playbackRate = b[0].textContent;
17+
b.addClass("active");
18+
});
19+
});
20+
var buttonGroup = $("<div/>").addClass("btn-group btn-group-sm").append(buttons);
21+
var p = $("<p/>").addClass("text-center").text("Playback speed: ").append(buttonGroup);
22+
$(elem).append(p);
23+
});
24+
$.getJSON("toc.json", function(toc){
25+
var elem = $("#video-toc");
26+
var nav = $("<ul/>").addClass("nav nav-pills nav-stacked");
27+
toc.lectures.forEach(function(l){
28+
var item = $("<li/>");
29+
if (l.uri == window.location.pathname.split("/").pop()) {
30+
item.addClass("active");
31+
}
32+
item.append("<a href='"+l.uri+"'>"+l.title+"</a>");
33+
nav.append(item);
34+
});
35+
elem.append(nav);
36+
});
37+
});

lectures/jekyll/_config.yml

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Build settings
2+
markdown: kramdown
3+
permalink: pretty
4+
destination: _site

lectures/jekyll/_layouts/page.html

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>Reactive Design Patterns — {{ page.title }}</title>
5+
<meta charset="utf-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
8+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
9+
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
10+
<script src="/marked.js"></script>
11+
<script src="format.js"></script>
12+
</head>
13+
<body>
14+
<nav class="navbar navbar-inverse">
15+
<div class="container">
16+
<div class="navbar-header">
17+
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
18+
<span class="icon-bar"></span>
19+
<span class="icon-bar"></span>
20+
<span class="icon-bar"></span>
21+
</button>
22+
<a class="navbar-brand" href="/">Reactive Design Patterns</a>
23+
</div>
24+
<div class="collapse navbar-collapse" id="myNavbar">
25+
<ul class="nav navbar-nav">
26+
<li class="dropdown">
27+
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Patterns<span class="caret"></span></a>
28+
<ul class="dropdown-menu">
29+
<li><a href="/categories.html">by category</a></li>
30+
<li><a href="/alphabetical.html">alphabetically</a></li>
31+
</ul>
32+
</li>
33+
<li><a href="/videos.html">Video courses</a></li>
34+
<li><a href="/impressum.html">Impressum</a></li>
35+
</ul>
36+
</div>
37+
</div>
38+
</nav>
39+
40+
<div class="container">
41+
<div class="row">
42+
<div class="col-sm-3" id="video-toc"></div>
43+
<div class="col-sm-9">
44+
<h1>{{ page.title }}</h1>
45+
<div class="video">
46+
<video width="847" height="476" controls>
47+
<source src="{{ page.video }}" type="video/mp4">
48+
</video>
49+
</div>
50+
{{ content }}
51+
</div>
52+
</div>
53+
</div>
54+
</body>
55+
</html>

lectures/toc.json

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{"lectures":[
2+
{"uri":"introduction.html","title":"Introduction: Why Actors?"},
3+
{"uri":"actors.html","title":"The Actor Model"},
4+
{"uri":"messages.html","title":"Message Processing Semantics"},
5+
{"uri":"design.html","title":"Designing Actor Systems"},
6+
{"uri":"testing.html","title":"Testing Actor Systems"},
7+
{"uri":"failures.html","title":"Failure Handling with Actors"},
8+
{"uri":"lifecycle.html","title":"Lifecycle Monitoring and The Error Kernel"},
9+
{"uri":"persistence.html","title":"Persistent Actor State"},
10+
{"uri":"distributed1.html","title":"Actors are Distributed (Part 1)"},
11+
{"uri":"distributed2.html","title":"Actors are Distributed (Part 2)"},
12+
{"uri":"eventual-consistency.html","title":"Eventual Consistency"},
13+
{"uri":"composition.html","title":"Actor Composition"},
14+
{"uri":"scalability.html","title":"Scalability"},
15+
{"uri":"responsiveness.html","title":"Responsiveness"}
16+
]}

0 commit comments

Comments
 (0)