Back to rankings

BingyanStudio/LapisCV

CSSlapis-cv.bingyan.net

📄 Easily create your resume with Markdown on VSCode / Typora / Obsidian

obsidianresume-builderresume-templatetyporavscode-extension
Star Growth
Stars
4.8k
Forks
305
Weekly Growth
Issues
10
3k4k
Mar 2024Dec 2024Oct 2025Jul 2026
Artifactsnpmnpm install lapiscv
README

English / 简体中文

LapisCV

📄 Easily create resumes with Markdown on VSCode / Typora / Obsidian

Release   Stars   Downloads AtomGit Mirror

View Samples

LapisCV Serif (new in v2.0.0)

LapisCV

Typora Editor

Quick Start

Installation

Typora
  1. Download Release and unzip, set the theme:

    1. Open Typora theme folder: Preferences > Appearance > Open Theme Folder
    2. Copy files to the theme folder: lapis-cv.css, lapis-cv-serif.css, lapis-cv directory
    3. Restart Typora, select Lapis Cv / Lapis Cv Serif from the theme menu.
  2. Open template file to edit.

  3. File > Export > PDF to export the PDF file.

    Before exporting, set the page size to A4 and margins to custom in Preferences > Export > PDF, with top and bottom margins of 13mm, and left and right margins of 15mm:

VSCode
  1. Download Release and unzip, open the folder in VSCode.

  2. Install the plugin Markdown PDF.

  3. Open template file, click the preview icon in the top right to view the effect in real-time:

    Right-click and select Markdown PDF - Export (pdf) to export the PDF file.

  4. Switch themes:

    Modify the style path in .vscode/settings.json:

    "markdown.styles": [
        "./lapis-cv/styles/main.css",
        "./lapis-cv/styles/lapis-cv.css", // lapis-cv-serif.css for Serif
    ],
    

Other VSCode plugins may affect the style. If the effect is inconsistent, check if any plugins are interfering.

Obsidian

Download and unzip Release, open the lapis-cv-obsidian directory as a Vault in Obsidian, edit the template, and export the PDF file.

Switch themes in Options > Appearance > CSS snippets

Format and Style

Avatar
<img alt="avatar" src="...">

Replace the src image path when editing the avatar. Delete this line if no avatar is needed.

Obsidian cannot recognize local images inserted in HTML format, so it is recommended to upload the image as a link before inserting.

Icons

Supported Icons:

Icon Escaped Unicode Icon Escaped Unicode
&#xe60f; &#xe7ca;
&#xe600; &#xe618;
&#xe80c; &#xecfa;
&#xe69c; &#xe6b3;
&#xe8ae; &#xe782;
&#xe8b4; &#xe603;
&#xe8b5; &#xe638;
&#xe635; &#xe673;
Page Breaks & Page Numbers

Page Breaks

Insert --- at the position where a page break is needed.

Page Numbers

Typora

Set the footer in Preferences > Export > PDF, e.g., ${pageNo} / ${totalPages}

VSCode

Modify .vscode/settings.json:

"markdown-pdf.displayHeaderFooter": true,
"markdown-pdf.headerTemplate": "<div></div>",
"markdown-pdf.footerTemplate": "<div style=\"font-size: 9px; margin: 0 auto;\"> <span class='pageNumber'></span> / <span class='totalPages'></span></div>",

Obsidian

The software itself does not support adding page numbers directly. You can install plugins for this.

Margins

Typora

Preferences > Export > PDF

VSCode

  • Directly modify the markdown-pdf.margin related items in the .vscode/settings.json file.

  • Alternatively, modify via GUI:

    1. Open VSCode settings, select the Workspace tab.
    2. Search for Markdown-pdf › Margin, and modify the margins on all sides.

Obsidian

Modify --file-margins in the style file, see Custom Styles below.

Custom Styles

Custom styles can be used to adapt to different content volumes and adjust details according to preferences.

Modify variables in the corresponding editor's style file lapis-cv.css / lapis-cv-serif.css:

Style File Locations
  • Typora: Preferences > Appearance > Open Theme Folder
  • VSCode: lapis-cv/styles in the folder
  • Obsidian: Options > Appearance > CSS snippets > Right button - Open snippets folder
Meanings of Some Custom Variables

/* Custom Configs */

/* Basic Configs */
--text-size: 10pt;                      /* Text font size */
--line-height: 1.8;                     /* Text line height */
--avatar-width: 29mm;                   /* Avatar width */

/* Font Configs */
--h1-size: 16pt;                        /* Level 1 heading font size */
--h2-size: 12pt;                        /* Level 2 heading font size */
--h3-size: 10.5pt;                      /* Level 3 heading font size */
--blockquote-size: 9.3pt;               /* Info block font size */

--text-font: 'SourceHanSansCN';         /* Text font */
--title-font: 'SourceHanSerifCN';       /* Title font */
--link-font: 'JetBrainsMono';           /* Link font */
--code-font: 'JetBrainsMono';           /* Code font */

/* Colors */
--color-accent: #4870ac;                /* Theme color */
--text-normal: #353a42;                 /* Text color, change to pure black if printing is needed */
--link-color: #0563c1;                  /* Link color */

Note: Some styles require restarting the application to take effect.

Contributing

Welcome to submit suggestions via Issues or participate in development via Pull Request!

How to build from source code

git clone git@github.com:BingyanStudio/LapisCV.git
cd LapisCV
make
ls build

License

This project is licensed under the MIT License.

Star History

Stargazers over time

Related repositories
laurent22/joplin

Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.

TypeScriptnpmOtherreact-nativenodejs
joplinapp.org
55.7k6.2k
kepano/obsidian-skills

Agent skills for Obsidian. Teach your agent to use Obsidian CLI and open formats including Markdown, Bases, JSON Canvas.

MIT Licenseclaudecodex
42.8k3.1k
khoj-ai/khoj

Your AI second brain. Self-hostable. Get answers from the web or your docs. Build custom agents, schedule automations, do deep research. Turn any online or local LLM into your personal, autonomous AI (gpt, claude, gemini, llama, qwen, mistral). Get started - free.

PythonPyPIGNU Affero General Public License v3.0semantic-searchemacs
khoj.dev
35.9k2.3k
PDFMathTranslate/PDFMathTranslate

[EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/MCP/Docker/Zotero

PythonPyPIGNU Affero General Public License v3.0chineselatex
pdf2zh.com
35.7k3.2k
obsidianmd/obsidian-releases

Community plugins list, theme list, and releases of Obsidian.

obsidian-mdobsidian
obsidian.md
20k7.4k
Byaidu/PDFMathTranslate

PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/Docker/Zotero

PythonPyPIGNU Affero General Public License v3.0chineselatex
pdf2zh.com
18.3k1.5k
YishenTu/claudian

An Obsidian plugin that embeds Claude Code/Codex as an AI collaborator in your vault

TypeScriptnpmMIT Licenseclaude-codeobsidian
14.2k912
jackyzha0/quartz

🌱 a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites

TypeScriptnpmMIT Licensedigital-gardenobsidian-md
quartz.jzhao.xyz
12.8k4k
Vinzent03/obsidian-git

Integrate Git version control with automatic commit-and-sync and other advanced features in Obsidian.md

TypeScriptnpmMIT Licenseobsidian-mdobsidian-plugin
11.6k601
AgriciDaniel/claude-obsidian

Self-organizing AI second brain for Obsidian + Claude Code. Drop any source and Claude reads, links, and files it into one connected knowledge graph of plain Markdown you own. AI note-taking, personal knowledge management (PKM), and an open-source Notion alternative. Based on Karpathy's LLM Wiki pattern.

PythonPyPIMIT Licenseclaude-codeobsidian
agricidaniel.com/blog/claude-obsidian-ai-second-brain
9.7k1.1k
kmaasrud/awesome-obsidian

🕶️ Awesome stuff for Obsidian

CSSnpmCreative Commons Zero v1.0 Universalawesomeobsidian
9.2k386
kepano/defuddle

Get the main content of any page as Markdown.

TypeScriptnpmMIT Licensedefuddlecli
defuddle.md
8.5k360