- Add v2 badge-style option as alternative to v1 tab-style
- v2 features: border, rounded corners, positioned with CSS custom property
- v1 features: tab-style with rounded top corners, muted background
- Add hideDot option to control green dot indicator visibility
- Include comprehensive JSDoc documentation with usage examples
- Support both styling variants with configuration parameters
- Bump @tailwindcss/vite, astro, and tailwindcss to 4.1.11, 5.11.0, and 4.1.11 respectively.
- Upgrade eslint, prettier, and related packages to their latest versions.
- Update typescript-eslint packages to 8.36.0 for improved compatibility.
* fix: disable ts check for tailwindcss plugin
* fix: adjust list item formatting in tailwind typography example
* refactor: update tailwind typography css overrides
Update TailwindCSS typography overrides to use less
`important`; and update selectors to make them easier
to read.
* refactor: update focus styles to be consistent
Nested blog post URLs in the prev/next links were not
updated properly, which resulted in 404 error pages.
This commit updates the outdated URLs to the correct paths.
Set meta theme-color value before page transition
to avoid navigation bar color flickering in Android
dark mode.
---------
Co-authored-by: satnaing <satnaingdev@gmail.com>
Update back-to-top button to accommodate properly,
even if the max-width of the blog post is updated.
Uses `fixed` position on mobile and `sticky` position
on large screens.
* refactor: extract redundant max-width into utility
Extract redundant max-width into a universal tailwind
utility class. By doing so, the width of the layout
in different pages can be customized easily.
* docs: update docs for modifying `max-w-app` utility
Specify pnpm version in both `package.json` and
`ci.yml` to avoid build errors during deployment.
---------
Closes#512
Co-authored-by: satnaing <satnaingdev@gmail.com>
Add types for `constants` to avoid type errors
when either `SOCIALS` or `SHARE_LINKS` is empty.
---------
Co-authored-by: satnaing <satnaingdev@gmail.com>
* fix: update heading title to be smaller on mobile
* fix: vertical alignment in heading title
---------
Co-authored-by: satnaing <satnaingdev@gmail.com>
* refactor: replace embedded svg with svg icon
* feat: add global and per-post timezone support
- add `SITE.timezone` in config to define a global default timezone.
- allow per-post timezone overrides via `timezone` in frontmatter.
- update date formatting logic to use the correct timezone when rendering timestamps.
- ensure that posts without a timezone fallback to `SITE.timezone`.
- improve consistency between local and deployed timezones.
* refactor: replace `LOCALE` constant with `SITE.lang`
* docs: update guides
* fix: update code word-break inside markdown table
Closes#466
* fix: broken editPost link and update editPost logic
Fixed broken editPost link. Removed the ability to update
the editPost link inside each blog post for consistency.
The editPost button per blog post can still be hidden.
* docs: update docs for editPost
Horizontal overflow occurs when a code block in markdown
table is too long. This is prevented by adding line breaks
(`break-all`) in codes inside table.
Blog posts can now be structured into subdirectories, which determine their slugs.
Example:
- `/src/data/blog/2025/testing.md` → `/posts/2025/testing`
Directories prefixed with `_` will be excluded from the slug.
Example:
- `/src/data/blog/_examples/tailwind-typography.md` → `/posts/tailwind-typography`
Closes#470, #366