refactor: separate rss and atom generation, optimize back button logic (#22)

* refactor: separate rss and atom generation, optimize back button logic, remove redundant whitespace in component styles

* fix:  add missing <published> tag in atom feed
This commit is contained in:
radishzz 2025-05-10 04:37:20 +01:00 committed by GitHub
parent 4b05ba9caf
commit fc1cc050bc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 576 additions and 418 deletions

View file

@ -6,7 +6,7 @@ import GoBackIcon from '@/assets/icons/go-back.svg';
id="back-button"
class="hidden"
lg="block absolute c-secondary/40 left--10 top-1/2 aspect-square w-4.5 translate-y--1/2 transition-colors ease-out c-secondary active:scale-90 hover:c-primary/80"
aria-label="Back to home"
aria-label="Go back"
>
<GoBackIcon
aria-hidden="true"
@ -21,16 +21,9 @@ function setupBackButton() {
if (window.history.length > 1) {
window.history.back()
}
else {
// Click site title link to trigger view transition when no history
const titleLink = document.getElementById('site-title-link') as HTMLAnchorElement
if (titleLink) {
titleLink.click()
}
}
})
}
setupBackButton()
document.addEventListener('astro:page-load', setupBackButton)
document.addEventListener('astro:after-swap', setupBackButton)
</script>

View file

@ -82,11 +82,9 @@ const filteredHeadings = headings.filter(heading =>
.toc-title {
--at-apply: 'font-semibold ml-4 select-none 2xl:hidden';
}
.toc-list {
--at-apply: 'list-none pl-0 space-y-2 mt-1 mb-4 2xl:space-y-1.2';
}
.toc-link-h2, .toc-link-h3, .toc-link-h4 {
--at-apply: 'text-sm no-underline font-normal text-balance select-none 2xl:(text-3.2 c-secondary/60 transition-colors ease-in hover:(c-secondary font-medium))';
}
@ -95,7 +93,6 @@ const filteredHeadings = headings.filter(heading =>
.accordion-wrapper {
--at-apply: 'grid rows-[0fr] duration-300 ease-in-out';
}
.accordion-content {
--at-apply: 'overflow-hidden max-h-66 2xl:(max-h-[calc(100vh-21.5rem)]) pl-4 pr-6';
}
@ -104,7 +101,6 @@ const filteredHeadings = headings.filter(heading =>
.accordion-toggle:checked ~ .accordion-wrapper {
grid-template-rows: 1fr;
}
.accordion-toggle:checked ~ .accordion-wrapper .accordion-content {
--at-apply: 'overflow-y-auto';
}
@ -113,19 +109,15 @@ const filteredHeadings = headings.filter(heading =>
.accordion-wrapper {
grid-template-rows: 1fr;
}
.accordion-toggle:checked ~ .accordion-wrapper {
grid-template-rows: 0fr;
}
.accordion-content {
--at-apply: 'overflow-y-auto';
}
.accordion-toggle:checked ~ .accordion-wrapper .accordion-content {
--at-apply: 'overflow-hidden';
}
.toc-link-active {
--at-apply: 'c-secondary font-medium';
}