diff --git a/assets/css/main.css b/assets/css/main.css index 7c163a5..674fa87 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -258,7 +258,7 @@ li .dropdown-item-mobile { .hero-card.left-1 a:hover, .hero-card.left-1 a:active { - color: var(--color-accent); + color: var(--color-link); } .hero-card.left-1 svg { @@ -271,7 +271,7 @@ li .dropdown-item-mobile { .hero-card.right-1 svg:hover, .hero-card.right-1 svg:active{ - color: var(--color-accent); + color: var(--color-link); } .left-1 { @@ -399,6 +399,7 @@ li .dropdown-item-mobile { } .btn-secondary:hover, .btn-secondary:active { + text-decoration: none !important; color: var(--color-primary-button-dark) !important; background-color: transparent !important; border-color: var(--color-primary-button-dark); @@ -460,6 +461,90 @@ footer { outline: none; } +/* ======================== + News + ======================== */ +.feed-section #feed { + margin: 2rem auto; + padding: 1rem; + display: flex; + flex-wrap: wrap; + gap: 2rem; + justify-content: center; +} + +.page { + max-width: 80%; + margin: 0 auto; +} + +.feed-heading { + font-size: 2.5rem; + margin-top: 0; + display: block; + width: max-content; + margin-left: auto; + margin-right: auto; + color: var(--color-text); + background-color: var(--color-accent); + border-radius: 8px; + padding: 5px 10px; + box-shadow: 0 4px 0 0 var(--color-text); +} + +.dark .feed-heading { + color: var(--color-text-dark); + box-shadow: 0 4px 0 0 var(--color-off); +} + +.feed-entry { + flex: 0 1 calc(50% - 2rem); + box-sizing: border-box; + background-color: var(--color-off); + border: 1px solid var(--color-text); + border-radius: 20px; + box-shadow: 0 4px 0 0 var(--color-text); + padding: 1.5rem; + display: flex; + flex-direction: column; + justify-content: space-between; +} + +.page .feed-entry { + margin-bottom: 2rem; +} + +.feed-content { + font-size: 1rem; + line-height: 1.6; + margin-bottom: 0.75rem; + overflow: hidden; + display: -webkit-box; + -webkit-line-clamp: 4; + -webkit-box-orient: vertical; + text-overflow: ellipsis; +} + +.page .feed-content { + overflow: visible !important; + display: block !important; + -webkit-line-clamp: unset !important; + -webkit-box-orient: unset !important; + text-overflow: unset !important; + white-space: normal !important; +} + +.feed-content a { + color: var(--color-link); + text-decoration: none; + transition: color 0.3s; +} + +.feed-content a:hover { + color: var(--color-link); + text-decoration: underline; +} + /* ======================== 404 Error Page ======================== */ @@ -529,7 +614,7 @@ footer { padding: 0 !important; } - .ese-section .card-body { + .ese-section .card-body .page { max-width: 100%; } } @@ -557,4 +642,10 @@ footer { .hero-section p { font-size: 1.1rem; } +} + +@media (max-width: 768px) { + .feed-entry { + flex: 0 1 100%; + } } \ No newline at end of file diff --git a/assets/icons/heading-icons/account_balance.svg b/assets/icons/heading-icons/account_balance.svg new file mode 100644 index 0000000..5d6cc6c --- /dev/null +++ b/assets/icons/heading-icons/account_balance.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/account_circle.svg b/assets/icons/heading-icons/account_circle.svg new file mode 100644 index 0000000..dc26bc8 --- /dev/null +++ b/assets/icons/heading-icons/account_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/alternate_email.svg b/assets/icons/heading-icons/alternate_email.svg new file mode 100644 index 0000000..67ffefb --- /dev/null +++ b/assets/icons/heading-icons/alternate_email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/assignment.svg b/assets/icons/heading-icons/assignment.svg new file mode 100644 index 0000000..cc3d765 --- /dev/null +++ b/assets/icons/heading-icons/assignment.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/attach_file.svg b/assets/icons/heading-icons/attach_file.svg new file mode 100644 index 0000000..57a8105 --- /dev/null +++ b/assets/icons/heading-icons/attach_file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/book.svg b/assets/icons/heading-icons/book.svg new file mode 100644 index 0000000..43c510a --- /dev/null +++ b/assets/icons/heading-icons/book.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/bookmark.svg b/assets/icons/heading-icons/bookmark.svg new file mode 100644 index 0000000..4c2096f --- /dev/null +++ b/assets/icons/heading-icons/bookmark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/campaign.svg b/assets/icons/heading-icons/campaign.svg new file mode 100644 index 0000000..d2bcc32 --- /dev/null +++ b/assets/icons/heading-icons/campaign.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/category.svg b/assets/icons/heading-icons/category.svg new file mode 100644 index 0000000..3dc59f1 --- /dev/null +++ b/assets/icons/heading-icons/category.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/celebration.svg b/assets/icons/heading-icons/celebration.svg new file mode 100644 index 0000000..c2dcf49 --- /dev/null +++ b/assets/icons/heading-icons/celebration.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/charger.svg b/assets/icons/heading-icons/charger.svg new file mode 100644 index 0000000..36961cd --- /dev/null +++ b/assets/icons/heading-icons/charger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/cloud.svg b/assets/icons/heading-icons/cloud.svg new file mode 100644 index 0000000..8affe8c --- /dev/null +++ b/assets/icons/heading-icons/cloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/computer.svg b/assets/icons/heading-icons/computer.svg new file mode 100644 index 0000000..e1db219 --- /dev/null +++ b/assets/icons/heading-icons/computer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/drafts.svg b/assets/icons/heading-icons/drafts.svg new file mode 100644 index 0000000..95b05cd --- /dev/null +++ b/assets/icons/heading-icons/drafts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/eco.svg b/assets/icons/heading-icons/eco.svg new file mode 100644 index 0000000..b8f1c96 --- /dev/null +++ b/assets/icons/heading-icons/eco.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/experiment.svg b/assets/icons/heading-icons/experiment.svg new file mode 100644 index 0000000..7632f72 --- /dev/null +++ b/assets/icons/heading-icons/experiment.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/explore.svg b/assets/icons/heading-icons/explore.svg new file mode 100644 index 0000000..45da5d5 --- /dev/null +++ b/assets/icons/heading-icons/explore.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/folder_open.svg b/assets/icons/heading-icons/folder_open.svg new file mode 100644 index 0000000..7f45262 --- /dev/null +++ b/assets/icons/heading-icons/folder_open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/group.svg b/assets/icons/heading-icons/group.svg new file mode 100644 index 0000000..8c79887 --- /dev/null +++ b/assets/icons/heading-icons/group.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/handyman.svg b/assets/icons/heading-icons/handyman.svg new file mode 100644 index 0000000..fb06586 --- /dev/null +++ b/assets/icons/heading-icons/handyman.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/history.svg b/assets/icons/heading-icons/history.svg new file mode 100644 index 0000000..18d61dd --- /dev/null +++ b/assets/icons/heading-icons/history.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/how_to_vote.svg b/assets/icons/heading-icons/how_to_vote.svg new file mode 100644 index 0000000..1f0e9bf --- /dev/null +++ b/assets/icons/heading-icons/how_to_vote.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/language.svg b/assets/icons/heading-icons/language.svg new file mode 100644 index 0000000..b3a5042 --- /dev/null +++ b/assets/icons/heading-icons/language.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/library_books.svg b/assets/icons/heading-icons/library_books.svg new file mode 100644 index 0000000..f80e557 --- /dev/null +++ b/assets/icons/heading-icons/library_books.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/lightbulb.svg b/assets/icons/heading-icons/lightbulb.svg new file mode 100644 index 0000000..119e4ba --- /dev/null +++ b/assets/icons/heading-icons/lightbulb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/location_on.svg b/assets/icons/heading-icons/location_on.svg new file mode 100644 index 0000000..812356d --- /dev/null +++ b/assets/icons/heading-icons/location_on.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/mail.svg b/assets/icons/heading-icons/mail.svg new file mode 100644 index 0000000..3e1ed17 --- /dev/null +++ b/assets/icons/heading-icons/mail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/newsstand.svg b/assets/icons/heading-icons/newsstand.svg new file mode 100644 index 0000000..dd89ba0 --- /dev/null +++ b/assets/icons/heading-icons/newsstand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/paid.svg b/assets/icons/heading-icons/paid.svg new file mode 100644 index 0000000..ec3dbfc --- /dev/null +++ b/assets/icons/heading-icons/paid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/person.svg b/assets/icons/heading-icons/person.svg new file mode 100644 index 0000000..51e0101 --- /dev/null +++ b/assets/icons/heading-icons/person.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/print.svg b/assets/icons/heading-icons/print.svg new file mode 100644 index 0000000..ebb34e0 --- /dev/null +++ b/assets/icons/heading-icons/print.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/public.svg b/assets/icons/heading-icons/public.svg new file mode 100644 index 0000000..e7a8713 --- /dev/null +++ b/assets/icons/heading-icons/public.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/rocket_launch.svg b/assets/icons/heading-icons/rocket_launch.svg new file mode 100644 index 0000000..6be88a5 --- /dev/null +++ b/assets/icons/heading-icons/rocket_launch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/school.svg b/assets/icons/heading-icons/school.svg new file mode 100644 index 0000000..f9afa7c --- /dev/null +++ b/assets/icons/heading-icons/school.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/share.svg b/assets/icons/heading-icons/share.svg new file mode 100644 index 0000000..5e60196 --- /dev/null +++ b/assets/icons/heading-icons/share.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/sms.svg b/assets/icons/heading-icons/sms.svg new file mode 100644 index 0000000..c620fc0 --- /dev/null +++ b/assets/icons/heading-icons/sms.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/sports_esports.svg b/assets/icons/heading-icons/sports_esports.svg new file mode 100644 index 0000000..a1b0df9 --- /dev/null +++ b/assets/icons/heading-icons/sports_esports.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/star.svg b/assets/icons/heading-icons/star.svg new file mode 100644 index 0000000..b8258f1 --- /dev/null +++ b/assets/icons/heading-icons/star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/wand_stars.svg b/assets/icons/heading-icons/wand_stars.svg new file mode 100644 index 0000000..8fe8341 --- /dev/null +++ b/assets/icons/heading-icons/wand_stars.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/heading-icons/weblink.svg b/assets/icons/heading-icons/weblink.svg new file mode 100644 index 0000000..4ae3649 --- /dev/null +++ b/assets/icons/heading-icons/weblink.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/link.svg b/assets/icons/home-link.svg similarity index 100% rename from assets/icons/link.svg rename to assets/icons/home-link.svg diff --git a/assets/js/main.js b/assets/js/main.js index d4c5f59..54b2011 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -35,7 +35,7 @@ document.addEventListener("DOMContentLoaded", () => { // update on change const observer = new MutationObserver(updateBodyThemeAttr); - observer.observe(document.documentElement, { attributes: true, attributeFilter: ["class"] }); + observer.observe(document.documentElement, {attributes: true, attributeFilter: ["class"]}); prefersDarkScheme.addEventListener("change", () => { updateBodyThemeAttr(); @@ -45,7 +45,7 @@ document.addEventListener("DOMContentLoaded", () => { /* ======================== Details Toggle ======================== */ -window.toggleDetails = function(element) { +window.toggleDetails = function (element) { element.classList.toggle('expanded'); const plusIcon = element.querySelector('.icon-plus'); @@ -55,4 +55,20 @@ window.toggleDetails = function(element) { plusIcon.style.display = isExpanded ? 'none' : 'inline'; minusIcon.style.display = isExpanded ? 'inline' : 'none'; -}; \ No newline at end of file +}; + +fetch('https://api.rss2json.com/v1/api.json?rss_url=https://toot.kif.rocks/@ifsr.rss') + .then(res => res.json()) + .then(data => { + const container = document.getElementById('feed'); + data.items.slice(0, 5).forEach(item => { + const cleanedContent = item.content.replace(/