Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Personal website template built with Nuxt.js, featuring a printable CV, publication list, and project showcase components.
juliaebert.com is a personal website template built on Nuxt.js (Vue 2) that produces a static portfolio site plus a print-ready CV with automated PDF generation.
juliaebert.com is a Nuxt.js (Vue 2) static site template originally crafted by Julia Ebert for her personal website. It takes content stored in JSON files and Vue components and outputs a deployable static website; running npm run generate builds the static project, while npm run generate-pdf produces a resume PDF. The template is designed to be deployed to Netlify and includes configuration for Google Analytics, Google Fonts, and Material Design Icons.
npm run generate creates a fully static project, and npm run dev provides hot reload at localhost:3000.assets/sass/main.scss, plus Google Fonts defined in nuxt.config.js.npm run generate-pdf runs Puppeteer (headless Chrome) and saves a PDF with selectable text to /public/pdfs/ebert-julia.resume.pdf; pass a filename to change the output.is-print-only and is-screen-only classes to vary content, a <span class="page-break"></span> for manual page breaks, and an @page rule in the SCSS for page size and margins.assets/publications.json (a JSON equivalent of BibTeX); PublicationList renders ACM-style citations and supports highlight-author, pub-key-filter, type-filter, and keyword-filter.PrimarySection adds textured backgrounds, titles, subtitles, and icon-based headers; Project alternates images/videos with text and offers is-cover and is-mockup (including mobile-img-src) display modes./public/imgs/icons matched by slug or set via icon prop; buttons and links use Material Design Icons via icon-button-link and icon-link.default, home, and simple layouts support content pages, a typewriter home page with particles.js background, and error pages like 404.highlight-author, and link to PDFs stored under /public/pdfs.is-mockup to display screenshots inside a laptop and phone frame.cv-award, cv-skill, and cv-entry, controlling which content appears only in print via is-print-only.Install dependencies with npm install, then run npm run dev for local editing. To create a static site, run npm run generate; the output can be deployed to Netlify. For a preprint PDF, leave the dev server running and execute npm run generate-pdf in a separate terminal — it uses Puppeteer to render the CV page and save a PDF named ebert-julia.resume.pdf (or a custom name you pass).
home.vue and the author plans to change it.No. npm run generate produces a static site that can be hosted anywhere. However, the PDF generation script (npm run generate-pdf) needs the dev server running because Puppeteer navigates to the live local page to render it.
Edit assets/publications.json, which stores entries as keys with citation fields and an optional file path. Place the PDF in the matching subfolder under /public/pdfs, then use a PublicationList component with filters like pub-key-filter or type-filter to display them.
Yes. The CV page supports print-only and screen-only classes, manual page breaks via <span class="page-break"></span>, and the @page rule in assets/sass/main.scss controls paper size and margins. Use your browser's print dialog (e.g., Chrome's Ctrl+P) to adjust margins before exporting.
The CV components use CSS flexbox. According to the README, all current major browsers support this except Internet Explorer, which will not display the CV correctly.
