Skip to content

Instantly share code, notes, and snippets.

@kishida
Created December 11, 2018 05:19
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kishida/6200f674df88b174e6ced14d51763b1d to your computer and use it in GitHub Desktop.
Save kishida/6200f674df88b174e6ced14d51763b1d to your computer and use it in GitHub Desktop.
LT Timer for 2 tracks
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>LT Timer at LINE Developer meetup #47 in Fukuoka</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin="anonymous"></script>
<script type="text/javascript">
var timetable = [
{ left: { name: "--", title: "乾杯" }, right: { name: "--", title: "乾杯" } },
{ left: { name: " 冬海", title: "Go Conferenceについて " }, right: { name: "@tkengo(LINE Fukuoka) ", title: " 機械学習に関するなにか" } },
{ left: { name: "yoshih(クラスメソッド)", title: "Rustの話" }, right: { name: "Jalal Chaabane(ヌーラボ)", title: "Simplify web application using react-tooling" } },
{ left: { name: "開田 陽介(LINE Fukuoka)", title: "LINE Fukuokaで行っているサーバーサイド開発" }, right: { name: "松村 優大(オルターブース)", title: "C# runs anywhere, make anything" } },
{ left: { name: "吉田 清亮(LINE Fukuoka)", title: " WebAssemblyをLIFFで動かしてみた話" }, right: { name: "山本 百華(メルカリ)", title: "おさらのゆくすえ" } },
{ left: { name: " 高 海鋒(LINE Fukuoka)", title: " LINE Android App: Glide usage tips" }, right: { name: " 蘇柄臣(LINE Fukuoka)", title: " Turn your website into native mobile app" } },
{ left: { name: "Jarsaillon Pierre(LINE Fukuoka)", title: "KAPT annotation processing and code generation" }, right: { name: "Traylor Paul(LINE Fukuoka)", title: "Automating deployments from Github using Saltstack" } },
{ left: { name: "ジン(LINE)", title: "Spring WebFluxを使ってみた。その良いところと悪いところ" }, right: { name: "ukitaka(メルカリ)", title: "microservices in iOS" } },
{ left: { name: "@dashimaki_dofu(ベガコーポレーション)", title: "Kotlin 1.3 さらっとContracts + α" }, right: { name: "秋 勇紀(LINE Fukuoka)", title: "意外と知られていないSwift4.2の変更点" } },
{ left: { name: "佐藤 春旗(LINE)", title: "どこかで見たマイクロサービスとGraceful Service Degradation" }, right: { name: "光瀬 智哉(ZOZOテクノロジーズ) ", title: "Python の型ヒントを使って JSON デコーダを生成する" } },
{ left: { name: "Tokuhiro Matsuno(LINE) ", title: " LINE Ads Platformに関するなにか" }, right: { name: "渡辺 丈(Fusic)", title: "細かいパッケージいっぱいのCIをメンテする" } },
{ left: { name: "秋間 武志(Groovenauts)", title: "GithubのPRリマインダをGAE/Goで作った話" }, right: { name: "@kazutan (LINE Fukuoka)", title: "RのIDEであるRStudioでYouTubeを再生できるようにした話" } },
{ left: { name: "平井 一史(LINE Fukuoka) ", title: "GOTO Conferenceに参加したので、その話" }, right: { name: "田中 孝明(クラスメソッド)", title: "Swiftの話" } },
{ left: { name: "馬見 誠(LINE Fukuoka)", title: "Reduce dependency on Rx with Kotlin Coroutine" }, right: { name: "岩本 海童(ZOZOテクノロジーズ)", title: "TypeScript と React で Web アプリケーション開発を始めよう" } },
{ left: { name: " 内田 優一(ヌーラボ)", title: " 操作変換アルゴリズムとScala" }, right: { name: "@taketin (LINE Fukuoka) ", title: " LINE iOS 開発で実践してる Git tips" } },
{ left: { name: " 富所 亮(イノベーター・ジャパン)", title: "僕たちのカンバン" }, right: { name: "黃 慈霖(LINE Fukuoka)", title: " The benefit of custom elements: a real use case" } },
{ left: { name: "吉田 宗弘(LINE)", title: "Java からKotlinへのスムーズな移行を目指して(サーバサイド)" }, right: { name: "--", title: "--" } },
{ left: { name: "--", title: "イベント紹介" }, right: { name: "--", title: "イベント紹介" } },
{ left: { name: "--", title: "懇親会" }, right: { name: "--", title: "懇親会" } }
]
$(function () {
var current = 0;
var count = 0;
var running = false;
function show() {
count = 5 * 60;
running = false;
$("#scr1_current").html(timetable[current].left.title + "<br>" + timetable[current].left.name);
$("#scr2_current").html(timetable[current].right.title + "<br>" + timetable[current].right.name);
$("#scr1_next").html(timetable[current + 1].left.title + "<br>" + timetable[current + 1].left.name);
$("#scr2_next").html(timetable[current + 1].right.title + "<br>" + timetable[current + 1].right.name);
showTimer();
}
function showTimer() {
$("#timer").text(Math.trunc(count / 60) + ":" + ("0" + (count % 60)).slice(-2));
if (count < 0) {
$("#timer").css("color", "red");
} else if (count < 60) {
$("#timer").css("color", "blue");
} else {
$("#timer").css("color", "black");
}
}
$("#button_previous").on("click", function (e) {
current--;
if (current < 0) {
current = 0;
}
show();
});
$("#button_next").on("click", function (e) {
current++;
if (current >= timetable.length) {
current = timetable.length - 1;
}
show();
});
$("#button_start").on("click", function (e) {
running = true;
});
$("#button_stop").on("click", function (e) {
running = false;
});
setInterval(function () {
if (running) {
--count;
showTimer();
}
}, 1000);
show();
});
</script>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-md-12" style="text-align: center; color: gray">
Current Session
</div>
</div>
<div class="row">
<div class="col-md-6" id="scr1_current" style="text-align: left; font-size: 2em">スクリーン1</div>
<div class="col-md-6" id="scr2_current" style="text-align: right; font-size: 2em">スクリーン2</div>
</div>
<div class="row">
<div class="col-md-12" id="timer" style="text-align: center; font-size: 18em">
x:xx
</div>
</div>
<div class="row">
<div class="col-md-12" style="text-align: center; color: lightgray">
Next Session
</div>
</div>
<div class="row">
<div class="col-md-6" id="scr1_next" style="text-align: left; font-size: 1.5em; color: lightgray">スクリーン1</div>
<div class="col-md-6" id="scr2_next" style="text-align: right; font-size: 1.5em; color: lightgray">スクリーン2</div>
</div>
<div class="row">
<div class="col-md-12" style="text-align: center">
<button class="btn btn-lg" id="button_start">スタート</button>
<button class="btn btn-lg" id="button_stop">ストップ</button>
<button class="btn btn-lg" id="button_next">次のセッション</button>
<button class="btn btn-lg" id="button_previous">(前)</button>
</div>
</div>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment