An academic theme extended from Astro Micro and Nano, aimed at researchers' personal sites
astro-micro-academic — Astro Portfolio Template
By jingwu2121
An Astro academic theme for researchers, extending Astro Micro and Nano with publication lists, tags, and math formula support, plus built-in search and comments.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Publication lists are maintained as Markdown files, sorted by date, with fields for paper, code, webpage, and data links plus conference/journal
Blog supports tags and math formulas, and can set draft status
Inherits Pagefind search and Giscus comments
Supports Markdown and MDX, with preset system, light, and dark themes
Can highlight a specified author in publications via a constant
Template Details
Astro Micro Academic is an academic version of Astro Micro and Nano, positioned as a personal academic site for researchers. It retains the foundational capabilities of both: full type safety, sitemap, RSS feed, and Markdown and MDX support, with TailwindCSS for styling and three preset themes: system, light, and dark.
For academic use cases, the template adds tags and blog math formula support, and carries over Astro Micro's Pagefind search and Giscus comments. Content is divided into two tracks: publications and blog. Publications are added as Markdown files, sorted by date, and each requires a title, description, date, authors, paper/code/webpage/data links, an image, and a conference or journal name; blog posts require a title, description, and date, with optional tags and draft status. The number of blog posts and publications shown on the homepage, site title, description, email, and site URL are configured centrally in src/consts.ts, and RSS includes only articles tagged with rss-feed.
For page structure, the homepage is modified in src/pages/index.astro, while the CV and About pages are maintained in src/pages/cv.astro and src/pages/about.astro respectively, with work and education history entered as array objects; social links are replaced by URL in src/components/SocialIcons.astro. The template also supports highlighting a specified author in publications via the HIGHLIGHTAUTHOR constant.
Limitations: the template itself is a static site theme and does not include a backend or database; search depends on the Pagefind build process, and comments depend on the external Giscus service, so their availability and configuration must be confirmed before use. The licensing of third-party assets such as demo images, fonts, and icons must be checked separately and cannot be determined solely from the code's MIT license.
Is it right for your project?
Use Cases
- Researchers building a personal homepage to showcase publications and blog posts in one place
- Needing a publication list sorted by date, with paper, code, data, and other links attached to each publication
- Writing technical blog posts with math formulas and tags
- Academic personal sites that need on-site search and comment functionality
- Maintaining an online CV and self-introduction page
Suitable For
- Researchers with Astro or front-end basics who want to maintain a static academic site themselves
- Content-oriented personal websites that need both a publication list and a blog
- Users who accept using external services such as Giscus to host comments
- Authors who prefer a Markdown/MDX writing workflow
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, enter the directory and run npm i, then start the local service with npm run dev
- 2
Set the site title, description, email, number of blog posts and publications shown on the homepage, and SITEURL in src/consts.ts
- 3
Both publications and blog posts must include metadata as required by the template; RSS includes only articles tagged with rss-feed
- 4
The homepage, CV, About pages, and social links must be modified in their respective files
- 5
Before use, configure Pagefind search and Giscus comments yourself, and check the licenses of third-party assets such as demo images, fonts, and icons
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- RSS feeds include only articles tagged with "rss-feed"; other articles will not appear in the RSS output.
- On-site search depends on the Pagefind build process, and the comment feature depends on the external Giscus service; these third-party services must be configured before use.
- When draft: true is set in a blog post's metadata, that content will not be published to the site.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be determined solely from the code's MIT license.
- External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Please tag the post of RSS feed with tag `"rss-feed"`, other posts are not included in the RSS.
Original README
Micro Academics adds features like tags, and blog math support and also inherits [Pagefind](https://pagefind.app/) for search, [Giscus](https://giscus.app/) for comments, from Astro Micro.
Original README
https://github.com/jingwu2121/astro-micro-academic/blob/main/LICENSEhttps://github.com/jingwu2121/astro-micro-academic/blob/main/README.mdIf draft: true, content will not be published.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 77 / 100
- Technologies
- Astro · React
- Website type
- Portfolio · Blog
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2024-08-13
- Screenshot last checked
- 2026-10-01
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 87f44bcf490615c31aa38a8e8593230277b12c5e8f5b8406f7fb84991368795b
2026-10-01T13:26:38.234Z
Source file / repository# Astro-Micro-Academics
[
](https://astro.build/themes/details/astro-micro-academics)
[](https://astro-micro-academic.vercel.app/)
Astro Micro Academic is an academic version of [Astro-Micro](https://github.com/trevortylerlee/astro-micro) and [Nano](https://astro-nano-demo.vercel.app/).
It is tailored for researchers.
Micro Academics adds features like tags, and blog math support and also inherits [Pagefind](https://pagefind.app/) for search, [Giscus](https://giscus.app/) for comments, from Astro Micro.
Micro Academics still comes with everything great about Micro and Nano — full type safety, a sitemap, an RSS feed, and Markdown + MDX support. Styled with TailwindCSS and preconfigured with system, light, and dark themes.

## News
✨ I've got a detailed blog about building and deploying your website using this template! Check it out [here](https://jingwu2121.github.io/blog/01-build-deploy-website/)
## Install Astro-Micro-Academics
Clone the [repository](https://github.com/jingwu2121/astro-micro-academic).
```sh
git clone https://github.com/jingwu2121/astro-micro-academic.git
```
```sh
cd astro-micro-academic
```
```sh
npm i
```
Run local server
```sh
npm run dev
```
## Update the Homepage
Update your home page in `src/pages/index.astro`.
## CV & About
Update your CV and About page in `src/pages/cv.astro` and `src/pages/about.astro`.
```ts
const works = [
{company:"Company A", time: "2022-Present", job_title: "Research Scientist", location: "London, UK", description: "Your Notes about the job"},
{company:"Company A", time: "2022-Present", job_title: "Research Scientist", location: "London, UK", description: "Your Notes about the job"},
]
const educations = [
{school:"University 1", time: "2022-Present", job_title: "BEng in Electronic Information Engineering", location: "London, UK", description: "Your Notes about the study"},
]
```
## Social Links
Update the social links in `src/components/SocialIcons.astro`, simply replace the `URL`.
## Publications metadata
Metadata is required for each post. Add a new `publication.md` to automartically add a publication on the website. Publications are sorted by date.
```astro
---
title: "Diffusion Models Beat GANs on Image Synthesis"
description: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Molestias earum quod quo repellat blanditiis est iste eos dolorem! Voluptatibus corporis totam sed unde est iusto neque iure natus adipisci omnis."
date: "2024-07-26"
authors: "John B*, Jon A*, Frank C, John B, Jon A, Frank C"
paperURL: "Paper: https://astro-sphere-demo.vercel.app"
codeURL: "Code: "
webURL: "Web: https://github.com/markhorn-dev/astro-sphere"
dataURL: "Data: https://github.com/markhorn-dev/astro-sphere"
img: "/rupert-cat.gif"
imgAlt: "Paper Teaser"
pub: "ECCV2024"
---
```
| Field | Req | Type | Remarks |
| :---------- | :-- | :------ | :----------------------------------------------- |
| title | Yes | string | Title of the content. Used in SEO and RSS. |
| description | Yes | string | Description of the content. Used in SEO and RSS. |
| date | Yes | string | Must be a valid date string (able to be parsed). |
| authors | Yes | string | A string seperated by comma. |
| paperURL, codeURL, webURL, dataURL | Yes | string | A string seperated by ": ". If you don't have a link to add, leave the link part blank, e.g. `codeURL: "Code: "` |
| img | Yes | string | Path to teaser image. |
| imgAlt | Yes | string | Description of the image. |
| pub | Yes | string | The conference or journal |
## Blog metadata
Metadata is required for each post.
```astro
---
title: "Blog Collection";
description: "How to add posts to the blog.";
date: "2024-03-21";
tags: ['guide', 'tutorial']
draft: false;
---
```
| Field | Req | Type | Remarks |
| :---------- | :-- | :------ | :----------------------------------------------- |
| title | Yes | string | Title of the content. Used in SEO and RSS. |
| description | Yes | string | Description of the content. Used in SEO and RSS. |
| date | Yes | string | Must be a valid date string (able to be parsed). |
| tags | Yes | list | A list of strings |
| draft | No | boolean | If draft: true, content will not be published. |
## Customize the website metadata and set up RSS
To change the website metadata, edit `src/consts.ts`.
```ts
// src/consts.ts
export const SITE: Site = {
TITLE: "Astro Micro Academics",
DESCRIPTION: "Astro Micro Academics is for academic user.",
EMAIL: "[email protected]",
NUM_POSTS_ON_HOMEPAGE: 2,
NUM_PUBLICATIONS_ON_HOMEPAGE: 3,
SITEURL: 'https://astro-micro-academic.vercel.app' // Update here to link the RSS icon to your website RSS
};
```
| Field | Req | Description |
| :----------- | :-- | :--------------------------------------------------- |
| TITLE | Yes | Displayed in header and footer. Used in SEO and RSS. |
| DESCRIPTION | Yes | Used in SEO and RSS. |
| EMAIL | Yes | Displayed in contact section. |
| NUM_POSTS | Yes | Limit number of posts on home page. |
| NUM_PUBLICATIONS | Yes | Limit number of research on home page. |
| SITEURL | Yes | Your website URL |
### RSS Post
Please tag the post of RSS feed with tag `"rss-feed"`, other posts are not included in the RSS.
---
## Custom metadata for highlighted author in your paper
```ts
// src/consts.ts
export const HIGHLIGHTAUTHOR = "John B"
```
## Customize metadata for individual pages
```ts
// src/consts.ts
export const HOME: Metadata = {
TITLE: "Home",
DESCRIPTION: "Astro Micro is an accessible theme for Astro.",
};
export const BLOG: Metadata = {
TITLE: "Blog",
DESCRIPTION: "A collection of articles on topics I am passionate about.",
};
export const RESEARCH: Metadata = {
TITLE: "Publications",
DESCRIPTION:
"A collection of my publications with links to paper, repositories and live demos.",
};
export const CV: Metadata = {
TITLE: "CV",
DESCRIPTION:
"your cv",
};
export const TAGS: Metadata = {
TITLE: "TAGS",
DESCRIPTION:
"blog tag filter",
};
export const ABOUT: Metadata = {
TITLE: "ABOUT",
DESCRIPTION:
"A self-intro",
};
```
| Field | Req | Description |
| :---------- | :-- | :--------------------------------------------- |
| TITLE | Yes | Displayed in browser tab. Used in SEO and RSS. |
| DESCRIPTION | Yes | Used in SEO and RSS. |
Explore similar templates
Compare previews and descriptions within the same stack and category.

astrowind
AstroWind is a free, open-source Astro starter theme using Astro and Tailwind CSS, released under the MIT license.
Astro · Blog

astro-paper
AstroPaper is a minimal, responsive, accessible, and SEO-friendly Astro blog theme. Articles are stored as Markdown/MDX in src/content/posts/, with subdirectories affecting URLs.
Astro · Blog

fuwari
Fuwari is a static blog template built with Astro and Tailwind CSS for personal blogs. It manages posts as Markdown files in src/content/posts/, with frontmatter for title, date, description, cover, tags, categories, draft status, and language.
Astro · Blog

Firefly
Firefly is a clean personal blog theme forked from Astro and Fuwari, offering four background modes, single/double sidebar and list/grid layouts, Pagefind client-side full-text search, and a six-language UI.
Astro · Blog

astro-theme-cactus
Astro Cactus is an Astro-based blog and portfolio theme that uses Markdown/MDX content collections to manage posts, notes, and tags, with frontmatter type-checked by a schema.
Astro · Portfolio

astrofy
Astrofy is a free and open-source personal portfolio website template built with Astro and TailwindCSS, with built-in blog, CV timeline, project showcase, store, and RSS feed modules.
Astro · Portfolio
