FAQ & Troubleshooting
A few common issues and questions when setting up or customizing EnjuFolio.
Local development
The dev server fails with a Node / pnpm error
Make sure you’re using:
Node.js >= 20
pnpm (via Corepack or global install)See the Local Development Guide for step-by-step setup:
Content not showing up
My About text is not updating
The About section on the home page is loaded from:
src/contents/About.mdxCommon checks:
- The file must be named
About.mdxand stay insrc/contents/. - Make sure the dev server has picked up your changes (
pnpm devrunning, no build errors).
See:
News items are missing from the home page
News entries come from the src/contents/news directory:
src/contents/news/*.mdxEach file must:
- Live directly under
src/contents/news - Have valid frontmatter with a
datefield
Example:
---
date: 2025-02-27 15:00:00-0800
---
Joined [some Lab](https://example.com/) at Northwestern University!If date is missing or invalid, the item will be ignored.
See:
Research / project entries don’t appear in the lists
Research and project items come from:
src/contents/research/*.mdx
src/contents/projects/*.mdxEach file should have frontmatter matching the shared FileMeta shape. For an entry to render correctly, the following fields are especially important:
titleauthorsdateabstract
If any of these are missing or malformed (for example, date not parseable), the item may be skipped or misrouted.
See:
Assets (CV, images, thumbnails)
My CV is not loading on /cv
The /cv page uses cvFileLink from src/enju.config.ts.
Check:
- The value is a public URL or a valid path under
public/. - If using Google Drive, the link is a “file” URL and the sharing settings allow public access (or at least access for the audience you expect).
Examples:
cvFileLink: 'https://drive.google.com/file/d/your_cv_id/view?usp=sharing'
// or
cvFileLink: '/cv/your-name-cv.pdf'Images are not showing up
For local images, the convention is:
- File stored under
public/images - Referenced in Markdown / MDX as
/images/...
Example:
The alt text in ![…] is used both for accessibility and rendered as the image’s caption (via <figcaption>), so it’s worth writing something meaningful.
Styling & layout
Changing colors has no effect
The main palette is defined in:
src/styles/custom.cssInside the @theme static block, update the values for:
--color-primary-*--color-secondary-*--color-accent-*
Make sure you are editing custom.css and not the other utility style files under src/styles/.
See:
I want to disable or change the card animation
The fade-up animation for news, hobbies, research, and project cards is also defined in src/styles/custom.css:
--animate-fade-up: fade-up 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;Options:
To disable it, you can set:
css--animate-fade-up: none;To adjust the motion, edit the
fade-upkeyframes or timing function.
Metadata, SEO, and crawlers
How do I control my name, affiliation, and external profiles in meta tags?
Use the metaInfo block in src/enju.config.ts:
metaInfo: {
affiliation: ["..."],
alumniOf: ["..."],
name: "Your Name",
familyName: "Last",
givenName: "First",
alsoKnownAs: ["Other name"],
sameAs: ["https://your-site", "https://github.com/your-handle"],
},This drives the JSON-LD Person data used by search engines.
See:
How do I control RSS and llms.txt?
- RSS feeds are controlled by
socialLinks.rssinenju.config.ts. - The optional
llms.txtfile is controlled bydisableLlmstxt.
See:
Editor & tooling
VS Code is not suggesting Tailwind classes / MDX help
EnjuFolio ships with workspace recommendations for useful extensions (ESLint, Tailwind CSS IntelliSense, MDX tooling, etc.).
When you first open the project in VS Code:
- Accept the “Recommended extensions for this workspace” prompt.
- Reload the window after installing, if prompted.
This improves the experience when editing:
src/enju.config.ts(hover docs for config fields)- MDX content under
src/contents/* - Tailwind CSS classes in components
Getting more help
If you run into something that isn’t covered here:
- Open a Documentation Update issue using the “📚 Documentation Update” template, or
- Open a regular issue describing the behavior you see and what you expected.
See also: