Stop Copy-Pasting Your Resumé (and Everything Else)
You just got asked for an updated resumé. Again. So you open that folder—one in Google Drive, another buried in Downloads, and maybe another one in your email. There’s a version from three jobs ago, one you tweaked last year… and they’re all a mess.
But what if your resumé lived in source control? Versioned. Clean. Written in plain text. Ready to export to PDF in seconds.
That same approach works for more than just your own documents. When I’m hiring developers, I use AsciiDoc to generate technical assessments too—polished, structured PDFs without fiddling in Word. And once it’s generated, it’s automatically uploaded to the Confluence page for our hiring process, so recruiters and interviewers always get the latest version—without needing to ask.
In this post, I’ll show you how I use AsciiDoc to create reusable documents—like resumés, cover letters, and candidate assessments—that compile into beautiful, consistent PDFs in seconds. No CI/CD pipeline required - but you can absolutely add one later to automate PDF generation and publishing. Just structured content, a simple setup, and the joy of never formatting by hand again.
Why AsciiDoc?
I’ll be honest: I didn’t conduct a comprehensive comparison of markup languages. A colleague of mine was writing architectural documents using AsciiDoc, and I thought, “Hey, that looks neat.” I gave it a try—and it just worked.
Since then, I’ve used it for all kinds of documents: resumés, tech assessments, internal guides. It’s easy to use, but surprisingly powerful. And I haven’t felt the need to look back.
I know there are alternatives—LaTeX, reStructuredText, Markdown with extensions—but as I said: this just works for me.
I like that AsciiDoc:
- Is readable, even as plain text
- Lets me reuse content across documents
- Supports includes, variables, and styling out of the box
- Generates great-looking PDFs with minimal setup
It gives me everything I need, without getting in the way. That’s really all I want from a tool.
What I use it for (and what you could too)
AsciiDoc isn’t just for writing blog posts or READMEs. Once you realize you can generate clean, styled documents from plain text, you start seeing all kinds of possibilities.
Here are some of the ways I use it—and some use cases I think are worth exploring:
Technical Assessments for Candidates
This was my gateway use case. I needed a fast, consistent way to generate developer assessments. With AsciiDoc, I can combine modular files—an introduction, one or more tasks, and submission guidelines—into a polished PDF. No formatting issues. No broken headers. Just a clean document that gets automatically uploaded to our Confluence hiring page, so recruiters always have access to the latest version.

Resumés & Cover Letters
AsciiDoc also turned out to be perfect for personal documents. My resumé now lives in a version-controlled .adoc file. When I need to update or customize it, I make a quick edit and generate a clean PDF—always consistent, always professional-looking.

Internal Docs & Templates
It didn’t take long before I started using AsciiDoc for internal documents too—onboarding guides, process documentation, even one-pagers for internal tools. The structure and formatting stay consistent, and having everything in Git makes collaboration easy.
Data-Driven Documents
While I mostly write plain docs, it’s also possible to generate AsciiDoc content from external data—like JSON files or APIs. That opens the door to automating reports, summaries, or even personalized letters or invoices. I don’t use this every day, but it’s a powerful trick to keep in your back pocket.
What is AsciiDoc, Anyway?
AsciiDoc is a lightweight markup language for writing structured documents in plain text. It’s similar to Markdown, but with more built-in features—like tables of contents, callouts, cross-references, reusable variables, and better PDF output support.
You write your content in .adoc files using a clean, readable syntax, and then use a tool like asciidoctor to convert it into HTML, PDF, or other formats.
Here’s a tiny example:
= Jane Doe
:email: jane@example.com
:github: janedoe
== Summary
Experienced software engineer with a focus on backend systems and distributed architectures.
== Experience
*Senior Developer*, Acme Corp (2021–Present) +
Led the migration to a microservices-based architecture...
== Skills
- C#
- PostgreSQL
- Docker
When rendered, this becomes a clean, professional PDF or webpage—with no layout fiddling or Word doc alignment nightmares.
If you’ve used Markdown, it’ll feel familiar. But unlike Markdown, AsciiDoc was built for writing actual documents—not just README files.
Writing in AsciiDoc
AsciiDoc is designed to feel like Markdown, but with just enough power to handle real-world documents:
- Use
=, ==
, etc. for section levels - Add callouts like NOTE:, TIP:, or IMPORTANT:
- Create tables, lists, and source code blocks with minimal syntax
- Use attributes (:author:, :toc:) to control document settings
Because it’s all plain text, you can write in your favorite editor—whether it’s VS Code, Emacs, or even Vim—and version everything with Git.
Styling your documents
By default, AsciiDoctor PDF generates clean and readable documents. But when you want more control - like adding your own fonts, colors, or logo - you can create a custom theme file:
# custom-theme.yml
extends: default
title_page:
align: center
font_color: #F46C2C
logo:
image: image:docuforge-logo.png[width=100]
heading:
font_color: #333333
h1_font_size: 20
Custom themes let you:
- Control layout (title page, TOC, spacing)
- Add brand identity (logos, colors)
- Define reusable typography
Themes are just YAML files—easy to tweak, version, and reuse.
Generating PDFs
Once your content is written and styled, generating a PDF is just a single command away. With asciidoctor installed, you can run:
This gives you a clean, styled PDF—ready to share or submit.
If you’re working with multiple documents, or want to apply consistent settings, it’s helpful to wrap this in a small shell script (like build.sh) and reuse it across projects. Want to go one step further and automate this in CI/CD? Check out my example repo where I use GitHub Actions to build and publish documents automatically.
Conclusion
Using AsciiDoc is a clean and efficient way to generate reusable, professional documents. Whether it’s something you create regularly—like technical assessments—or something you only need occasionally—like a resumé or internal template—AsciiDoc helps you keep everything versioned, consistent, and easy to update.
Once you’ve written your content, adding a CI/CD pipeline can make publishing and exporting even smoother. No need to install anything locally to generate a PDF—just commit, push, and let your pipeline do the rest.
That said, writing and reviewing your content locally often provides a better feedback loop, especially when you’re experimenting with structure or formatting. Either way, you’re working in plain text, which means fewer distractions and more control.
AsciiDoc won’t magically write your content for you—but it will make the process a whole lot more enjoyable (and repeatable) once you do.