Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A personal website template for building an integrated homepage that showcases articles, projects, books, movies, music, photo galleries, and travel footprints.
New Echoes is an Astro personal website template designed for building an integrated homepage that combines articles, projects, books, movies, photos, and travel footprints. It outputs a static site with a 3D animated opening scene, article browsing and filtering, project showcases, media records, and deployment configurations for three platforms.
New Echoes is a personal website template built on Astro that takes Markdown and MDX content as input and generates a static, multi-page personal homepage as output. The template includes default pages for articles, projects, a timeline, movies, books, a photo gallery, an about page, and a global knowledge graph. It is developed by GitHub user lsy2246 and the repository includes live previews on Cloudflare Pages, Vercel, and EdgeOne Pages.
New Echoes suits individuals who want a personal homepage with multiple content sections beyond a simple blog. Developers who want to display both writing and coding projects can use the integrated project pages. Readers and movie watchers who keep records on Douban and WeChat Reading can reuse those data sources in the film and book pages. Photographers can build a photo gallery from Google Photos shared albums. Users who want a long-term updatable public template repository can follow the built-in update workflow.
The workflow begins by cloning the repository and installing dependencies with Bun, which requires Node.js 22 or newer. Site-wide metadata is edited in src/consts.ts, and new articles are created with the bun run newpost command, with optional directory names. Deployment is platform-specific: run bun run build:vercel, bun run build:cloudflare, or bun run build:edgeone, and each build outputs to dist with separate API function entries under api/, functions/api/, or cloud-functions/api/. The template also provides a bun run update command that syncs upstream template changes while protecting user files defined in update.json.
Run bun run newpost from the project root. You can also pass a directory and title, for example bun run newpost "dev/My Title". Articles are frontmatter files with title, date, tags, and optional summary; the title is used to generate the article URL and must be unique within a folder.
The template supports Vercel, Cloudflare Pages, and EdgeOne Pages. Each platform uses its own build command (build:vercel, build:cloudflare, build:edgeone) and has a corresponding configuration file (vercel.json, edgeone.json, or the Cloudflare console). Live previews are available on all three platforms.
The update.json file defines protect and update patterns. Files under src/content, public/images, favicon.svg, src/consts.ts, README.md, and src/pages are protected by default and keep local versions. Articles under src/pages/articles remain updatable even though the folder is protected. Running bun run update previews the file list first; bun run update -- --apply applies changes directly.
Node.js 22 or newer is recommended, and the setup uses Bun as the package manager and script runner. The quick start commands are bun install and bun run dev, with the development server defaulting to http://localhost:4321.