8000 GitHub - xxxxyu/xxxxyu.github.io: Homepage built with zola · GitHub
[go: up one dir, main page]

Skip to content

About

Homepage built with zola

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

xxxxyu.github.io

Source for Xiangyu Li's personal website, an academic homepage and long-form blog built with Zola.

The site brings together:

  • a research profile, news, awards, and experience;
  • publications with Google Scholar citation badges;
  • technical writing on on-device AI, efficient inference, and embodied AI, including ordered post series;
  • an "Outside" section for photography, personal writing, and music;
  • full-site search, light/dark/system themes, Atom feeds, and responsive layouts.

The repository intentionally keeps the stack small: Markdown and TOML hold the content, Tera templates render it, and Sass provides the presentation. Zola produces a fully static site in public/.

Quick start

Install Zola 0.22.1 and uv before starting local development; see the Zola installation guide.

Unix (Linux and macOS)

# From the repository root
chmod +x serve.sh
./serve.sh

Windows (PowerShell)

Make sure zola.exe is available on PATH, then run:

# From the repository root
.\serve.ps1

Both scripts prepare the Chinese search index and then the site's web-font subsets. One watcher keeps both synchronized after content edits settle, writing only changed outputs. The wrappers enable live reload, watch data/ in addition to the normal Zola paths, and forward extra arguments to Zola. For example:

./serve.sh --drafts
.\serve.ps1 --drafts

The first run after a fresh clone may spend about a minute generating the local font cache. Later starts normally reuse it and proceed in under a second.

Open the URL printed by Zola (normally http://127.0.0.1:1111). To create a production build, run ./build.sh on Unix or .\build.ps1 on Windows; generated output is written to public/. These wrappers use the same asset preparation step and validate font coverage in the rendered site. Search and font outputs are generated locally and in CI; do not commit them.

Repository checks

Run the lightweight content and feature checks through uv:

uv run --locked python -m unittest discover -s tests -v

The checks validate multilingual content pairs, translated metadata, search indexes, content safety conventions, and ordered post-series structure. Run the platform's build wrapper as a separate production rendering check when templates, styles, configuration, or content structure change.

For changes to video loading or search, run the browser-behavior regression tests with Node.js 22+ (built-in test runner, no npm dependencies):

node --test tests/js/*.test.cjs

CI runs both suites. The JavaScript checks exercise delayed media events, reader preferences, search request ordering, and retry after network failure.

Project layout

content/       Markdown pages and section front matter
data/          Structured content and generated manifests
templates/     Zola Tera templates and shortcodes
sass/          Site styles
static/        Files copied directly into the built site
scripts/       Content and asset maintenance utilities
tests/         Extensible repository and content checks
docs/          Maintainer documentation
config.toml    Zola and site-wide configuration
serve.sh       Unix development entry point
serve.ps1      Windows development entry point
build.sh       Unix production-build entry point
build.ps1      Windows production-build entry point

See the post series convention before creating or reordering a series, and the asset and gallery workflow before adding large files or publishing an Outside photography collection. Web-font coverage is generated automatically; its design and validation are documented in the font subsetting workflow.

Deployment

Pushes to main are built and deployed to GitHub Pages by .github/workflows/deploy.yml. The same workflow refreshes Google Scholar data on its scheduled and manual runs, falling back to committed values if the external lookup is unavailable.

See the Scholar citation workflow for cache updates and citation badge rules.

For a new fork, select GitHub Actions as the Pages source under Settings > Pages.

License

Site code is available under the MIT License. Original Blog and Outside content is licensed under CC BY 4.0 unless a page states otherwise. Other personal content is not included in that grant.

See LICENSE.md for the exact scope and third-party notices for bundled fonts and icons.

Credits

  • Zola — static site generator
  • Design references: Minimal Light for the academic layout and Tabi for the blog layout

About

Homepage built with zola

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

0