diff --git a/README.md b/README.md index 5dd1afb..a76b889 100644 --- a/README.md +++ b/README.md @@ -11,4 +11,5 @@ A bare-bones personal website relying only on simple scripts. - [ ] Create a custom syntax highlighting style - See: - [x] Add an RSS feed + - [ ] Links RSS feed - [ ] Add tags diff --git a/assets/js/data.js b/assets/js/data.js index 3505086..fe5e62e 100644 --- a/assets/js/data.js +++ b/assets/js/data.js @@ -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" } ] } diff --git a/assets/js/links.js b/assets/js/links.js index 03562e3..b36a7b8 100644 --- a/assets/js/links.js +++ b/assets/js/links.js @@ -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() }) diff --git a/assets/js/main-l10n.js b/assets/js/main-l10n.js new file mode 100644 index 0000000..5907a87 --- /dev/null +++ b/assets/js/main-l10n.js @@ -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() +}) diff --git a/assets/js/main.js b/assets/js/main.js index 55c8680..ef5e7c0 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -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() }) diff --git a/assets/js/post-l10n.js b/assets/js/post-l10n.js index f69b4ed..7016445 100644 --- a/assets/js/post-l10n.js +++ b/assets/js/post-l10n.js @@ -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') diff --git a/index.html b/index.html index 56487a5..813faec 100644 --- a/index.html +++ b/index.html @@ -9,6 +9,7 @@ + @@ -35,7 +36,7 @@
  • Home
  • English
  • Português
  • - +
  • Links
  • RSS
  • Mastodon
  • diff --git a/pages/links.html b/pages/links.html index 28073c8..0f7c166 100644 --- a/pages/links.html +++ b/pages/links.html @@ -8,6 +8,7 @@ + @@ -15,4 +16,12 @@ +