teddit/views/includes/head.pug
2020-12-02 17:08:55 +01:00

120 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

link(rel="stylesheet", type="text/css", href="/css/fontello.css")
link(rel="stylesheet", type="text/css", href="/css/styles.css")
link(rel="icon", type="image/png", sizes="32x32", href="/favicon.png")
meta(name="viewport", content="width=device-width, initial-scale=1.0")
-
function kFormatter(num) {
return Math.abs(num) > 999 ? Math.sign(num)*((Math.abs(num)/1000).toFixed(1)) + 'k' : Math.sign(num)*Math.abs(num)
}
function timeDifference(time) {
time = parseInt(time) * 1000
let ms_per_minute = 60 * 1000
let ms_per_hour = ms_per_minute * 60
let ms_per_day = ms_per_hour * 24
let ms_per_month = ms_per_day * 30
let ms_per_year = ms_per_day * 365
let current = + new Date()
let elapsed = Math.abs(time - current)
let r = ''
let e
if (elapsed < ms_per_minute) {
e = Math.round(elapsed/1000)
r = `${e} seconds ago`
if(e === 1)
r = 'just now'
return r
}
else if (elapsed < ms_per_hour) {
e = Math.round(elapsed/ms_per_minute)
r = `${e} minutes ago`
if(r === 1)
r = 'a minute ago'
return r
}
else if (elapsed < ms_per_day ) {
e = Math.round(elapsed/ms_per_hour)
r = `${e} hours ago`
if(e === 1)
r = 'an hour ago'
return r
}
else if (elapsed < ms_per_month) {
e = Math.round(elapsed/ms_per_day)
r = `${e} days ago`
if(e === 1)
r = '1 day ago'
return r
}
else if (elapsed < ms_per_year) {
e = Math.round(elapsed/ms_per_month)
r = `${e} months ago`
if(e === 1)
r = '1 month ago'
return r
}
else {
e = Math.round(elapsed/ms_per_year)
r = `${e} years ago`
if(e === 1)
r = '1 year ago'
return r
}
}
function localize(url) {
try {
let u = new URL(url)
if(u.host === 'www.reddit.com' || u.host === 'reddit.com') {
url = url.replace(u.host, 'teddit.net')
}
} catch(e) { }
return url
}
function toDateString(time) {
let d = new Date();
d.setTime(time*1000);
return d.toDateString();
}
function toUTCString(time) {
let d = new Date();
d.setTime(time*1000);
return d.toUTCString();
}
function secondsToMMSS(time) {
return new Date(time * 1000).toISOString().substr(14,5)
}
function cleanTitle(s) {
if(s) {
var re = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;
var unescaped = {
'&amp;': '&',
'&#38;': '&',
'&lt;': '<',
'&#60;': '<',
'&gt;': '>',
'&#62;': '>',
'&apos;': "'",
'&#39;': "'",
'&quot;': '"',
'&#34;': '"'
}
return s.replace(re, (m) => {
return unescaped[m]
})
} else {
return ''
}
}