Hugo go go go
Made a hugo setup from scratch to generate a static blog and portfolio webpage. The old stuff may still be found in static/old.
This commit is contained in:
3
static/old/README.md
Normal file
3
static/old/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# My github.io
|
||||
|
||||
I dunno what to host here, prolly will add someting cool later some time.
|
16
static/old/index.html
Normal file
16
static/old/index.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>My humble github.io page</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="main.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<h3>Noting to see here</h3>
|
||||
<p>You can check out work I did in IT1 (informasjons teknologi 1) a Norwegian optional vacational course <a href="it1/">here</a>.</p>
|
||||
<p>Or even my very own webpage with some cool stuffs coming soon <a href="http://sivert.pw/">here</a>.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
2
static/old/it1/README.md
Normal file
2
static/old/it1/README.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# Ghost-Zephyr.github.io
|
||||
Lolert, github.io i IT1 no.
|
51
static/old/it1/bibliotek/bibliotek.js
Normal file
51
static/old/it1/bibliotek/bibliotek.js
Normal file
@@ -0,0 +1,51 @@
|
||||
|
||||
var db = firebase.firestore()
|
||||
|
||||
var list = function(user) {
|
||||
db.collection("bibliotek")
|
||||
.withConverter(bookConverter)
|
||||
.get()
|
||||
.then(function(query) {
|
||||
$('#books').html('<br/>')
|
||||
query.forEach(function(doc) {
|
||||
book = doc.data()
|
||||
book.toHtml($('#books'))
|
||||
})
|
||||
}).catch(function(error) {
|
||||
$('#books').html('<h3>Kunne ikke hente bøker!</h3><br/><p>'+error+'</p>')
|
||||
$('#books').css('color', 'red')
|
||||
})
|
||||
}
|
||||
|
||||
var add = function() {
|
||||
db.collection("bibliotek")
|
||||
.withConverter(bookConverter)
|
||||
.add(new Book(
|
||||
$('#title')[0].value,
|
||||
$('#author')[0].value,
|
||||
$('#publisher')[0].value,
|
||||
$('#rating')[0].value,
|
||||
$('#published')[0].value
|
||||
)).then(function() {
|
||||
$('#status').html('<p>La til bok '+$('#title')[0].value+'!</p>')
|
||||
$('#status').css('color', 'green')
|
||||
list()
|
||||
}).catch(function() {
|
||||
$('#status').html('<p>Problem med å legge til bok '+$('#title')[0].value+'!</p>')
|
||||
$('#status').css('color', 'red')
|
||||
})
|
||||
}
|
||||
|
||||
var remove = function(id) {
|
||||
db.collection("bibliotek").doc(id)
|
||||
.delete().then(function() {
|
||||
list()
|
||||
}).catch(function(error) {
|
||||
alert("Error removing document: ", error)
|
||||
})
|
||||
}
|
||||
|
||||
firebase.auth().onAuthStateChanged(function(user) {
|
||||
list(user)
|
||||
})
|
||||
|
48
static/old/it1/bibliotek/index.html
Normal file
48
static/old/it1/bibliotek/index.html
Normal file
@@ -0,0 +1,48 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Firebase basert bibliotek</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="../main.css">
|
||||
<link rel="stylesheet" href="../css/form.css">
|
||||
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-app.js"></script>
|
||||
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-auth.js"></script>
|
||||
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-firestore.js"></script>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/init-firebase.js"></script>
|
||||
<script type="text/javascript" src="../js/converters/bok.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript" id="navbar" src="../js/navbar.js"></script>
|
||||
<div id="content">
|
||||
<form action="#" method="POST" id="form" class="top">
|
||||
<div class="form-group">
|
||||
<div class="row">
|
||||
<div class="col"><input type="name" class="form-control" id="title" placeholder="Tittel"></div>
|
||||
<div class="col"><input type="name" class="form-control" id="author" placeholder="Forfatter"></div>
|
||||
</div>
|
||||
<input type="name" class="form-control" id="publisher" placeholder="Forlag">
|
||||
<select type="number" class="form-control form-control-sm" id="rating" placeholder="Terningkast">
|
||||
<option>1</option>
|
||||
<option>2</option>
|
||||
<option>3</option>
|
||||
<option>4</option>
|
||||
<option>5</option>
|
||||
<option>6</option>
|
||||
</select>
|
||||
<label>Utgitt</label>
|
||||
<input type="date" class="form-control" id="published" placeholder="Utgitt">
|
||||
</div>
|
||||
<a type="submit" class="btn btn-primary" href="javascript: add()">Legg til</a>
|
||||
</form>
|
||||
<div id="status">
|
||||
<p> </p>
|
||||
</div>
|
||||
<a type="submit" class="btn btn-primary" href="javascript: list(firebase.auth().currentUser)">Hent bøker</a>
|
||||
<div id="books">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="bibliotek.js"></script>
|
||||
</body>
|
||||
</html>
|
30
static/old/it1/bruker/index.html
Normal file
30
static/old/it1/bruker/index.html
Normal file
@@ -0,0 +1,30 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Firebase basert bibliotek</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="../main.css">
|
||||
<link rel="stylesheet" href="../css/form.css">
|
||||
<script src="https://www.gstatic.com/firebasejs/7.11.0/firebase-app.js"></script>
|
||||
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-auth.js"></script>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/init-firebase.js"></script>
|
||||
<script type="text/javascript" src="../js/auth.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript" id="navbar" src="../js/navbar.js"></script>
|
||||
<div id="content">
|
||||
<form action="#" method="POST" id="form" class="top">
|
||||
<div class="form-group">
|
||||
<input type="name" class="form-control" id="mail" placeholder="Epost">
|
||||
<input type="password" class="form-control" id="password" placeholder="Passord">
|
||||
</div>
|
||||
<a type="submit" class="btn btn-primary" id="login" onclick="signin()">Logg inn</a>
|
||||
</form>
|
||||
<div id="status">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../js/auth.js"></script>
|
||||
</body>
|
||||
</html>
|
28
static/old/it1/css/form.css
Normal file
28
static/old/it1/css/form.css
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
.top {
|
||||
margin-top: 9vh;
|
||||
}
|
||||
|
||||
#status {
|
||||
margin-top: 1vh;
|
||||
}
|
||||
|
||||
#form > div > * {
|
||||
margin-bottom: 1vh;
|
||||
}
|
||||
|
||||
#form > div > label {
|
||||
margin-bottom: 0.33vh;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
background-color: #333;
|
||||
border-color: #222;
|
||||
color: lime;
|
||||
}
|
||||
.form-control:focus {
|
||||
background-color: #555;
|
||||
border-color: #333;
|
||||
color: lime;
|
||||
}
|
||||
|
5
static/old/it1/css/gjestebok.css
Normal file
5
static/old/it1/css/gjestebok.css
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
.kommentar {
|
||||
font-size: 1.1rem;
|
||||
word-wrap: break-word;
|
||||
}
|
81
static/old/it1/gjestebok/gjestebok.js
Normal file
81
static/old/it1/gjestebok/gjestebok.js
Normal file
@@ -0,0 +1,81 @@
|
||||
|
||||
var db = firebase.firestore()
|
||||
|
||||
class Comment {
|
||||
constructor(name, message, id=0) {
|
||||
this.name = name,
|
||||
this.message = message,
|
||||
this.cfid = id
|
||||
}
|
||||
toString() {
|
||||
return this.name+': '+this.message
|
||||
}
|
||||
toHtml(elm) {
|
||||
elm.append('<p class="kommentar"></p>')
|
||||
$($('.kommentar')[$('.kommentar').length-1]).text(this.toString())
|
||||
firebase.auth().currentUser?$($('.kommentar')[$('.kommentar').length-1]).append(' <a class="btn btn-primary" href="javascript: remove(\''+this.cfid+'\')">Slett</a>'):undefined
|
||||
}
|
||||
}
|
||||
|
||||
commentConverter = {
|
||||
toFirestore: function(comment) {
|
||||
return {
|
||||
navn: comment.name,
|
||||
melding: comment.message
|
||||
}
|
||||
},
|
||||
fromFirestore: function(snapshot, options) {
|
||||
const data = snapshot.data(options)
|
||||
return new Comment(
|
||||
data.navn,
|
||||
data.melding,
|
||||
snapshot.id
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
var list = function() {
|
||||
db.collection('gjestebok')
|
||||
.withConverter(commentConverter)
|
||||
.get()
|
||||
.then(function(query) {
|
||||
$('#kommentarer').html('<br/>')
|
||||
query.forEach(function(doc) {
|
||||
book = doc.data()
|
||||
book.toHtml($('#kommentarer'))
|
||||
})
|
||||
}).catch(function(error) {
|
||||
$('#status').html('<h3>Kunne ikke hente kommentarer!</h3><br/><p>'+error.message+'</p>')
|
||||
$('#status').css('color', 'red')
|
||||
})
|
||||
}
|
||||
|
||||
var add = function() {
|
||||
db.collection("gjestebok")
|
||||
.withConverter(commentConverter)
|
||||
.add(new Comment(
|
||||
$('#navn')[0].value,
|
||||
$('#melding')[0].value
|
||||
)).then(function() {
|
||||
$('#status').html('<p>La til melding med navn '+$('#navn')[0].value+'!</p>')
|
||||
$('#status').css('color', 'green')
|
||||
$('#kommentarer').html('')
|
||||
list()
|
||||
}).catch(function() {
|
||||
$('#status').html('<p>Problem med å legge til melding med navn '+$('#navn')[0].value+'!</p>')
|
||||
$('#status').css('color', 'red')
|
||||
})
|
||||
}
|
||||
|
||||
var remove = function(id) {
|
||||
db.collection("gjestebok").doc(id)
|
||||
.delete().then(function() {
|
||||
$('#kommentarer').html('')
|
||||
list()
|
||||
}).catch(function(error) {
|
||||
alert("Error removing document: ", error)
|
||||
})
|
||||
}
|
||||
|
||||
list()
|
||||
|
38
static/old/it1/gjestebok/index.html
Normal file
38
static/old/it1/gjestebok/index.html
Normal file
@@ -0,0 +1,38 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Firebase basert gjestebok</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="../main.css">
|
||||
<link rel="stylesheet" href="../css/form.css">
|
||||
<link rel="stylesheet" href="../css/gjestebok.css">
|
||||
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-app.js"></script>
|
||||
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-auth.js"></script>
|
||||
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-firestore.js"></script>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/init-firebase.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript" id="navbar" src="../js/navbar.js"></script>
|
||||
<div id="content">
|
||||
<form action="#" method="POST" id="form" class="top">
|
||||
<div class="form-group">
|
||||
<div class="row">
|
||||
<div class="col col-sm-3"><input type="name" class="form-control" id="navn" placeholder="Navn"></div>
|
||||
<div class="col col-sm-9"><input type="name" class="form-control" id="melding" placeholder="Melding"></div>
|
||||
</div>
|
||||
</div>
|
||||
<a type="submit" class="btn btn-primary" href="javascript: add()">Legg til</a>
|
||||
</form>
|
||||
<div id="status">
|
||||
<p> </p>
|
||||
</div>
|
||||
<!-- <a type="submit" class="btn btn-primary" href="javascript: list()">Hent kommentarer</a> -->
|
||||
<div id="kommentarer">
|
||||
</div>
|
||||
<p id="status"></p>
|
||||
</div>
|
||||
<script type="text/javascript" src="gjestebok.js"></script>
|
||||
</body>
|
||||
</html>
|
32
static/old/it1/index.html
Normal file
32
static/old/it1/index.html
Normal file
@@ -0,0 +1,32 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Simple firebase stuff</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="main.css">
|
||||
<script src="https://www.gstatic.com/firebasejs/7.11.0/firebase-app.js"></script>
|
||||
<script src="https://www.gstatic.com/firebasejs/7.11.0/firebase-auth.js"></script>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
|
||||
<script type="text/javascript" src="js/init-firebase.js"></script>
|
||||
<script type="text/javascript" src="js/auth.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- <iframe id="navbar" width="100%" height="60px" src="/it1/navbar/navbar.html" style="border: 0px"></iframe> -->
|
||||
<script type="text/javascript" id="navbar" src="js/navbar.js"></script>
|
||||
<div id="content">
|
||||
<h3 style="margin: 3vh">Denne siden inneholder ting jeg har laget med firebase i IT1!</h3>
|
||||
<br />
|
||||
<ul id="oppgaver">
|
||||
<li>
|
||||
<h5><a href="gjestebok/">Gjestebok</a></h5>
|
||||
</li>
|
||||
<li>
|
||||
<h5><a href="bibliotek/">Bibliotek</a></h5>
|
||||
</li>
|
||||
</ul>
|
||||
<br />
|
||||
<p>There is also <a href="http://ghostzephyr.pythonanywhere.com/it1/js/1">this here</a> some introductary javascript I wrote for the same class hosted by pythonanywhere.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
18
static/old/it1/js/auth.js
Normal file
18
static/old/it1/js/auth.js
Normal file
@@ -0,0 +1,18 @@
|
||||
|
||||
var signin = function() {
|
||||
firebase.auth()
|
||||
.signInWithEmailAndPassword($('#mail')[0].value, $('#password')[0].value)
|
||||
.then(function() {
|
||||
document.location.href = "/it1/"
|
||||
}).catch(function(error) {
|
||||
$('#status').html('<h3>Kunne ikke logge inn som '+$('#mail')[0].value+'!</h3><p>'+error.code+': '+error.message+'</p>')
|
||||
$('#status').css('color', 'red')
|
||||
})
|
||||
}
|
||||
|
||||
$(document).keydown(function(e) {
|
||||
if (e.which == 13){
|
||||
$("#login").click()
|
||||
}
|
||||
})
|
||||
|
52
static/old/it1/js/converters/bok.js
Normal file
52
static/old/it1/js/converters/bok.js
Normal file
@@ -0,0 +1,52 @@
|
||||
|
||||
class Book {
|
||||
constructor(title, author, publisher, rating, published, id=0) {
|
||||
this.cfid = id
|
||||
this.title = title
|
||||
this.author = author
|
||||
this.publisher = publisher
|
||||
this.rating = rating
|
||||
this.published = published
|
||||
}
|
||||
toString() {
|
||||
return this.title+' av '+this.author+', terningkast '+this.rating+', utgitt '+this.published.toString().slice(0,15)+', forlag; '+this.publisher
|
||||
}
|
||||
toHtml(elm) {
|
||||
let span = function(selector, string, p, color='red') {
|
||||
$($(selector)[$(selector).length-1]).append('<span style="color: '+color+'"></span>')
|
||||
$($(selector+' > span')[$(selector+' > span').length-1]).text(string)
|
||||
$($(selector)[$(selector).length-1]).append(p)
|
||||
}
|
||||
elm.append('<p class="book"></p>')
|
||||
span('.book', this.title, ' av ')
|
||||
span('.book', this.author, ', terningkast ')
|
||||
span('.book', this.rating, ', utgitt ')
|
||||
span('.book', this.published.toString().slice(0,15), ', forlag: ', 'green')
|
||||
span('.book', this.publisher, firebase.auth().currentUser?' <a class="btn btn-primary" href="javascript: remove(\''+this.cfid+'\')">Slett</a>':'', 'yellow')
|
||||
}
|
||||
}
|
||||
|
||||
bookConverter = {
|
||||
toFirestore: function(book) {
|
||||
let millis = Date.parse(book.published)
|
||||
return {
|
||||
tittel: book.title,
|
||||
forfatter: book.author,
|
||||
forlag: book.publisher,
|
||||
terningkast: book.rating,
|
||||
utgitt: new firebase.firestore.Timestamp(millis/1000, 0)
|
||||
}
|
||||
},
|
||||
fromFirestore: function(snapshot, options) {
|
||||
const data = snapshot.data(options)
|
||||
return new Book(
|
||||
data.tittel,
|
||||
data.forfatter,
|
||||
data.forlag,
|
||||
data.terningkast,
|
||||
data.utgitt.toDate(),
|
||||
snapshot.id
|
||||
)
|
||||
}
|
||||
}
|
||||
|
34
static/old/it1/js/converters/kommentar.js
Normal file
34
static/old/it1/js/converters/kommentar.js
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
class Comment {
|
||||
constructor(name, message, id=0) {
|
||||
this.name = name,
|
||||
this.message = message,
|
||||
this.cfid = id
|
||||
}
|
||||
toString() {
|
||||
return this.name+': '+this.message
|
||||
}
|
||||
toHtml(elm) {
|
||||
elm.append('<p class="kommentar"></p>')
|
||||
$($('.kommentar')[$('.kommentar').length-1]).text(this.toString())
|
||||
firebase.auth().currentUser?$($('.kommentar')[$('.kommentar').length-1]).append(' <a class="btn btn-primary" href="javascript: remove(\''+this.cfid+'\')">Slett</a>'):undefined
|
||||
}
|
||||
}
|
||||
|
||||
commentConverter = {
|
||||
toFirestore: function(comment) {
|
||||
return {
|
||||
navn: comment.name,
|
||||
melding: comment.message
|
||||
}
|
||||
},
|
||||
fromFirestore: function(snapshot, options) {
|
||||
const data = snapshot.data(options)
|
||||
return new Comment(
|
||||
data.navn,
|
||||
data.melding,
|
||||
snapshot.id
|
||||
)
|
||||
}
|
||||
}
|
||||
|
10
static/old/it1/js/init-firebase.js
Normal file
10
static/old/it1/js/init-firebase.js
Normal file
@@ -0,0 +1,10 @@
|
||||
|
||||
firebase.initializeApp({
|
||||
apiKey: "AIzaSyAhU3F-De17VAsUgpRjj25f48QiXycorD4",
|
||||
authDomain: "it1-heimdal-vgs.firebaseapp.com",
|
||||
databaseURL: "https://it1-heimdal-vgs.firebaseio.com",
|
||||
projectId: "it1-heimdal-vgs",
|
||||
storageBucket: "it1-heimdal-vgs.appspot.com",
|
||||
messagingSenderId: "206703382262",
|
||||
appId: "1:206703382262:web:be48f32d11a15fa28f26d7"
|
||||
})
|
43
static/old/it1/js/navbar.js
Normal file
43
static/old/it1/js/navbar.js
Normal file
@@ -0,0 +1,43 @@
|
||||
|
||||
$('#navbar').parent().html(`
|
||||
<nav class="navbar navbar-expand-sm bg-dark navbar-dark" id="navbar">
|
||||
<a class="navbar-brand" href="/it1/">IT1 firebase stuff</a>
|
||||
<!-- <ul class="navbar-nav">
|
||||
<li class="nav-item right">
|
||||
<a class="nav-link" href="/it1/about.html">About</a>
|
||||
</li>
|
||||
</ul> -->
|
||||
<ul class="navbar-nav ml-auto">
|
||||
<!-- <li class="nav-item right" id="register-btn">
|
||||
<a class="nav-link" href="/register">Register</a>
|
||||
</li> -->
|
||||
<li class="nav-item right">
|
||||
<a class="nav-link" id="login-btn" href="/it1/bruker/"></a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>`)
|
||||
|
||||
var signout = function() {
|
||||
firebase.auth()
|
||||
.signOut()
|
||||
.then(function() {
|
||||
document.location.href = '/it1/'
|
||||
}).catch(function(error) {
|
||||
alert('could not log out: '+error.message)
|
||||
})
|
||||
}
|
||||
|
||||
firebase.auth().onAuthStateChanged(function(user) {
|
||||
if (user) {
|
||||
$('#login-btn').attr('href', 'javascript: signout()')
|
||||
$('#login-btn').html('Logout')
|
||||
} else {
|
||||
$('#login-btn').attr('href', '/it1/bruker/')
|
||||
$('#login-btn').html('Login')
|
||||
}
|
||||
})
|
||||
|
||||
for (var i = 0; i < $('#navbar').children().length; i++) {
|
||||
$('#navbar').children().css('color', 'springgreen')
|
||||
}
|
||||
|
19
static/old/it1/main.css
Normal file
19
static/old/it1/main.css
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
body {
|
||||
background-color: rgb(24, 26, 27);
|
||||
color: rgb(218, 215, 210);
|
||||
}
|
||||
|
||||
#content {
|
||||
margin: 2vh;
|
||||
margin-left: 13vw;
|
||||
margin-right: 42.0vw;
|
||||
}
|
||||
|
||||
li.right > ul {
|
||||
align-content: right;
|
||||
}
|
||||
|
||||
#oppgaver {
|
||||
margin-left: 3vh;
|
||||
}
|
0
static/old/it1/main.js
Normal file
0
static/old/it1/main.js
Normal file
4
static/old/it1/navbar/navbar.css
Normal file
4
static/old/it1/navbar/navbar.css
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
li.right > ul { /* TODO: FIX! */
|
||||
align-content: right;
|
||||
}
|
33
static/old/it1/navbar/navbar.html
Normal file
33
static/old/it1/navbar/navbar.html
Normal file
@@ -0,0 +1,33 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Navbar for iframe</title>
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="../navbar/navbar.css">
|
||||
<!-- <script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script> -->
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
|
||||
<a class="navbar-brand" target="_top" href="/old/it1/index.html">IT1 firebase stuff</a> <!-- href="../index.html" -->
|
||||
<!-- <ul class="navbar-nav">
|
||||
<li class="nav-item right">
|
||||
<a class="nav-link" target="_top" href="../about.html">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="navbar-nav ml-auto">
|
||||
<li class="nav-item right">
|
||||
<a class="nav-link">Simple login here later</a>
|
||||
</li>
|
||||
<li class="nav-item right" style="visibility: hidden">
|
||||
<a class="nav-link" target="_top" href="/logout">Logout</a>
|
||||
</li>
|
||||
<li class="nav-item right" id="register-btn">
|
||||
<a class="nav-link" target="_top" href="/register">Register</a>
|
||||
</li>
|
||||
<li class="nav-item right" id="login-btn">
|
||||
<a class="nav-link" target="_top" href="/login">Login</a>
|
||||
</li>
|
||||
</ul> -->
|
||||
</nav>
|
||||
</body>
|
||||
</html>
|
19
static/old/it1/smittestopp/corona.css
Normal file
19
static/old/it1/smittestopp/corona.css
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
table, th, td {
|
||||
border: 2px solid gray;
|
||||
}
|
||||
th, td {
|
||||
padding: 0.3rem;
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#title {
|
||||
margin-left: 3vw;
|
||||
margin-bottom: 4rem;
|
||||
margin-top: 4rem;
|
||||
}
|
||||
footer {
|
||||
margin-top: 5rem;
|
||||
}
|
54
static/old/it1/smittestopp/index.html
Normal file
54
static/old/it1/smittestopp/index.html
Normal file
@@ -0,0 +1,54 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Problemer med smittestopp</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="../smittestopp/corona.css">
|
||||
<link rel="stylesheet" href="../main.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="content" style="margin-right: 13vw">
|
||||
<h3 id="title">Positive og negative sider med apper som smittestopp</h3>
|
||||
<div class="row">
|
||||
<div class="col-sm-8">
|
||||
<p>
|
||||
Et problem for mange med slike apper er personvern. Selvfølgelig er data i de fleste tilfeller anonymisert ved at appen genererer en tilfeldig ID som brukes for å knytte data til en spesifikk person. Problemet hær er at dataen er bare anonym om dataen faktisk blir slettet i etterkant, men når er det totalt over? Det kommer til å ta lang tid før vi er nær utrydning av viruset og en kan alltids argumentere at slike systemer skal brukes til andre formål som andre sykdommer og kriminalitet.
|
||||
</p>
|
||||
<p>
|
||||
Smittestopp vi nå har i Norge skal slette data etter 30 dager, men det er selvfølgelig om dataene ikke kommer på avveie. Denne appen har derimot andre problemer som konstant oppdatering av både bluetooth og GPS som fører til høy batteribruk. Det er også ett problem med at tjenesten sender SMS for varsling etter en har meldt seg inn. Som har ført til at mange har fått meldinger tilsynelatende fra FHI som fører brukere til nettsider med svindel.
|
||||
</p>
|
||||
<p>
|
||||
Simula som utvikler smittestopp, vil heller ikke gi ut kildekoden av sikkerhets bekymringer. Jeg ser tanken, men det har vært mange tilfeller hvor lukket kildekode har ført til at det er mange store problemer med en app. I smittestopp sitt tilfelle er det lite som kan gå galt når det eneste appen skal gjøre er å samle data, men det kommer sikker mer på dette om ikke altfor lenge.
|
||||
</p>
|
||||
<p>
|
||||
Det siste store problemet med smittestopp og liknende apper er testing. Overvåkning av hvem som er i kontakt med hverandre funker bare om de aller fleste som blir syke med SARS-CoV-2 (corona viruset) faktisk får det påvist.
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<table>
|
||||
<tr>
|
||||
<th>Mot</th>
|
||||
<th>For</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Personværn</td>
|
||||
<td>Forebygge smitte</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Batteribruk</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<h3>Kilder</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href='https://www.simula.no/'>simula.com</a>, selskapet som utvikler appen.</li>
|
||||
<li><a target="_blank" href='https://www.datatilsynet.no/aktuelt/aktuelle-nyheter-2020/ny-sporings-app-for-a-hindre-koronasmitte/'>Datatilsynet om smittestopp</a></li>
|
||||
<li>The Hated One på YouTube - <a target="_blank" href='https://youtu.be/WRalTWAFBY4'>Apple and Google contact tracing is a dystopian nightmare</a>. (litt paranoid type, men kan mye om å være anonym digitalt)</li>
|
||||
</ul>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
11
static/old/main.css
Normal file
11
static/old/main.css
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
body {
|
||||
background-color: rgb(24, 26, 27);
|
||||
color: lime;
|
||||
}
|
||||
|
||||
div#content > * {
|
||||
padding: 2vh;
|
||||
margin: 4vh;
|
||||
}
|
||||
|
Reference in New Issue
Block a user