Commit Graph

119 Commits

Author SHA1 Message Date
Qihan a5c1bdb301 add: eBPF不只是可观测性 2026-08-10 14:49:52 +00:00
Qihan 62d302c5fc rename to 中文文件名 2026-08-10 14:49:48 +00:00
Qihan 3cd0fd2d9d add: eBPF 实战笔记文章 2026-08-10 14:47:34 +00:00
Qihan 79019dc882 remove: 旧文件名,替换为英文文件名+去除emoji 2026-08-10 14:46:57 +00:00
Qihan d112adfb58 add: eBPF 实战笔记文章 2026-08-10 14:44:18 +00:00
Qihan b13f4e67bb Update Debian12安装教程.mdx 2026-07-04 17:03:26 +08:00
Qihan ceb1b636bd Update Debian12安装教程.mdx 2026-07-04 17:01:02 +08:00
Qihan 27ee0211fd Rename Debian12 to Debian12安装教程.mdx 2026-07-04 17:00:38 +08:00
Qihan a9efdd99cf Create Debian12 2026-07-04 17:00:18 +08:00
Qihan 4286e0c020 Create 所有HTTP状态码含义及常见错误码的解决方法.mdx 2026-06-14 14:19:13 +08:00
Qihan 5c0dc4c236 Update about.md 2026-06-14 13:50:41 +08:00
Qihan 907e867460 Update about.md 2026-06-14 11:21:54 +08:00
Qihan 49c49262f0 Update about.md 2026-06-14 11:16:06 +08:00
Qihan e4287fa6bf Update 怎么快速备战会考.mdx 2026-06-14 00:11:00 +08:00
Qihan 43ef41547c Update 怎么快速备战会考.mdx 2026-06-14 00:10:29 +08:00
Qihan 6926ab2119 Update 怎么快速备战会考.mdx 2026-06-14 00:03:33 +08:00
Qihan 6921f4d937 Create 怎么快速备战会考.mdx 2026-06-13 23:51:04 +08:00
Qihan e5b354cda7 Update about.md 2026-06-13 18:32:00 +08:00
Qihan abb9ded945 Delete src/content/posts directory 2026-06-13 16:30:25 +08:00
Qihan acc334b648 Create 你好,世界.md 2026-06-13 15:45:58 +08:00
Qihan c5883a6db3 Delete src/content/posta 2026-06-13 15:44:10 +08:00
Qihan fc3526a8aa Create posta 2026-06-13 15:43:57 +08:00
Qihan 51b63ebfa1 Delete src/content/posts/_color-schemes directory 2026-06-13 15:43:06 +08:00
Qihan c8cb70a758 Delete src/content/posts/_releases directory 2026-06-13 15:42:54 +08:00
Qihan 79ebd6437c Delete src/content/posts/examples/terminal-development.md 2026-06-13 15:41:57 +08:00
Qihan f74f7f40fc Delete src/content/posts/examples/tailwind-typography.md 2026-06-13 15:41:50 +08:00
Qihan b05c8859b5 Delete src/content/posts/examples/portfolio-website-development.md 2026-06-13 15:41:41 +08:00
Qihan 28094127d7 Delete src/content/posts/examples/example-draft-post.md 2026-06-13 15:41:12 +08:00
Qihan a2a966fe74 Delete src/content/posts/setting-dates-via-git-hooks.md 2026-06-13 15:36:28 +08:00
Qihan 5af2d074c3 Delete src/content/posts/how-to-update-dependencies.md 2026-06-13 15:36:20 +08:00
Qihan 91ece26a4c Delete src/content/posts/how-to-integrate-giscus-comments.md 2026-06-13 15:36:11 +08:00
Qihan 9fae94b2ed Delete src/content/posts/how-to-configure-astropaper-theme.mdx 2026-06-13 15:35:36 +08:00
Qihan dd27de2aff Delete src/content/posts/how-to-add-latex-equations-in-blog-posts.md 2026-06-13 15:35:28 +08:00
Qihan 859e945f36 Delete src/content/posts/dynamic-og-images.md 2026-06-13 15:35:19 +08:00
Qihan 8f076aaf89 Delete src/content/posts/customizing-astropaper-theme-color-schemes.mdx 2026-06-13 15:35:08 +08:00
Qihan f108517889 Delete src/content/posts/adding-new-post.mdx 2026-06-13 15:34:57 +08:00
Qihan a00de7ee87 Update about.md 2026-06-13 15:27:17 +08:00
Qihan ace2c32c54 Update about.md 2026-06-13 15:24:12 +08:00
Qihan b57caa3637 Update about.md 2026-06-13 15:23:59 +08:00
Sat Naing e0506cb41e feat: add callout support (#655)
* feat: toggle .dark class on theme change

* feat: add callouts with rehype-callouts plugin

* docs: update blog posts with callouts
2026-06-06 09:09:08 +07:00
Sat Naing f0b644de3a feat!: AstroPaper v6 (#631)
* feat: add initial configuration and social icons for AstroPaper theme

* feat: add theme styles and design tokens

* chore: configure Astro with sitemap, i18n, fonts, and tooling

- Set site URL, i18n (single locale, no prefix), sitemap integration
- Add Google Sans Code font via stable fonts API
- Configure Shiki dual-theme markdown (min-light / night-owl)
- Fix astro-paper.config.ts to use relative import (alias not
  available when Vite loads root-level config files)
- Add @astrojs/sitemap and @typescript-eslint/parser dependencies
- Wire @typescript-eslint/parser into ESLint so TypeScript syntax
  in Astro frontmatter (type Props, etc.) parses correctly

* feat: add base styles, dark variant, and typography

- global.css: dark variant via [data-theme], base layer for * / a /
  button selectors, scrollbar tokens, layout utilities (max-w-app,
  app-layout), active-nav as @utility for Tailwind variant support
- html and body classes moved directly onto elements in BaseLayout
  (Tailwind-native approach) so only truly global selectors remain here
- typography.css: prose overrides, Shiki light/dark code block
  switching, diff/highlight/word-highlight transformer styles

* feat: add i18n types, English strings, and useTranslations helper

Plain typed object approach — no third-party i18n library needed.
Paraglide.js was considered but requires SSR output (hard blocker
for a static Astro site).

- UIStrings interface with nav, post, pagination, and a11y groups
- en.ts with `satisfies UIStrings` for literal-type preservation
- useTranslations(locale) helper falls back to English automatically

Adding a new language is a one-file addition; full routing stays
as a registry add-on.

* feat: add client-side theme toggle script

- Reads window.__theme.value set by the inline FOUC-prevention script
  to avoid re-detecting the theme on first load
- Toggles data-theme on <html> and persists to localStorage
- Fills <meta name="theme-color"> with the computed background colour
  so Android's browser chrome matches the page
- Re-runs setup on astro:after-swap for View Transitions navigation
- Carries theme-color across astro:before-swap to prevent navbar
  flicker on Android during page transitions
- Syncs with OS prefers-color-scheme changes at runtime

* feat: add BaseLayout and PostLayout

BaseLayout (replaces scaffold Layout.astro):
- Font, canonical URL via Astro.site, RSS autodiscovery
- FOUC-prevention inline script sets data-theme before first paint
  and exposes window.__theme.value for theme.ts to reuse
- html/body classes on elements directly (Tailwind-native)
- <slot name="head"> for child layout injection
- ClientRouter for View Transitions (respects lightAndDarkMode flag)
- googleVerification rendered from config instead of .env — it is a
  public string, not a secret, and not environment-specific

PostLayout (new):
- Wraps BaseLayout; injects article-specific head content via slot
- Overrides og:type to "article"
- Adds article:published_time / article:modified_time conditionally
- JSON-LD BlogPosting with conditional datePublished/dateModified
  (fixes old bug where absent dates produced "undefined" string)
- Structured data only on actual post pages (not home/archives/tags)

SiteConfig: add optional googleVerification field

* chore: replace scaffold index page with BaseLayout placeholder

* feat: add Header component

* feat: add Footer and Socials component

* chore: install dayjs, slugify, zod, @astrojs/mdx and add MDX integration

* feat: add resolved config that applies defaults in one place

Defaults for posts, features, socials, and shareLinks are merged in
src/config.ts so all consuming code gets non-optional types with no
scattered ?? fallbacks.

* feat: add content schema, blog path, and post utilities

Renames collection blog→posts, moves content to src/content/posts/,
adds .mdx support, and adds a typed pages collection. Includes
getSortedPosts, postFilter, getPath, and slugify utilities.

* feat: add Datetime and Card components

* refactor: switch layouts and components to resolved config

Replaces @/astro-paper.config imports with @/config and removes
optional chaining on feature flags now that the resolved config
guarantees non-optional values.

* feat: add home and footer i18n strings

* feat: implement home page with hero, featured, and recent posts

Replaces the BaseLayout placeholder with the full index page:
hero section with RSS link and social links, featured posts section,
recent posts capped at posts.perIndex, and an All Posts link. All
section labels come from i18n.

* feat: add pagination component

* feat: add Breadcrumb component with locale support

* feat: add Main component

* refactor: update code formatting in Card.astro

* feat: add posts page

* fix: add missing @astrojs/mdx dependency

* refactor: rename meta to pages in i18n

* refactor: improve code formatting in Breadcrumb

* refactor: destructure props in Main component for clarity

* feat: add tag pages

* feat: add About page

* chore: update i18n configuration to use site language from config

* feat: add Archives page

* feat: integrate Pagefind search functionality

* feat: add dynamic Open Graph image generation for posts

* feat: add post detail page

* feat: add Shiki transformers

* chore: remove unused edit link text

* chore: update .gitignore to include generated Pagefind directory

* chore: update site URL in configuration to production link

* chore: replace favicon and remove unused SVG assets, add new Open Graph image

* feat: update site config with default values

* feat: add default OG image path resolution

* fix: ensure edit post feature checks for enabled status correctly

* feat: implement dynamic Open Graph image generation

* feat: add RSS feed generation functionality

* feat: add 404 Not Found page

* feat: add robots.txt generation for SEO optimization

* refactor: change getSortedPosts to a named export

* refactor: change postFilter to a named export

* refactor: rename BaseLayout to Layout

* refactor: standardize locale handling across components

* refactor: update getPostsByGroupCondition location

* chore: remove unused Welcome component

* refactor(i18n): update links using getRelativeLocaleUrl

* refactor(i18n): add dynamic locale loading

* fix: update language attribute to use current locale

* fix: correct wording for updatedAt in post translations

* fix: update layout titles to use correct translation keys for tags pages

* chore: use new colors for better DX and a11y

* feat: add underline icon for active icon nav

* feat: add toc for markdown contents

* refactor: remove unused feature flags in config

* refactor(i18n): enhance locale handling and path management

* fix: ts unused variable hint

* refactor: extract locale stripping logic into a util func

* refactor(i18n): improve locale handling in tag pages

* refactor: update post URL helper functions

* refactor(i18n): replace pathWithBase with getRelativeLocaleUrl for locale handling

* refactor: rename fileWithBase to getAssetPath

* refactor: use runtime agnostic APIs for file paths

* refactor: use transition directive for heading transition

* refactor: remove unused title element from tag page

* fix: decouple ClientRouter from lightAndDarkMode flag

* refactor: rename `postPaths.ts` to `getPostPaths.ts`

* refactor: remove unused `minutesRead` string from post translations

* refactor: simplify AdjacentPostNav component by passing prevPost and nextPost directly

* refactor: remove unused code declaration

* docs: add existing blog posts

* chore: update astro and @astrojs/check dependencies to latest versions

* build: use experimental svg optimizer

* chore(repo): restore project meta files and Docker configs

* refactor: update code formatting with Prettier

* docs: update README and docs

* docs: add JSDoc comments to utility functions

* docs: add JSDoc comments to resolved config file

* fix(og): avoid double slashes when appending index.png

* chore(ci): update Node.js version to 22.12.0 in CI workflow

* feat: improve og image generation with Astro's getFontFileURL API (#632)

* feat: improve og image generation with Astro's getFontFileURL API

- remove @resvg/resvg-js and use sharp to convert SVG to PNG
- update og image generation to use Astro's getFontFileURL API for better font handling

* docs: update README and dynamic OG images documentation

- remove outdated content and clarify dynamic OG image generation process in README.
- add new image example and update instructions for handling non-Latin characters in dynamic OG images.
- adjust copyright year in README to 2026.

* fix(header): adjust icon button alignment in mobile

* feat(docs): add ResponsiveTable to use it in MDX posts (#634)

* feat(docs): add ResponsiveTable to use it in MDX posts

Introduce ResponsiveTable with variant-based styling. Rename docs posts to
.mdx, wrap tables in the component, and remove redundant table `code` rules
from prose typography.

* chore(prettier): ignore .mdx files when checking format

* chore(ci): update Node.js version to 24 in CI workflow

* bump: upgrade Astro and dependencies

* fix: remove redundant backUrl script bug

* fix(header): adjust button and icon alignment

* fix(a11y): improve muted-foreground color contrast

* docs: update predefined color schemes

* chore: support site verification env as fallback for googleVerification

* docs: add astro paper v6 updates in docs

* docs: add AstroPaper-v6.png in astro-paper-6 blog post

* fix: update back-to-top button DOM placement (#641)

Closes #626, #131, #493
2026-05-17 16:17:58 +07:00
satnaing 594addaec1 refactor!: update blog directory to src/data/blog 2025-03-08 18:21:37 +07:00
satnaing cc936ca5e4 build!: upgrade Astro to v5 and related packages 2025-03-08 18:21:37 +07:00
Sat Naing 397e3211d7 docs: update est readingTime blog post (#409)
Resolves #406
2024-11-05 18:12:45 +07:00
Patrick Wilson 7573617e79 feat: add archives page with configurable menu (#386)
* feat: add archives page with configurable menu

* optimize: compat mobile layout

* fix: update archive menu layout

* fix: hide archives page from URL if showArchives is false

* docs: add `showArchives` option in docs

Resolves #361

---------

Co-authored-by: satnaing <satnaingdev@gmail.com>
2024-10-14 18:49:40 +07:00
Patrick Wilson 0bc8eeeac8 feat: add edit post feature in blog posts (#384)
* feat: add edit post feature

* fix: remove edit button except on post detail pages

* docs: update site config docs for editPost

Resolves #191
---------

Co-authored-by: satnaing <satnaingdev@gmail.com>
2024-10-11 18:14:17 +07:00
Erison Silva c11b2a2960 fix(docs): update giscus blog post (#392) 2024-10-02 21:44:40 +07:00
Alberto Perdomo 70b2486293 docs: add a blog post for LaTex support (#373)
Add a blog post for adding LaTex equation rendering 
in AstroPaper blog posts.
---------

Co-authored-by: satnaing <satnaingdev@gmail.com>
2024-09-11 09:21:43 +07:00
faiz ahnaf ec373c3369 fix(blog): correct file reference in reading time guide (#359)
Ensure no duplicate items appear in the list of the blog post
and update the list with the correct one.
2024-09-08 12:25:24 +07:00
Sat Naing dab61b3714 build: bump Astro to v4.14.2 & use content layer (#355)
Bump Astro from v4.13 to v4.14.2 and use experimental
content layer api.
2024-08-19 12:53:58 +07:00