Skip to content

nhanaz/nhanaz-site-context

v1.0.0MIT

Read-only Agent Skill for routing questions to NhanAZ's canonical personal archive resources.

nhanaz.io.vn

Personal blog, project archive, and living portfolio. Built with plain HTML, CSS, and a tiny bit of JavaScript, then validated and deployed to GitHub Pages with GitHub Actions.

Public machine-readable resources

The site has no account, authentication flow, or endpoint for changing content. It also exposes read-only MCP at /mcp, A2A at /a2a, A2UI at /a2ui, and NLWeb-compatible archive search at /ask. The OpenAPI document describes those surfaces, static GET resources, and the small public page-view counter at /api/views.

Preview locally

From the repository root, run any static file server, for example:

python -m http.server 4173

Then open http://localhost:4173.

Add a bilingual post

  1. Create the Vietnamese page in posts/<slug>/index.html and its manually edited English pair in en/posts/<english-slug>/index.html.
  2. Update the title, description, canonical URL, dates, category, article body, and reciprocal hreflang links on both pages.
  3. Add the post to the relevant home and blog indexes, then update both search indexes in assets/js/site.js.
  4. Update sitemap.xml, llms.txt, llms-full.txt, and entity.json when the new content changes those sources.
  5. Run the validation commands below before deployment.

Update personal information

  • Homepage copy: index.html
  • Biography and contact: about/index.html
  • Project case studies: projects/index.html
  • Global styling: assets/css/site.css
  • Space Grotesk files: assets/fonts/

Deploy

Push to main. The workflow in .github/workflows/static.yml publishes the repository to GitHub Pages. The custom domain is preserved in CNAME.

Before pushing, run:

node --check assets/js/site.js
node --check assets/js/theme.js
node --check scripts/build-english.mjs
node --check scripts/check-seo.mjs
node --check scripts/build-vercel.mjs
node scripts/build-english.mjs
node scripts/check-seo.mjs
node scripts/build-vercel.mjs
git diff --check

Older versions of the site are preserved on the archive/legacy-notebook and archive/legacy-sunflower branches.

Security issues should be reported privately as described in SECURITY.md.

License

The site code is available under the MIT License. The bundled Space Grotesk font files remain under the SIL Open Font License 1.1. Personal writing and images are not relicensed by the MIT file unless a page says otherwise.