A customizable static website for following research papers, publishing detailed reading notes, and keeping a searchable archive. Adapt the research scope to your discipline; add a dataset or database directory only if it helps your work.
Built with Astro, Markdown, JSON, and build-time KaTeX. No backend database, paid API, or AI account is required to run the website.
Genetic Daily Papers — papers.lucajiang.com is the original research website from which this template was extracted. Browse it for an example of detailed paper notes, dated archives, topic navigation, search, and a research resource directory in everyday use.
The example site is customized for statistical genetics and related methods. Its research scope, paper collection, and QTL-specific resource fields are personal to that site. Your copy starts with neutral examples, configurable topics, and the resource directory disabled; adapt these to your own field.
- Create your own repository. Click Use this template → Create a new repository if the template button is available; otherwise Fork this repository. Use a template for a fresh history; fork if you want the upstream relationship. Do not clone this project's URL and then try to push your personal content here.
- Choose a deployment path. Cloudflare Pages is the recommended starting point for Git-connected hosting at a root URL. GitHub Pages keeps hosting with GitHub and includes a ready-to-use workflow. Vercel and Netlify are alternatives.
- Customize your site. Edit
site.config.json,src/data/topics.json, andsrc/data/research-profile.json. The two published demonstration files are clearly fictional: replace or remove them before your first real issue. - Verify and publish. Run the commands below, then follow the chosen deployment guide.
# Replace YOUR-USERNAME and YOUR-REPOSITORY with your own repository.
git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git
cd YOUR-REPOSITORY
# Node.js 22.12+; .nvmrc selects Node 22 if you use nvm.
npm ci
npm run devOpen the local address printed by Astro. For the same checks used by CI and deployment:
npm run build
npm run previewnpm run build includes content validation, Astro type checking, static rendering, link/anchor/asset checks, RSS checks, and search validation. The output directory is dist/.
- Latest issue, dated archives, canonical paper pages, and configurable research topics.
- Markdown reading notes, mathematics, attributed local figures, and article navigation.
- Browser-side full-text search of notes, issues, research briefs, and enabled resources.
- Draft publication rules and RSS for published issues.
- English or Simplified Chinese interface (
languageinsite.config.json). Content is written in your chosen language; changing the interface does not translate your notes or topic names. - Optional research resource directory with category navigation, configurable fields, and search.
- CI, deployment instructions, and bilingual prompts for AI-assisted setup and ongoing curation.
| File | What to change |
|---|---|
site.config.json |
Site title, description, URL, base path, interface language, repository link, search examples, resource visibility |
src/data/topics.json |
Topic slugs, labels, short labels, and descriptions |
src/data/research-profile.json |
Research questions, inclusion/exclusion criteria, example papers, preferred sources, language, and selection window |
The research profile guides you or your assistant. It does not run a recommender, fetch papers, or configure a scheduler. site.config.json.resourcesEnabled is the actual website switch; the profile's resource preference records editorial intent.
No. These are two different concepts:
- Research databases/resources are optional things you curate: datasets, corpora, archives, benchmarks, registries, catalogs, or tools. The directory is off by default. Enable it only when relevant to your field; its columns are not tied to genetics or any other discipline. See resources.
- An application database such as PostgreSQL, MySQL, or a hosted database is not used. Markdown and JSON in Git are the source of truth. Adding accounts, private notes, or online editing would be a separate application extension.
Research briefs can still appear in issues and search while the separate directory is disabled.
npm run new:paper -- my-first-paper
npm run new:issue -- 2026-09-07The date above is an example; use your intended issue date. Both files start with published: false. Fill in verified metadata and notes, put my-first-paper in the issue's papers list, and review the content. Set both publication flags to true when ready. A paper is visible only when referenced by a published issue. See content guide for complete schemas and examples.
Delete src/content/papers/example-reading-note.md and src/content/daily/2026-01-01.md together when you no longer need the demo. A completely empty catalog is supported.
| Guide | English | 中文 |
|---|---|---|
| Setup and deployment | Deployment | 部署指南 |
| Content and optional resources | Content guide | 内容指南 |
| ChatGPT / Codex prompts and workflow | AI workflow | AI 协作流程 |
No daily paper search, AI generation, or automatic publication schedule is enabled. Git-connected hosts can rebuild when you push content; that is separate from finding new papers.
| Command | Purpose |
|---|---|
npm ci |
Install locked dependencies |
npm run dev |
Local development |
npm run build |
Build and run all standard validation gates |
npm run preview |
Inspect the built site locally |
npm run check:content |
Validate content and configuration |
npm run check:built |
Recheck an existing dist/ build |
npm run check:search |
Recheck the search index and engine |
npm run check:variants |
Check subpath hosting, resources, drafts, Chinese UI, and an empty catalog; uses an isolated temporary copy |
npm run new:paper -- slug |
Create a draft paper without overwriting an existing file |
npm run new:issue -- YYYY-MM-DD |
Create a draft issue |
Extracted from LucaJiang/genetic-daily-papers at commit e47c6bd5a3f5066f5168e9bdf7b5c9277247c9ae. This repository preserves the reading-site structure and search engine while replacing personal research content, domain-specific resource fields, and deployment identity with neutral configuration and examples. The original repository and its deployment are separate.
Code and original template documentation use the MIT License, retaining the original copyright notice. Third-party papers, figures, and datasets retain their own terms. A draft in a public repository is still public source code: published: false controls the built website, not GitHub access.