Finalize links page

This commit is contained in:
jultty 2024-06-05 15:39:28 -03:00
commit 37295bacfe
8 changed files with 89 additions and 52 deletions

View file

@ -19,7 +19,8 @@ function get_data() {
"links": [
{
"title": "Capital Offense How to Handle Abbreviations in CamelCase - Approxion",
"url": "https://www.approxion.com/capital-offenses-how-to-handle-abbreviations-in-camelcase/"
"url": "https://www.approxion.com/capital-offenses-how-to-handle-abbreviations-in-camelcase/",
"date": "23/03/2024"
}
]
}

View file

@ -6,13 +6,21 @@ function populate_links() {
links.innerHTML = ''
const item = document.createElement('li')
const anchor = document.createElement('a')
const date = document.createElement('span')
anchor.innerText = link.title
anchor.href = link.url
date.innerText = `${parse_date(link.date)} - `
item.appendChild(date)
item.appendChild(anchor)
links.appendChild(item)
})
}
function parse_date(date) {
current_year = new Date().getFullYear()
return date.replace(`/${current_year}`, '')
}
document.addEventListener('DOMContentLoaded', () => {
populate_links()
})

67
assets/js/main-l10n.js Normal file
View file

@ -0,0 +1,67 @@
const userLang = navigator.language || navigator.userLanguage
let lang = userLang.includes('pt') ? 'pt' : 'en'
function localize_menu() {
const home = document.getElementById('nav-menu-home')
const rss = document.getElementById('nav-menu-rss')
if (lang == 'pt') {
if (home) home.innerText = 'Início'
if (rss) rss.setAttribute('href', 'assets/rss/pt.rss')
} else {
if (home) home.innerText = 'Home'
if (rss) rss.setAttribute('href', 'assets/rss/en.rss')
}
}
function localize_navigation() {
const skip = document.getElementById('a11y-skip')
const post_list = document.getElementById('nav-posts')
if (lang == 'pt') {
if (skip) skip.innerText = 'Saltar para o conteúdo principal'
if (post_list) post_list.ariaLabel = 'Listagem de todas as postagens'
} else {
if (skip) skip.innerText = 'Skip to main content'
if (post_list) post_list.ariaLabel = 'Listing of all posts'
}
}
function localize_footer() {
const footer_back = document.getElementById('footer-back-link')
if (footer_back) {
if (lang == 'pt') {
footer_back.innerText = 'Voltar'
} else {
footer_back.innerText = 'Back'
}
}
}
const en_lang_swapper = document.getElementById('lang-swap-en')
const pt_lang_swapper = document.getElementById('lang-swap-pt')
if (en_lang_swapper) {
en_lang_swapper.addEventListener("click", () => {
lang = 'en'
populate_posts()
localize_navigation()
localize_menu()
})
}
if (pt_lang_swapper) {
pt_lang_swapper.addEventListener("click", () => {
lang = 'pt'
populate_posts()
localize_navigation()
localize_menu()
})
}
document.addEventListener('DOMContentLoaded', () => {
localize_navigation()
localize_menu()
localize_footer()
})

View file

@ -1,8 +1,5 @@
const data = get_data()
const userLang = navigator.language || navigator.userLanguage
let lang = userLang.includes('pt') ? 'pt' : 'en'
function populate_posts() {
data.posts[lang].forEach(post => {
const posts = document.getElementById('nav-posts')
@ -25,51 +22,6 @@ function parse_date(date) {
.replace(`/${current_year}`, '')
}
function localize_menu() {
const home = document.getElementById('nav-menu-home')
const rss = document.getElementById('nav-menu-rss')
if (lang == 'pt') {
home.innerText='Início'
rss.setAttribute('href', 'assets/rss/pt.rss')
} else {
home.innerText='Home'
rss.setAttribute('href', 'assets/rss/en.rss')
}
}
function localize_navigation() {
const skip = document.getElementById('a11y-skip')
const post_list = document.getElementById('nav-posts')
if (lang == 'pt') {
skip.innerText = 'Saltar para o conteúdo principal'
post_list.ariaLabel = 'Listagem de todas as postagens'
} else {
skip.innerText = 'Skip to main content'
post_list.ariaLabel = 'Listing of all posts'
}
}
const en_lang_swapper = document.getElementById('lang-swap-en')
const pt_lang_swapper = document.getElementById('lang-swap-pt')
en_lang_swapper.addEventListener("click", () => {
lang = 'en'
populate_posts()
localize_navigation()
localize_menu()
})
pt_lang_swapper.addEventListener("click", () => {
lang = 'pt'
populate_posts()
localize_navigation()
localize_menu()
})
document.addEventListener('DOMContentLoaded', () => {
populate_posts()
localize_navigation()
localize_menu()
})

View file

@ -1,8 +1,6 @@
const userLang = navigator.language || navigator.userLanguage
let lang = userLang.includes('pt') ? 'pt' : 'en'
console.log('post-l10n.js loaded:', lang)
if (lang == 'pt') {
const footer_back = document.getElementById('footer-back-link')
const author_pre = document.getElementById('author-pre-text')