Markdown resumes
Use this workflow when you want a resume that stays in portable Markdown, renders consistently in the resume renderer, and can be exported as styled HTML or PDF through browser print.
Open the public resume builder
Launch the canonical public builder and create or open your resume:
- Open in browser: Markdown Resume Builder (opens in a new tab)
- Start with the built-in sample or import a
.md/.markdownfile. - Edit in Write / Split / Preview and choose your theme, page size, and margin.
If your workflow is account-backed, save when done from the builder and continue editing in your mdedit workspace.
Source contract (what the resume parser needs)
A resume uses the resume render profile and the mdedit block in front matter:
---
mdedit:
renderProfile: resume
---For reproducible output, also add print settings:
---
mdedit:
renderProfile: resume
styles:
# Built-in renderer preset: use one of the two options below
theme: resume-template-1
page:
size: letter
margin: 0.5in
---Theme, size, and margin choices
- Theme maps to the builder UI names:
resume-template-1→ Classiccompact→ Compact
- Page size supports
letterora4. - Margin accepts values like
0.35in,0.5in,0.7in, or12mm.
Portable resume editing
Keep the body in standard Markdown and standard markdown sections so the same file can move across editors.
- Use plain links for assets when possible.
- If you need exact visual polish, prefer inline CSS over external dependencies.
- If you use external resources, treat them as optional enhancement, not the source of truth.
Optional CSS and controlled remote loading
Inline CSS is self-contained only when it does not reference external resources:
---
mdedit:
renderProfile: resume
styles:
cssInline: |
#resume-preview h2 { letter-spacing: 0.04em; text-transform: uppercase; }
---You can also load local or remote CSS files with explicit consent:
---
mdedit:
renderProfile: resume
styles:
cssFiles:
- assets/resume.css
cssUrls:
- https://cdn.example.com/resume.css
allowRemoteCss: true
---Behavior details:
cssFilescan reference account-backed article assets such asassets/resume.cssafter the resume is saved to mdedit. The public builder does not import a sibling CSS file when you open a local Markdown file.cssUrlsworks with remote URLs only whenallowRemoteCss: true.allowRemoteCssdoes not inspect or block URLs insidecssInline. Avoid@import, remote fonts,url(...), and other external references when the resume must remain private and work offline.- If
allowRemoteCssis not enabled, remote CSS is skipped and the resume remains readable. - If remote CSS fails to load because of offline mode, CORS, or network errors, the resume remains usable.
Export behavior and account expectations
For resume documents, the supported outputs in this workflow are:
- Markdown download (local source, portable).
- Styled HTML download.
- Print / Save as PDF (via browser print dialog).
Do not expect direct server-generated DOCX, server-side PDF, or other export formats for the resume renderer.
To keep a clean recovery path:
- Use Print / Save as PDF when you need a final resume artifact.
- For collaboration, comments, and synced storage, save to mdedit from the builder.
Public tool vs account-backed editor
- In the public builder, drafts are stored locally in your browser and no login is required for Markdown + styled HTML + Print / Save as PDF.
- After saving to mdedit, the document is available in your account with the normal editor surfaces (Folders, sharing, and sync) while still using the same resume rendering path for Markdown, styled HTML, and print.
Privacy and recovery expectations:
- Local-mode drafting keeps your resume source in-browser.
- Saving to mdedit uploads the document and ties it to your account.
- Remote CSS requests can reveal third-party request metadata (for example, IP address and User-Agent) and should be used only with trusted hosts.
Print / Save as PDF steps
- Click Print / Save as PDF in the resume builder.
- Use your browser print dialog to choose “Save as PDF” (or print to a device).
- If a print result is blank or incomplete, follow the troubleshooting route below first: