* chore: upgrade ESLint to v9 and update configurations
Upgrade ESLint and configure and update ESLint rules.
* refactor: update code to comply with new ESLint v9 rules
Add trailing slash to links for improved consistency with RSS links and to avoid unnecessary redirects.
---------
Co-authored-by: satnaing <satnaingdev@gmail.com>
Update back button in PostDetails.astro to redirect to home page when
there's no route history.
If a blog post url is pasted in the browser and there's no route history
,prior to this commit, back button did not work as expected.
Now, if there's somewhere to go back, the back button will go back to the
previous route.
If not, the back button will redirect to home page.
* Add share links
* refactor: update and rename Sharebutton to ShareLinks
- rename SOCIALS to shareLinks to avoid confusion with `src/config.ts > SOCIALS`
- fix type error related with shareLinks
- add `linkTitle` in shareLinks for better accessibility
- update styles to looks good in all devices
* refactor: place ShareLinks next to `back to top`
- place ShareLinks at the bottom (next to `back to top`)
- update styles for ShareLinks and Back to Top button
---------
Co-authored-by: Sat Naing <satnaingdev@gmail.com>
* feat: copy button on snippet code
* refactor: update func name, styles and refactor backToTop
Rename the function name `copyButton` to `attachCopyButtons`. Update copy button styles. Fix broken `backToTop` function by attaching `astro:after-swap` event listener.
---------
Co-authored-by: Sat Naing <satnaingdev@gmail.com>
* feat: add pagination in tag posts
Implement pagination in tag posts. Refactor and extract pagination logic and pagination component.
Closes: #152
* fix: update breadcrumbs for updated tag pagination
Update slugified titles to be unslugified in the tag page. This is for better SEO and better a11y. Url and tag elelemnts will still be slugified.
Closes: #179
* feat: add modified datetime in blog posts
Add modDatetime in blogSchema. Update Datetime component to accept modDatetime. Update sorting logic. Rename datetime to pubDatetime in Datetime component.
Closes: #134
* feat: add published_time & modified_time meta tags
* docs: update related blog posts to be up-to-date
* fix: remove extra spaces in breadcrumbs
* feat: use predictable slug for card transition
* feat: enable view transitions in search card
* refactor: use Card.tsx instead of Card.astro
* refactor: handle card styling in component
* refactor: remove unused class name
---------
Co-authored-by: Sat Naing <satnaingdev@gmail.com>
* feat: generate og images in png format
In production mode, generate og images from svg to png format.
fix#40
* refactor: update og image format from svg to png
Update OG image format in post detail to png. Update twitter og images to auto-generated dynamic og
images.
Move theme switch js codes in Layout.astro file to external js file (toggle-theme.js). Update
.prettierignore to exclude the new toggle-theme.js file. Update base.css for new data-theme
attribute.