mirror of
https://github.com/Jaredk3nt/homepage.git
synced 2024-11-21 15:23:27 +01:00
Updating to store bookmark definitions in js to make them easier to update, formatting, fixing #7
This commit is contained in:
parent
b67da29022
commit
f467131489
47
bookmarks.js
Normal file
47
bookmarks.js
Normal file
@ -0,0 +1,47 @@
|
||||
// Note: having length != 4 will mess with layout based on how the site is styled
|
||||
const bookmarks = [
|
||||
{
|
||||
title: "Daily",
|
||||
links: [
|
||||
{ name: "Inbox", url: "https://inbox.google.com" },
|
||||
{ name: "GitHub", url: "https://github.com" },
|
||||
{ name: "Drive", url: "https://drive.google.com" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Media",
|
||||
links: [
|
||||
{ name: "Youtube", url: "https://youtube.com" },
|
||||
{ name: "Netflix", url: "https://netflix.com" },
|
||||
{ name: "Crunchyroll", url: "https://crunchyroll.com" },
|
||||
{
|
||||
name: "Amazon Prime",
|
||||
url: "https://www.amazon.com/Amazon-Video",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Reddit",
|
||||
links: [
|
||||
{ name: "/r/overwatch", url: "https://reddit.com/r/overwatch" },
|
||||
{
|
||||
name: "/r/pcmasterrace",
|
||||
url: "https://reddit.com/r/pcmasterrace",
|
||||
},
|
||||
{ name: "/r/me_irl", url: "https://reddit.com/r/me_irl" },
|
||||
{
|
||||
name: "/r/battlestations",
|
||||
url: "https://reddit.com/r/battlestations",
|
||||
},
|
||||
{ name: "/r/unixporn", url: "https://reddit.com/r/unixporn" },
|
||||
{ name: "/r/news", url: "https://reddit.com/r/news" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Social",
|
||||
links: [
|
||||
{ name: "Twitter", url: "https://twitter.com" },
|
||||
{ name: "Facebook", url: "https://facebook.com" },
|
||||
],
|
||||
},
|
||||
];
|
220
index.html
220
index.html
@ -1,123 +1,127 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
|
||||
<title>Home</title>
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
|
||||
<title>Homepage</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
<link href="favicon.png" rel="shortcut icon" type="image/x-icon" />
|
||||
</head>
|
||||
<body>
|
||||
</head>
|
||||
<body>
|
||||
<div id="search">
|
||||
<input id="search-field" type="text" name="search-field" onkeypress="return search(event)"/>
|
||||
<input
|
||||
id="search-field"
|
||||
type="text"
|
||||
name="search-field"
|
||||
onkeypress="return search(event)"
|
||||
/>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div id="clock"></div>
|
||||
<div class="weather-container">
|
||||
<div class="row">
|
||||
<div id="weather-description"class="inline"></div>
|
||||
<div class="inline">-</div>
|
||||
<div id="temp" class="inline"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bookmark-container">
|
||||
<div class="bookmark-set">
|
||||
<div class="bookmark-title">Daily</div>
|
||||
<div class="bookmark-inner-container">
|
||||
<a class="bookmark" href="https://inbox.google.com/" target="_blank">Inbox</a>
|
||||
<a class="bookmark" href="https://github.com/" target="_blank">Github</a>
|
||||
<a class="bookmark" href="https://drive.google.com/" target="_blank">Drive</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bookmark-set">
|
||||
<div class="bookmark-title">Media</div>
|
||||
<div class="bookmark-inner-container">
|
||||
<a class="bookmark" href="https://youtube.com" target="_blank">Youtube</a>
|
||||
<a class="bookmark" href="https://netflix.com" target="_blank">Netflix</a>
|
||||
<a class="bookmark" href="https://crunchyroll.com" target="_blank">Crunchyroll</a>
|
||||
<a class="bookmark" href="https://" target="_blank">Amazon Prime</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bookmark-set">
|
||||
<div class="bookmark-title">Reddit</div>
|
||||
<div class="bookmark-inner-container">
|
||||
<a class="bookmark" href="https://reddit.com/r/overwatch" target="_blank">/r/overwatch</a>
|
||||
<a class="bookmark" href="https://reddit.com/r/pcmasterrace" target="_blank">/r/pcmasterrace</a>
|
||||
<a class="bookmark" href="https://reddit.com/r/me_irl" target="_blank">/r/me_irl</a>
|
||||
<a class="bookmark" href="https://reddit.com/r/battlestations" target="_blank">/r/battlestations</a>
|
||||
<a class="bookmark" href="https://reddit.com/r/unixporn" target="_blank">/r/unixporn</a>
|
||||
|
||||
<a class="bookmark" href="https://reddit.com/r/news" target="_blank">/r/news</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bookmark-set">
|
||||
<div class="bookmark-title">Social</div>
|
||||
<div class="bookmark-inner-container">
|
||||
<a class="bookmark" href="https://twitter.com" target="_blank">Twitter</a>
|
||||
<a class="bookmark" href="https://facebook.com" target="_blank">Facebook</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="clock"></div>
|
||||
<div class="weather-container">
|
||||
<div class="row">
|
||||
<div id="weather-description" class="inline"></div>
|
||||
<div class="inline">-</div>
|
||||
<div id="temp" class="inline"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="bookmark-container"></div>
|
||||
</div>
|
||||
|
||||
<script src="bookmarks.js"></script>
|
||||
<script>
|
||||
// Search on enter key event
|
||||
function search(e) {
|
||||
if (e.keyCode == 13) {
|
||||
var val = document.getElementById("search-field").value;
|
||||
window.open("https://google.com/search?q=" + val);
|
||||
}
|
||||
const searchUrl = "https://google.com/search?q=";
|
||||
// Search on enter key event
|
||||
function search(e) {
|
||||
if (e.keyCode == 13) {
|
||||
var val = document.getElementById("search-field").value;
|
||||
window.open(searchurl + val);
|
||||
}
|
||||
// Get current time and format
|
||||
function getTime() {
|
||||
let date = new Date(),
|
||||
min = date.getMinutes(),
|
||||
sec = date.getSeconds(),
|
||||
hour = date.getHours();
|
||||
}
|
||||
// Get current time and format
|
||||
function getTime() {
|
||||
let date = new Date(),
|
||||
min = date.getMinutes(),
|
||||
sec = date.getSeconds(),
|
||||
hour = date.getHours();
|
||||
|
||||
return "" +
|
||||
(hour < 10 ? ("0" + hour) : hour) + ":" +
|
||||
(min < 10 ? ("0" + min) : min) + ":" +
|
||||
(sec < 10 ? ("0" + sec) : sec);
|
||||
}
|
||||
|
||||
window.onload = () => {
|
||||
let xhr = new XMLHttpRequest();
|
||||
// Request to open weather map
|
||||
xhr.open('GET', 'http://api.openweathermap.org/data/2.5/weather?id=4737316&units=imperial&appid=e5b292ae2f9dae5f29e11499c2d82ece');
|
||||
xhr.onload = () => {
|
||||
if (xhr.readyState === 4) {
|
||||
if (xhr.status === 200) {
|
||||
let json = JSON.parse(xhr.responseText);
|
||||
console.log(json);
|
||||
document.getElementById("temp").innerHTML = json.main.temp.toFixed(0) + " F";
|
||||
document.getElementById("weather-description").innerHTML = json.weather[0].description;
|
||||
} else {
|
||||
console.log('error msg: ' + xhr.status);
|
||||
}
|
||||
}
|
||||
return (
|
||||
"" +
|
||||
(hour < 10 ? "0" + hour : hour) +
|
||||
":" +
|
||||
(min < 10 ? "0" + min : min) +
|
||||
":" +
|
||||
(sec < 10 ? "0" + sec : sec)
|
||||
);
|
||||
}
|
||||
// Handle Weather request
|
||||
function getWeather() {
|
||||
let xhr = new XMLHttpRequest();
|
||||
// Request to open weather map
|
||||
xhr.open(
|
||||
"GET",
|
||||
"http://api.openweathermap.org/data/2.5/weather?id=4737316&units=imperial&appid=e5b292ae2f9dae5f29e11499c2d82ece"
|
||||
);
|
||||
xhr.onload = () => {
|
||||
if (xhr.readyState === 4) {
|
||||
if (xhr.status === 200) {
|
||||
let json = JSON.parse(xhr.responseText);
|
||||
document.getElementById("temp").innerHTML =
|
||||
json.main.temp.toFixed(0) + " F";
|
||||
document.getElementById("weather-description").innerHTML =
|
||||
json.weather[0].description;
|
||||
} else {
|
||||
console.log("error msg: " + xhr.status);
|
||||
}
|
||||
xhr.send();
|
||||
// Set up the clock
|
||||
document.getElementById("clock").innerHTML = getTime();
|
||||
// Set clock interval to tick clock
|
||||
setInterval( () => {
|
||||
document.getElementById("clock").innerHTML = getTime();
|
||||
},100);
|
||||
}
|
||||
}
|
||||
};
|
||||
xhr.send();
|
||||
}
|
||||
// Handle writing out Bookmarks
|
||||
function setupBookmarks() {
|
||||
const bookmarkContainer = document.getElementById("bookmark-container");
|
||||
bookmarkContainer.innerHTML = bookmarks
|
||||
.map((b) => {
|
||||
const html = ["<div class='bookmark-set'>"];
|
||||
html.push(`<div class="bookmark-title">${b.title}</div>`);
|
||||
html.push('<div class="bookmark-inner-container">');
|
||||
html.push(
|
||||
...b.links.map(
|
||||
(l) =>
|
||||
`<a class="bookmark" href="${l.url}" target="_blank">${l.name}</a>`
|
||||
)
|
||||
);
|
||||
html.push("</div></div>");
|
||||
return html.join("");
|
||||
})
|
||||
.join("");
|
||||
}
|
||||
|
||||
document.addEventListener("keydown", event => {
|
||||
if (event.keyCode == 32) { // Spacebar code to open search
|
||||
document.getElementById('search').style.display = 'flex';
|
||||
document.getElementById('search-field').focus();
|
||||
} else if (event.keyCode == 27) { // Esc to close search
|
||||
document.getElementById('search-field').value = '';
|
||||
document.getElementById('search-field').blur();
|
||||
document.getElementById('search').style.display = 'none';
|
||||
}
|
||||
});
|
||||
window.onload = () => {
|
||||
setupBookmarks();
|
||||
getWeather();
|
||||
// Set up the clock
|
||||
document.getElementById("clock").innerHTML = getTime();
|
||||
// Set clock interval to tick clock
|
||||
setInterval(() => {
|
||||
document.getElementById("clock").innerHTML = getTime();
|
||||
}, 100);
|
||||
};
|
||||
|
||||
document.addEventListener("keyup", (event) => {
|
||||
if (event.keyCode == 32) {
|
||||
// Spacebar code to open search
|
||||
document.getElementById("search").style.display = "flex";
|
||||
document.getElementById("search-field").focus();
|
||||
} else if (event.keyCode == 27) {
|
||||
// Esc to close search
|
||||
document.getElementById("search-field").value = "";
|
||||
document.getElementById("search-field").blur();
|
||||
document.getElementById("search").style.display = "none";
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -72,7 +72,7 @@ body {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.bookmark-container {
|
||||
#bookmark-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
|
Loading…
Reference in New Issue
Block a user