PDF to Markdown for Hugo: Publish PDF Content as a Website
Hugo turns Markdown into websites. The hard part is going from "PDF in a folder" to "Markdown with the right front matter for Hugo to know what to do with it". Conversion solves the first half; a small front-matter convention solves the second.
The Hugo front matter you need
Hugo parses YAML, TOML, or JSON front matter at the top of every Markdown file. The fields it cares about: title, date, draft, tags, categories, weight. Anything else becomes available as .Params in templates. After conversion, prepend a YAML block with at least title and date and Hugo will treat the file as a publishable page.
Folder layout and taxonomies
Drop converted Markdown into content/{section}/. Hugo creates a section page automatically and routes URLs from the file path. Use tags and categories in front matter for taxonomy pages: Hugo generates archive listings without further configuration. Shortcodes in the body (e.g. {{< figure src="..." >}}) work normally; the converter leaves any text it doesn't understand untouched, so you can mix shortcodes with converted content.
Frequently asked questions
What YAML front matter do I need to add for Hugo?
At minimum: title and date. Recommended additions: tags, categories, draft: false, description. Anything else you put in the front matter is accessible as .Params.fieldname in your templates.
Where in content/ should converted PDFs go?
Match the URL structure you want. content/posts/ for blog-style content, content/docs/ for documentation, content/papers/ for a research archive. Hugo derives the URL from the path, so the folder structure is your information architecture.
Do Hugo shortcodes survive Markdown conversion?
They will if the source PDF contains them as text, but PDFs almost never do. The pattern is to convert the PDF first, then add shortcodes by hand where you need richer rendering (figure captions, embedded videos, callouts). The converter never touches non-Markdown text.
How do I handle taxonomies for converted papers?
Use tags and categories arrays in front matter. Hugo auto-generates taxonomy pages at /tags/{tag}/ and /categories/{cat}/. For research archives, tags: [machine-learning, retrieval] gives you topic landing pages for free.
Can I build a research paper archive site with Hugo + converted PDFs?
Absolutely: this is one of Hugo's sweet spots. Convert each paper to Markdown with author/year/abstract front matter, drop into content/papers/, customise the list template to show the abstract. The result: a fully-searchable static archive with no backend.