Prototype links page
This commit is contained in:
parent
304e17ab66
commit
2061680593
7 changed files with 61 additions and 8 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -0,0 +1 @@
|
|||
ideas
|
||||
|
|
@ -103,6 +103,17 @@ footer {
|
|||
|
||||
/* widescreen */
|
||||
@media (min-width: 1000px) {
|
||||
.article {
|
||||
margin: 0 20%;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-left: 45px;
|
||||
}
|
||||
}
|
||||
|
||||
/* fullscreen */
|
||||
@media (min-width: 1500px) {
|
||||
.article {
|
||||
margin: 0 30%;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,22 +1,26 @@
|
|||
function get_data() {
|
||||
return {
|
||||
"pt": {
|
||||
"posts": [
|
||||
"posts": {
|
||||
"pt": [
|
||||
{
|
||||
"title": "Scripts em OCaml",
|
||||
"slug": "scripts-em-ocaml",
|
||||
"date": "23/03/2024"
|
||||
}
|
||||
]
|
||||
},
|
||||
"en": {
|
||||
"posts": [
|
||||
],
|
||||
"en": [
|
||||
{
|
||||
"title": "Meeting the BSD Family",
|
||||
"slug": "meeting-the-bsd-family",
|
||||
"date": "May 20, 2024"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"links": [
|
||||
{
|
||||
"title": "Capital Offense How to Handle Abbreviations in CamelCase - Approxion",
|
||||
"url": "https://www.approxion.com/capital-offenses-how-to-handle-abbreviations-in-camelcase/"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
18
assets/js/links.js
Normal file
18
assets/js/links.js
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
const data = get_data()
|
||||
|
||||
function populate_links() {
|
||||
data.links.forEach(link => {
|
||||
const links = document.getElementById('links')
|
||||
links.innerHTML = ''
|
||||
const item = document.createElement('li')
|
||||
const anchor = document.createElement('a')
|
||||
anchor.innerText = link.title
|
||||
anchor.href = link.url
|
||||
item.appendChild(anchor)
|
||||
links.appendChild(item)
|
||||
})
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
populate_links()
|
||||
})
|
||||
|
|
@ -4,7 +4,7 @@ const userLang = navigator.language || navigator.userLanguage
|
|||
let lang = userLang.includes('pt') ? 'pt' : 'en'
|
||||
|
||||
function populate_posts() {
|
||||
data[lang].posts.forEach(post => {
|
||||
data.posts[lang].forEach(post => {
|
||||
const posts = document.getElementById('nav-posts')
|
||||
posts.innerHTML = ''
|
||||
const item = document.createElement('li')
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@
|
|||
<li><a id="nav-menu-home" href="https://jutty.dev">Home</a></li>
|
||||
<li><a id="lang-swap-en" href="#">English</a></li>
|
||||
<li><a id="lang-swap-pt" href="#">Português</a></li>
|
||||
<!--li><a id="nav-menu-links" href="pages/links.html">Links</a></li-->
|
||||
<li><a id="nav-menu-rss" href="https://blog.jutty.dev/assets/rss/en.rss">RSS</a></li>
|
||||
<li><a href="https://mastodon.bsd.cafe/@jutty">Mastodon</a></li>
|
||||
</ul>
|
||||
|
|
|
|||
18
pages/links.html
Normal file
18
pages/links.html
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="pt-BR">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>links • jutty.dev</title>
|
||||
<link href="../assets/css/style.css" rel="stylesheet">
|
||||
<!--link rel="alternate" type="application/rss+xml" title="RSS (Links)" href="https://blog.jutty.dev/assets/rss/links.rss"/-->
|
||||
<link rel="icon" type="image/ico" href="../assets/img/favicon.ico">
|
||||
<script src="../assets/js/data.js"></script>
|
||||
<script src="../assets/js/links.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<main id="main" style="margin-top: 50px">
|
||||
<ul id="links"></ul>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue