blob: 62f31d22055f733c3c7721bc7398a41f0fa24eff (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><%= title %></title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<h1><%= title %></h1>
<section id="introduction">
<p>Dette er en annen visning av programmet for skrekkfilmfestivalen
<a href="https://ramaskrik.no">Ramaskrik <%= year %></a>. Jeg laget det for
meg selv, for å få en bedre oversikt over hvilke filmer som går hvor og når. Offisielt program finner du
på <a href="https://ramaskrik.no/program/">Ramaskrik sine egne websider</a>. Denne siden ble generert
<%= Date.today.strftime('%d.%m.%Y') %>, evt. endringer i programmet etter det er ikke tatt med.</p>
<p>Du kan merke hvilke filmer du ønsker å se ved å klikke/tappe på de. Siden vil huske hvilke filmer du
har valgt, så du vil kunne bruke denne siden til å planlegge ruten din igjennom festivalen hvis du vil.
(Ingen data sendes til websiden, hvilke filmer du har valgt vil kun lagres i din egen nettleser.)</p>
<p>Programmet er også tilgjengelig som en kalenderfil.
<a href="./program-ramaskrik-<%= year %>.ics">Klikk her</a>
for å legge den til i kalenderen din.</p>
<p>Har du spørsmål, ta kontakt med meg <a href="mailto:haraldei-ramaprogram@anduin.net">via epost</a>.</p>
</section>
<section id="events-list">
<% eventlist.each do |date, events| %>
<h2><%= date.strftime("%A %d.%m.%Y") %></h2>
<div class="events" style="height: <%= 200 + (events.end_time - events.start_time) / 50 %>px; width: <%= 100 + (events.venues.length * 350) %>px;">
<% start_time = events.start_time.to_i %>
<% end_time = events.end_time.to_i %>
<% events.venues.sort.each do |venue| %>
<div class="time-column" style="position: relative;">
<h3>Kl.</h3>
<div class="time-column-inner">
<% (start_time..end_time).step(3600 / 4) do |time| %>
<div class="timestamp" style="top: <%= (time - start_time).to_i / 50 - 5 %>px; height: 10px;">
<%= Time.at(time).strftime('%H:%M') %>
</div>
<% end %>
</div>
</div>
<div class="event-column">
<h3><%= venue %></h2>
<div class="event-column-inner">
<% events.events.select{ |e| e.venue == venue }.each do |e| %>
<div id="<%= e.slug %>" class="event-item" style="top: <%= e.offset %>px; height: <%= e.height %>px;">
<div class="event-item-image">
<% if e.image_url %>
<img src="<%= e.image_url %>">
<% end %>
</div>
<div class="event-item-meta">
<div class="event-item-title">
<a href="https://ramaskrik.no<%= e.info_link %>"><%= e.title %></a>
</div>
<div class="event-item-times">
<time datetime="<%= e.start_time.iso8601 %>">
<%= e.start_time.strftime('%H:%M') %>
</time>
-
<time datetime="<%= (e.start_time + e.duration).iso8601 %>">
<%= (e.start_time + e.duration).strftime('%H:%M') %>
</time>
</div>
</div>
</div>
<% end %>
</div>
</div>
<% end %>
</div>
<% end %>
</section>
<section id="footer">
<p>Denne siden ble generert den <%= DateTime.now.strftime('%d.%m.%Y kl. %H:%M') %> av
<a href="https://code.volse.net/ramaskrik-program.git/">Ramaskrik programoversikt-generator</a>
</section>
</body>
</html>
<script>
let event_items = document.getElementsByClassName('event-item');
for (const element of event_items) {
if (localStorage.getItem(element.id) === 'selected') {
element.classList.add('selected');
}
element.addEventListener('click', event => {
const result = event.currentTarget.classList.toggle('selected');
if (result) {
localStorage.setItem(event.currentTarget.id, 'selected');
} else {
localStorage.removeItem(event.currentTarget.id);
}
});
}
</script>
|