diff --git a/.gitignore b/.gitignore index 6e8c2332f..ac5a5d96e 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,4 @@ ds-bundle/ packages/ui/.ds-compiled.css packages/ui/.ds-tw-raw.css packages/ui/dist/ +i18n.cache diff --git a/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/export.test.tsx b/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/export.test.tsx index 8927968ad..26160f8e5 100644 --- a/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/export.test.tsx +++ b/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/export.test.tsx @@ -68,7 +68,7 @@ const renderExport = () => const openDialog = () => { const trigger = screen.getByText( - "Choose PDF, DOCX, or JSON. Export your resume and cover letter separately when available.", + "Choose PDF, DOCX, Markdown, or JSON. Export your resume and cover letter separately when available.", ); fireEvent.click(trigger.closest("button") as HTMLButtonElement); }; diff --git a/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx b/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx index 2cb2004c2..ce503046d 100644 --- a/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx +++ b/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx @@ -26,7 +26,9 @@ export function ExportSectionBuilder() { Download

- Choose PDF, DOCX, or JSON. Export your resume and cover letter separately when available. + + Choose PDF, DOCX, Markdown, or JSON. Export your resume and cover letter separately when available. +

diff --git a/docs/changelog/index.mdx b/docs/changelog/index.mdx index 155f8d001..e0968fb6a 100644 --- a/docs/changelog/index.mdx +++ b/docs/changelog/index.mdx @@ -4,6 +4,51 @@ description: "Release notes for Reactive Resume covering new features, resume bu rss: true --- + +## Highlights + +- **Application Tracking is here.** Track every opportunity from saved role to offer with board, table, and insights views; search, filter, sort, tag, archive, and bulk-update applications without keeping a separate spreadsheet. [893df25af](https://github.com/amruthpillai/reactive-resume/commit/893df25af), [e99c1665d](https://github.com/amruthpillai/reactive-resume/commit/e99c1665d), [00a972155](https://github.com/amruthpillai/reactive-resume/commit/00a972155) +- **Application Copilot.** Link a resume and job description to score your fit, create a tailored resume copy, draft a cover letter, or draft a recruiter follow-up from the application detail panel. [893df25af](https://github.com/amruthpillai/reactive-resume/commit/893df25af) +- **Markdown export for resumes.** Export a resume as clean Markdown for docs, websites, AI workflows, or any place where plain text is easier to reuse than a PDF. [20c803e93](https://github.com/amruthpillai/reactive-resume/commit/20c803e93) +- **A cleaner export flow.** Resume and cover-letter downloads now live in a dedicated dialog, with separate PDF, DOCX, JSON, and print actions. [20c803e93](https://github.com/amruthpillai/reactive-resume/commit/20c803e93) + +## Application Tracking + +- Added the application data model, API routes, database schema, migrations, and service tests for storing applications, contacts, documents, follow-ups, timeline activity, tags, sources, salaries, and stages. [893df25af](https://github.com/amruthpillai/reactive-resume/commit/893df25af), [4ae6d8476](https://github.com/amruthpillai/reactive-resume/commit/4ae6d8476) +- Added the dashboard Applications page with kanban board, table, insights dashboard, detail sheet, create/edit sheet, actions menu, file attachments, CSV import, and archived view. [893df25af](https://github.com/amruthpillai/reactive-resume/commit/893df25af), [00a972155](https://github.com/amruthpillai/reactive-resume/commit/00a972155) +- Added CSV import from uploads or pasted rows, with header recognition, row validation, stage parsing, tag splitting, and importer tests. [893df25af](https://github.com/amruthpillai/reactive-resume/commit/893df25af) +- Added application insights for pipeline counts, response rate, interviews, offers, funnel drop-off, weekly application volume, and source breakdowns. [893df25af](https://github.com/amruthpillai/reactive-resume/commit/893df25af), [00a972155](https://github.com/amruthpillai/reactive-resume/commit/00a972155) +- Added an end-to-end Application Tracker test covering the main application workflow. [af751e4f](https://github.com/amruthpillai/reactive-resume/commit/af751e4f) + +## Import & Export + +- Added Markdown export support for resumes, powered by new shared resume-section and Markdown helpers so exports preserve the resume's core structure in a portable text format. [20c803e93](https://github.com/amruthpillai/reactive-resume/commit/20c803e93) +- Split resume and cover-letter download behavior so each export path uses the right file and filename. [20c803e93](https://github.com/amruthpillai/reactive-resume/commit/20c803e93) +- Updated PDF download URL handling and export tests for the new download dialog. [20c803e93](https://github.com/amruthpillai/reactive-resume/commit/20c803e93) + +## Documentation + +- Added guides for tracking job applications and importing applications from CSV, including screenshots and troubleshooting notes. [540796cd6](https://github.com/amruthpillai/reactive-resume/commit/540796cd6) +- Refreshed the resume export and cover-letter guides to match the new download flow. [be43b455](https://github.com/amruthpillai/reactive-resume/commit/be43b455) + +## Reliability & Performance + +- Improved Application Tracker rendering, tile colors, file-attachment handling, and dashboard responsiveness. [00a972155](https://github.com/amruthpillai/reactive-resume/commit/00a972155) +- Cut builder per-keystroke render cost by tightening the builder header, dock, design panel, and section form updates. [5c75147d](https://github.com/amruthpillai/reactive-resume/commit/5c75147d) +- Improved mobile layouts across the agent pages, builder header, dashboard resume list, and dashboard resume grid. [8416a921](https://github.com/amruthpillai/reactive-resume/commit/8416a921) +- Eliminated layout shift from the homepage hero video by reserving its rendered space. [be1acbc2](https://github.com/amruthpillai/reactive-resume/commit/be1acbc2) +- Fixed server-side rendering for auth email templates by importing React where the template runtime needs it. [af751e4f](https://github.com/amruthpillai/reactive-resume/commit/af751e4f) + +## Self-Hosting & Maintenance + +- Added the Better Auth two-factor schema migration. [9f9268f3](https://github.com/amruthpillai/reactive-resume/commit/9f9268f3) +- Added design-sync inputs and preview files for Reactive Resume UI components. [a28e3baa](https://github.com/amruthpillai/reactive-resume/commit/a28e3baa), [6e7fc680](https://github.com/amruthpillai/reactive-resume/commit/6e7fc680) +- Synced translation catalogs for the new Application Tracking and export copy. [e99c1665](https://github.com/amruthpillai/reactive-resume/commit/e99c1665), [0d1bfd4e](https://github.com/amruthpillai/reactive-resume/commit/0d1bfd4e) +- Addressed React Doctor findings, cleaned up Knip issues, updated dependencies, and refreshed TypeScript native preview versions. [5a1cc658](https://github.com/amruthpillai/reactive-resume/commit/5a1cc658), [5c1845b1](https://github.com/amruthpillai/reactive-resume/commit/5c1845b1), [91b4c1e6](https://github.com/amruthpillai/reactive-resume/commit/91b4c1e6) + +**Full Changelog**: [v5.2.0...v5.2.1](https://github.com/amruthpillai/reactive-resume/compare/v5.2.0...v5.2.1) + + ## Highlights diff --git a/docs/docs.json b/docs/docs.json index 0b3743ac3..5f46b205b 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -68,6 +68,7 @@ "guides/using-ai-agent", "guides/using-private-notes", "guides/exporting-your-resume", + "guides/exporting-resume-to-markdown", "guides/sharing-your-resume-publicly" ] }, diff --git a/docs/guides/exporting-resume-to-markdown.mdx b/docs/guides/exporting-resume-to-markdown.mdx new file mode 100644 index 000000000..d7fd58986 --- /dev/null +++ b/docs/guides/exporting-resume-to-markdown.mdx @@ -0,0 +1,108 @@ +--- +title: "Exporting a resume to Markdown" +description: "Export your resume as a clean Markdown file for AI tools, personal websites, version control, notes, and quick text edits." +--- + +Use Markdown when you want the content of your resume in a portable plain-text format. Markdown keeps headings, lists, links, bold text, and italic text, but it does not try to preserve the visual template, page layout, colors, or spacing from the PDF. + +Use PDF when you are submitting the finished resume. Use Markdown when you want to reuse, review, transform, or store the resume content. + +## Export Markdown + + + + Go to the dashboard and open the resume you want to export. + + + + Click **Download** in the builder header, or open the **Export** section in the right sidebar and click **Download**. + + + + Select **Resume** to export the resume content. Select **Cover letter** if you want a Markdown copy of the cover letter instead. + + + + In the **Markdown** row, click **Download**. Your browser saves a `.md` file. + + + + + Download dialog showing PDF, DOCX, Markdown, and JSON export options for a resume + + +## Use cases + +Markdown export is useful when you need readable resume content outside the PDF. + +| Use case | Why Markdown helps | +| --- | --- | +| **AI agents and assistants** | Markdown gives the model structured text with headings and lists, without the layout noise of a PDF. | +| **File search and retrieval systems** | `.md` files are easy to index, search, chunk, and cite in retrieval workflows. | +| **GitHub profile or portfolio repositories** | GitHub renders Markdown files, so you can reuse resume content in a profile README or portfolio repo. | +| **Personal websites and static sites** | Many site generators and CMS workflows accept Markdown as source content. | +| **Notes and knowledge bases** | Apps like Obsidian use Markdown syntax, so your resume can live next to job-search notes and interview prep. | +| **Version control** | Markdown diffs cleanly, making it easier to review what changed between resume versions. | +| **Quick editing** | Open the file in any text editor, make content edits, then copy the text wherever you need it. | + +## Example Markdown + +A shortened export of the built-in sample resume looks like this: + +```md +# David Kowalski + +_Game Developer | Unity & Unreal Engine Specialist_ + +david.kowalski@email.com - +1 (555) 291-4756 - Seattle, WA - [davidkowalski.games](https://davidkowalski.games) + +## Summary + +**Passionate game developer with 5+ years of professional experience** creating engaging gameplay systems and polished player experiences across multiple platforms. Specialized in Unity and Unreal Engine with strong expertise in C#, C++, and game design principles. + +## Experience + +### Cascade Studios - Senior Game Developer (March 2022 - Present) + +_Seattle, WA_ + +- Lead gameplay programmer on an unannounced AAA action-adventure title built in Unreal Engine 5 for PC and next-gen consoles +- Architected and implemented core combat system including hit detection, combo mechanics, and enemy AI behavior trees serving 15+ enemy types +- Developed custom editor tools in C++ that reduced level designer iteration time by 40% and improved workflow efficiency across the team +- Optimized rendering pipeline and gameplay systems to maintain 60 FPS performance target on all supported platforms + +## Education + +### University of Washington - Bachelor of Science, Computer Science (2014 - 2018) + +_Seattle, WA - Grade: 3.6 GPA_ + +Concentration in Game Development. Relevant Coursework: Game Engine Architecture, Computer Graphics, Artificial Intelligence, Physics Simulation, 3D Mathematics, Software Engineering, Data Structures & Algorithms + +## Skills + +### Unity Engine - Expert + +C# - Editor Tools - Performance Profiling + +### Unreal Engine - Advanced + +C++ - Blueprints - UE5 Features +``` + +## What Markdown includes + +Markdown export includes the visible resume or cover-letter content for the selected tab. It keeps the document structure, section headings, item headings, rich-text paragraphs, lists, links, bold text, and italic text. + +Markdown export does not include visual-only choices such as template design, page size, column layout, colors, icon styling, spacing, or PDF page breaks. + + + If you are sharing the file with an AI assistant, include the job description in the same prompt and ask for changes as Markdown. That makes the result easy to compare before you update the resume in Reactive Resume. + + +## When not to use Markdown + +Do not use Markdown as the final file for most job applications. Applicant portals and recruiters usually expect a PDF or DOCX file. Export Markdown when you need a working copy of the content, then export PDF when you are ready to submit. diff --git a/docs/guides/exporting-your-resume.mdx b/docs/guides/exporting-your-resume.mdx index 1efb34816..c51c75884 100644 --- a/docs/guides/exporting-your-resume.mdx +++ b/docs/guides/exporting-your-resume.mdx @@ -92,6 +92,8 @@ Use Markdown for: Section headings, lists, links, and rich-text formatting from the builder are preserved as standard Markdown. +For examples and common workflows, see [Exporting a resume to Markdown](/guides/exporting-resume-to-markdown). + ## Export as JSON Choose **JSON** when you want a structured backup of your resume. diff --git a/docs/images/guides/exporting-resume-to-markdown/screenshot-1.webp b/docs/images/guides/exporting-resume-to-markdown/screenshot-1.webp new file mode 100644 index 000000000..b6e2da598 Binary files /dev/null and b/docs/images/guides/exporting-resume-to-markdown/screenshot-1.webp differ diff --git a/package.json b/package.json index 3a8d9d0bd..9fffe423e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "reactive-resume", "description": "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume.", - "version": "5.2.0", + "version": "5.2.1", "private": true, "license": "MIT", "author": {