feat[posts] Added post on resume production

This commit is contained in:
Judah Sotomayor 2024-01-09 22:41:35 -05:00
parent ef43fe3f0a
commit c86a7dfa7e
Signed by: judahsotomayor
SSH Key Fingerprint: SHA256:9Dq4ppxhfAjbX+7HLXEt+ROMiIojI6kqQgUyFUJb9lI
7 changed files with 2340 additions and 16 deletions

220
feed.xml
View File

@ -17,8 +17,8 @@
<link>https://judah.freedomland.xyz//</link> <link>https://judah.freedomland.xyz//</link>
<description><![CDATA[]]></description> <description><![CDATA[]]></description>
<language>en</language> <language>en</language>
<pubDate>Wed, 27 Dec 2023 00:00:00 -0500</pubDate> <pubDate>Tue, 09 Jan 2024 00:00:00 -0500</pubDate>
<lastBuildDate>Wed, 27 Dec 2023 22:58:08 -0500</lastBuildDate> <lastBuildDate>Tue, 09 Jan 2024 22:41:01 -0500</lastBuildDate>
<generator>weblorg 0.1.0 (https://emacs.love/weblorg)</generator> <generator>weblorg 0.1.0 (https://emacs.love/weblorg)</generator>
<webMaster>Judah Sotomayor</webMaster> <webMaster>Judah Sotomayor</webMaster>
<image> <image>
@ -28,6 +28,206 @@
</image> </image>
<item>
<title>Writing a Resume with Org-Mode</title>
<link>https://judah.freedomland.xyz//posts/writing-resume-org.html</link>
<author>author@mail.com (Blog Author)</author>
<guid isPermaLink="false">https://judah.freedomland.xyz//posts/writing-resume-org.html</guid>
<pubDate>Tue, 09 Jan 2024 00:00:00 -0500</pubDate>
<description><![CDATA[<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#setup">1. Setup</a>
<ul>
<li><a href="#installing-the-template">1.1. Installing the Template</a></li>
<li><a href="#preparing-org-mode">1.2. Preparing Org-Mode</a>
<ul>
<li><a href="#custom-class-org">1.2.1. Custom Class</a></li>
<li><a href="#lualatex-as-pdf-processor">1.2.2. Lualatex as PDF Processor</a></li>
<li><a href="#ox-extra-for-ignore-tags">1.2.3. ox-extra for ":ignore:" tags</a></li>
</ul>
</li>
<li><a href="#creating-the-macros">1.3. Creating the Macros</a></li>
</ul>
</li>
<li><a href="#writing-your-resume">2. Writing your Resume</a></li>
<li><a href="#future-improvements">3. Future improvements.</a></li>
</ul>
</div>
</div>
<p>
I use org-mode as my document production software.
This means that I produce everything in Org.
Notes, papers, presentations, and now my resume.
</p>
<p>
When I began looking at resume production with Org, I noticed the lack of straightforward packages and user guides.
I'm sure there's something out there, but I sure couldn't find it.
</p>
<p>
The simplest raw-org method I found is the use of <a href="https://orgmode.org/manual/Macro-Replacement.html">macros</a>, along with a custom export-template.
This approach is nice because it can be adaptede to any standard LaTeX template.
In my case, <a href="https://github.com/dnl-blkv/mcdowell-cv/blob/master/mcdowellcv.cls">McDowell CV</a> by Daniil Belyakov is perfect.
</p>
<div id="outline-container-setup" class="outline-2">
<h2 id="setup"><span class="section-number-2">1.</span> Setup</h2>
<div class="outline-text-2" id="text-setup">
</div>
<div id="outline-container-installing-the-template" class="outline-3">
<h3 id="installing-the-template"><span class="section-number-3">1.1.</span> Installing the Template</h3>
<div class="outline-text-3" id="text-1-1">
<p>
First, get the <code>.cls</code> for your desired template.
If it's on texlive, just install it the usual way.
Since the template I want is on Github, I'll just put the <code>.cls</code> into <code>/home/user/texmf/tex/latex/</code>.
</p>
</div>
</div>
<div id="outline-container-preparing-org-mode" class="outline-3">
<h3 id="preparing-org-mode"><span class="section-number-3">1.2.</span> Preparing Org-Mode</h3>
<div class="outline-text-3" id="text-preparing-org-mode">
</div>
<div id="outline-container-custom-class-org" class="outline-4">
<h4 id="custom-class-org"><span class="section-number-4">1.2.1.</span> Custom Class</h4>
<div class="outline-text-4" id="text-custom-class-org">
<p>
I add a custom entry to <code>org-latex-classes</code> to make use of McDowellcv:
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(add-to-list 'org-latex-classes
'(<span class="org-string">"mcdowellcv"</span>
<span class="org-string">"\\documentclass[]{mcdowellcv}</span>
<span class="org-string"> \\usepackage{amsmath}</span>
<span class="org-string"> \\usepackage[]{multicol}</span>
<span class="org-string"> \\usepackage[hidelinks]{hyperref}</span>
<span class="org-string"> [NO-DEFAULT-PACKAGES]</span>
<span class="org-string"> [NO-PACKAGES]"</span>
(<span class="org-string">"\\section{%s}"</span> . <span class="org-string">"\\section*{%s}"</span>)
(<span class="org-string">"\\subsection{%s}"</span> . <span class="org-string">"\\subsection*{%s}"</span>)
(<span class="org-string">"\\subsubsection{%s}"</span> . <span class="org-string">"\\subsubsection*{%s}"</span>)
(<span class="org-string">"\\paragraph{%s}"</span> . <span class="org-string">"\\paragraph*{%s}"</span>)
(<span class="org-string">"\\subparagraph{%s}"</span> . <span class="org-string">"\\subparagraph*{%s}"</span>)))
</pre>
</div>
<p>
Note that I prevent Org-mode from adding any extra packages to this.
Then I custom-add the <code>multicol</code> and <code>hyperref</code> packages.
</p>
</div>
</div>
<div id="outline-container-lualatex-as-pdf-processor" class="outline-4">
<h4 id="lualatex-as-pdf-processor"><span class="section-number-4">1.2.2.</span> Lualatex as PDF Processor</h4>
<div class="outline-text-4" id="text-1-2-2">
<p>
This template requires lualatex a its pdf producer.
While you could set this as a per-document setting, I like it well enough for everything.
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(after! ox-latex
(<span class="org-keyword">setq</span> org-latex-pdf-process
'(<span class="org-string">"lualatex --output-directory=/home/user/Documents -shell-escape -interaction nonstopmode %f"</span>)))
</pre>
</div>
</div>
</div>
<div id="outline-container-ox-extra-for-ignore-tags" class="outline-4">
<h4 id="ox-extra-for-ignore-tags"><span class="section-number-4">1.2.3.</span> ox-extra for ":ignore:" tags</h4>
<div class="outline-text-4" id="text-1-2-3">
<p>
I want to be able to ignore headings on export.
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp"> (use-package! ox-extra
<span class="org-builtin">:after</span> (org)
<span class="org-builtin">:config</span>
(ox-extras-activate '(latex-header-blocks ignore-headlines)))
(add-to-list 'org-tags-exclude-from-inheritance <span class="org-string">"ignore"</span>)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-creating-the-macros" class="outline-3">
<h3 id="creating-the-macros"><span class="section-number-3">1.3.</span> Creating the Macros</h3>
<div class="outline-text-3" id="text-1-3">
<p>
At the top of my resume file I use a config block to keep my macro definitions tidy:
</p>
<div class="org-src-container">
<pre class="src src-org"><span class="org-org-drawer">:CONFIG:</span>
<span class="org-org-meta-line">#+LATEX_CLASS: mcdowellcv</span>
<span class="org-org-meta-line">#+OPTIONS: toc:nil title:nil</span>
<span class="org-org-meta-line">#+MACRO: cvsection \begin{cvsection}{$1}</span>
<span class="org-org-meta-line">#+MACRO: end-cvsection \end{cvsection}</span>
<span class="org-org-meta-line">#+MACRO: cvsubsection \begin{cvsubsection}{$1}{$2}{$3}</span>
<span class="org-org-meta-line">#+MACRO: end-cvsubsection \end{cvsubsection}</span>
<span class="org-org-drawer">:END:</span>
</pre>
</div>
<p>
Other options can be set here as well, of course.
</p>
<p>
If you're using some other resume template, or even some unrelated LaTeX template,
you can see how easy it would be to adapt the macro workflow.
</p>
</div>
</div>
</div>
<div id="outline-container-writing-your-resume" class="outline-2">
<h2 id="writing-your-resume"><span class="section-number-2">2.</span> Writing your Resume</h2>
<div class="outline-text-2" id="text-2">
<p>
After you've set up your macros, use is simple.
You use standard org headlines with the <code>ignore</code> tag to structure your document, and then macros to manage the cv content.
<img src="https://judah.freedomland.xyz//static/img/edu-record-sample.svg" alt="image" />
Notice that I separate the ending macros using another header line.
I'm not sure why that's necessary, but when I attempt to remove it, export breaks.
</p>
<p>
I like to keep my resume on a single sheet.
This requires some content juggling, but it forces me to filter out everything that is unimportant.
Of course, being young I have little content and so I can fit just about everything.
</p>
<p>
If you're in school, the careers department can almost certainly help you out with more specific style guides.
</p>
</div>
</div>
<div id="outline-container-future-improvements" class="outline-2">
<h2 id="future-improvements"><span class="section-number-2">3.</span> Future improvements.</h2>
<div class="outline-text-2" id="text-3">
<p>
Back when configuring the <a href="#custom-class-org">custom class</a> you may have noticed the rows of cons cells underneath the header-string.
These define what each level of org-header is to translate into.
If you're paying attention you've also noticed that McDowellCV provides a set of commands <code>cvsection</code> and <code>cvsubsection</code> that would work perfectly in this scenario.
You're right, except that these commands require extra properties to specify dates and other features.
</p>
<p>
At some point I'll figure out how to pass parameters into them through the default header-export mechanism.
For now I'm comfortable with my macros.
</p>
</div>
</div>
]]></description>
</item>
<item> <item>
<title>In Pursuit of an Efficient Org-Agenda</title> <title>In Pursuit of an Efficient Org-Agenda</title>
<link>https://judah.freedomland.xyz//posts/efficient-org-agenda.html</link> <link>https://judah.freedomland.xyz//posts/efficient-org-agenda.html</link>
@ -373,8 +573,10 @@ The default org-mode todo manager is fine, but with the addition of <a href="htt
</p> </p>
</div> </div>
<div id="outline-container-write-ten-zettels" class="outline-4"> <div id="outline-container-kill-write-ten-zettels" class="outline-4">
<h4 id="write-ten-zettels"><span class="todo TODO">TODO</span> Write ten zettels</h4> <h4 id="kill-write-ten-zettels">KILL Write ten zettels</h4>
<div class="outline-text-4">
</div>
</div> </div>
<div id="outline-container-rewrite-d12frosted-s-absurd-code-into-a-simple-ripgrep-script" class="outline-4"> <div id="outline-container-rewrite-d12frosted-s-absurd-code-into-a-simple-ripgrep-script" class="outline-4">
<h4 id="rewrite-d12frosted-s-absurd-code-into-a-simple-ripgrep-script"><span class="todo TODO">TODO</span> Rewrite d12frosted's absurd code into a simple ripgrep script</h4> <h4 id="rewrite-d12frosted-s-absurd-code-into-a-simple-ripgrep-script"><span class="todo TODO">TODO</span> Rewrite d12frosted's absurd code into a simple ripgrep script</h4>
@ -478,7 +680,7 @@ If any project purports to be from me, and is <i>not</i> signed by this key, the
<div id="outline-container-key" class="outline-2"> <div id="outline-container-key" class="outline-2">
<h2 id="key">Key:</h2> <h2 id="key">Key:</h2>
<div class="outline-text-2"> <div class="outline-text-2">
<pre class="example" id="org00f7ab6"> <pre class="example" id="org9d59812">
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII0YkBVeeBhoCm/+6mCteO7Ikv528ZDmg/tYtWc6O1qP ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII0YkBVeeBhoCm/+6mCteO7Ikv528ZDmg/tYtWc6O1qP
@ -489,7 +691,7 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII0YkBVeeBhoCm/+6mCteO7Ikv528ZDmg/tYtWc6O1qP
<div id="outline-container-fingerprint" class="outline-2"> <div id="outline-container-fingerprint" class="outline-2">
<h2 id="fingerprint">Fingerprint:</h2> <h2 id="fingerprint">Fingerprint:</h2>
<div class="outline-text-2"> <div class="outline-text-2">
<pre class="example" id="org8d4e235"> <pre class="example" id="org813a9af">
SHA256:9Dq4ppxhfAjbX+7HLXEt+ROMiIojI6kqQgUyFUJb9lI SHA256:9Dq4ppxhfAjbX+7HLXEt+ROMiIojI6kqQgUyFUJb9lI
@ -544,8 +746,8 @@ You can check that the latest commits are signed with my key.
<author>author@mail.com (Blog Author)</author> <author>author@mail.com (Blog Author)</author>
<guid isPermaLink="false">https://judah.freedomland.xyz//posts/qubesos-signing-key.html</guid> <guid isPermaLink="false">https://judah.freedomland.xyz//posts/qubesos-signing-key.html</guid>
<description><![CDATA[<div class="alert" id="org1069968"> <description><![CDATA[<div class="alert" id="org040875a">
<div class="alert-heading" id="org7baa11e"> <div class="alert-heading" id="orgf64a64d">
<p> <p>
Double check your keys! Double check your keys!
</p> </p>
@ -573,7 +775,7 @@ Qubes release keys and developer keys are all signed with the QMSK.
Please see <a href="https://www.qubes-os.org/security/verifying-signatures/#how-to-import-and-authenticate-the-qubes-master-signing-key">the Qubes website</a> for more information. Please see <a href="https://www.qubes-os.org/security/verifying-signatures/#how-to-import-and-authenticate-the-qubes-master-signing-key">the Qubes website</a> for more information.
</p> </p>
<pre class="example" id="org5a5c928"> <pre class="example" id="org995f1d2">
427F 11FD 0FAA 4B08 0123 427F 11FD 0FAA 4B08 0123
F0IC DDFA 1A3E 3687 9494 F0IC DDFA 1A3E 3687 9494

View File

@ -42,6 +42,15 @@
<ul class="posts"> <ul class="posts">
<li class="post-title">
<a href="https://judah.freedomland.xyz//posts/writing-resume-org.html">
Jan 09, 2024 &mdash;
Writing a Resume with Org-Mode
</a>
</li>
<li class="post-title"> <li class="post-title">
<a href="https://judah.freedomland.xyz//posts/efficient-org-agenda.html"> <a href="https://judah.freedomland.xyz//posts/efficient-org-agenda.html">

View File

@ -63,7 +63,7 @@ If any project purports to be from me, and is <i>not</i> signed by this key, the
<div id="outline-container-key" class="outline-2"> <div id="outline-container-key" class="outline-2">
<h2 id="key">Key:</h2> <h2 id="key">Key:</h2>
<div class="outline-text-2"> <div class="outline-text-2">
<pre class="example" id="org4a19c68"> <pre class="example" id="org9b0bd06">
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII0YkBVeeBhoCm/+6mCteO7Ikv528ZDmg/tYtWc6O1qP ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII0YkBVeeBhoCm/+6mCteO7Ikv528ZDmg/tYtWc6O1qP
@ -74,7 +74,7 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII0YkBVeeBhoCm/+6mCteO7Ikv528ZDmg/tYtWc6O1qP
<div id="outline-container-fingerprint" class="outline-2"> <div id="outline-container-fingerprint" class="outline-2">
<h2 id="fingerprint">Fingerprint:</h2> <h2 id="fingerprint">Fingerprint:</h2>
<div class="outline-text-2"> <div class="outline-text-2">
<pre class="example" id="org1dfa8c6"> <pre class="example" id="orgc152264">
SHA256:9Dq4ppxhfAjbX+7HLXEt+ROMiIojI6kqQgUyFUJb9lI SHA256:9Dq4ppxhfAjbX+7HLXEt+ROMiIojI6kqQgUyFUJb9lI

View File

@ -52,8 +52,8 @@
</section> </section>
<section> <section>
<div class="alert" id="org6558c15"> <div class="alert" id="org5b62a21">
<div class="alert-heading" id="org3dbd5c3"> <div class="alert-heading" id="org42f3f11">
<p> <p>
Double check your keys! Double check your keys!
</p> </p>
@ -81,7 +81,7 @@ Qubes release keys and developer keys are all signed with the QMSK.
Please see <a href="https://www.qubes-os.org/security/verifying-signatures/#how-to-import-and-authenticate-the-qubes-master-signing-key">the Qubes website</a> for more information. Please see <a href="https://www.qubes-os.org/security/verifying-signatures/#how-to-import-and-authenticate-the-qubes-master-signing-key">the Qubes website</a> for more information.
</p> </p>
<pre class="example" id="org0f0642a"> <pre class="example" id="org9732e81">
427F 11FD 0FAA 4B08 0123 427F 11FD 0FAA 4B08 0123
F0IC DDFA 1A3E 3687 9494 F0IC DDFA 1A3E 3687 9494

View File

@ -216,8 +216,10 @@ The default org-mode todo manager is fine, but with the addition of <a href="htt
</p> </p>
</div> </div>
<div id="outline-container-write-ten-zettels" class="outline-4"> <div id="outline-container-kill-write-ten-zettels" class="outline-4">
<h4 id="write-ten-zettels"><span class="todo TODO">TODO</span> Write ten zettels</h4> <h4 id="kill-write-ten-zettels">KILL Write ten zettels</h4>
<div class="outline-text-4">
</div>
</div> </div>
<div id="outline-container-rewrite-d12frosted-s-absurd-code-into-a-simple-ripgrep-script" class="outline-4"> <div id="outline-container-rewrite-d12frosted-s-absurd-code-into-a-simple-ripgrep-script" class="outline-4">
<h4 id="rewrite-d12frosted-s-absurd-code-into-a-simple-ripgrep-script"><span class="todo TODO">TODO</span> Rewrite d12frosted's absurd code into a simple ripgrep script</h4> <h4 id="rewrite-d12frosted-s-absurd-code-into-a-simple-ripgrep-script"><span class="todo TODO">TODO</span> Rewrite d12frosted's absurd code into a simple ripgrep script</h4>

View File

@ -0,0 +1,263 @@
<!doctype html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<title>
Open Thoughts
</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="author" content="Judah Sotomayor" />
<meta property="og:title" content="Writing a Resume with Org-Mode">
<meta property="og:url" content="https://judah.freedomland.xyz//posts/writing-resume-org.html">
<meta name="twitter:card" content="summary_large_image">
<link rel="stylesheet" href="https://judah.freedomland.xyz//static/style.css" type="text/css" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lora&family=Space+Mono&display=swap" />
</head>
<body>
<header>
<h1>
<a href="https://judah.freedomland.xyz//">
Open Thoughts
</a>
</h1>
<a href="#main" class="visually-hidden">jump to main content</a>
<nav>
<ul class="menu">
<li><a href="https://judah.freedomland.xyz//about">about</a></li>
<li><a href="https://judah.freedomland.xyz//">blog</a></li>
</ul>
</nav>
</header>
<main id="main">
<article class="post">
<h1 class="post__title">
Writing a Resume with Org-Mode
</h1>
<section class="post__meta">
Jan 09, 2024
</section>
<section>
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#setup">1. Setup</a>
<ul>
<li><a href="#installing-the-template">1.1. Installing the Template</a></li>
<li><a href="#preparing-org-mode">1.2. Preparing Org-Mode</a>
<ul>
<li><a href="#custom-class-org">1.2.1. Custom Class</a></li>
<li><a href="#lualatex-as-pdf-processor">1.2.2. Lualatex as PDF Processor</a></li>
<li><a href="#ox-extra-for-ignore-tags">1.2.3. ox-extra for ":ignore:" tags</a></li>
</ul>
</li>
<li><a href="#creating-the-macros">1.3. Creating the Macros</a></li>
</ul>
</li>
<li><a href="#writing-your-resume">2. Writing your Resume</a></li>
<li><a href="#future-improvements">3. Future improvements.</a></li>
</ul>
</div>
</div>
<p>
I use org-mode as my document production software.
This means that I produce everything in Org.
Notes, papers, presentations, and now my resume.
</p>
<p>
When I began looking at resume production with Org, I noticed the lack of straightforward packages and user guides.
I'm sure there's something out there, but I sure couldn't find it.
</p>
<p>
The simplest raw-org method I found is the use of <a href="https://orgmode.org/manual/Macro-Replacement.html">macros</a>, along with a custom export-template.
This approach is nice because it can be adaptede to any standard LaTeX template.
In my case, <a href="https://github.com/dnl-blkv/mcdowell-cv/blob/master/mcdowellcv.cls">McDowell CV</a> by Daniil Belyakov is perfect.
</p>
<div id="outline-container-setup" class="outline-2">
<h2 id="setup"><span class="section-number-2">1.</span> Setup</h2>
<div class="outline-text-2" id="text-setup">
</div>
<div id="outline-container-installing-the-template" class="outline-3">
<h3 id="installing-the-template"><span class="section-number-3">1.1.</span> Installing the Template</h3>
<div class="outline-text-3" id="text-1-1">
<p>
First, get the <code>.cls</code> for your desired template.
If it's on texlive, just install it the usual way.
Since the template I want is on Github, I'll just put the <code>.cls</code> into <code>/home/user/texmf/tex/latex/</code>.
</p>
</div>
</div>
<div id="outline-container-preparing-org-mode" class="outline-3">
<h3 id="preparing-org-mode"><span class="section-number-3">1.2.</span> Preparing Org-Mode</h3>
<div class="outline-text-3" id="text-preparing-org-mode">
</div>
<div id="outline-container-custom-class-org" class="outline-4">
<h4 id="custom-class-org"><span class="section-number-4">1.2.1.</span> Custom Class</h4>
<div class="outline-text-4" id="text-custom-class-org">
<p>
I add a custom entry to <code>org-latex-classes</code> to make use of McDowellcv:
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(add-to-list 'org-latex-classes
'(<span class="org-string">"mcdowellcv"</span>
<span class="org-string">"\\documentclass[]{mcdowellcv}</span>
<span class="org-string"> \\usepackage{amsmath}</span>
<span class="org-string"> \\usepackage[]{multicol}</span>
<span class="org-string"> \\usepackage[hidelinks]{hyperref}</span>
<span class="org-string"> [NO-DEFAULT-PACKAGES]</span>
<span class="org-string"> [NO-PACKAGES]"</span>
(<span class="org-string">"\\section{%s}"</span> . <span class="org-string">"\\section*{%s}"</span>)
(<span class="org-string">"\\subsection{%s}"</span> . <span class="org-string">"\\subsection*{%s}"</span>)
(<span class="org-string">"\\subsubsection{%s}"</span> . <span class="org-string">"\\subsubsection*{%s}"</span>)
(<span class="org-string">"\\paragraph{%s}"</span> . <span class="org-string">"\\paragraph*{%s}"</span>)
(<span class="org-string">"\\subparagraph{%s}"</span> . <span class="org-string">"\\subparagraph*{%s}"</span>)))
</pre>
</div>
<p>
Note that I prevent Org-mode from adding any extra packages to this.
Then I custom-add the <code>multicol</code> and <code>hyperref</code> packages.
</p>
</div>
</div>
<div id="outline-container-lualatex-as-pdf-processor" class="outline-4">
<h4 id="lualatex-as-pdf-processor"><span class="section-number-4">1.2.2.</span> Lualatex as PDF Processor</h4>
<div class="outline-text-4" id="text-1-2-2">
<p>
This template requires lualatex a its pdf producer.
While you could set this as a per-document setting, I like it well enough for everything.
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(after! ox-latex
(<span class="org-keyword">setq</span> org-latex-pdf-process
'(<span class="org-string">"lualatex --output-directory=/home/user/Documents -shell-escape -interaction nonstopmode %f"</span>)))
</pre>
</div>
</div>
</div>
<div id="outline-container-ox-extra-for-ignore-tags" class="outline-4">
<h4 id="ox-extra-for-ignore-tags"><span class="section-number-4">1.2.3.</span> ox-extra for ":ignore:" tags</h4>
<div class="outline-text-4" id="text-1-2-3">
<p>
I want to be able to ignore headings on export.
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp"> (use-package! ox-extra
<span class="org-builtin">:after</span> (org)
<span class="org-builtin">:config</span>
(ox-extras-activate '(latex-header-blocks ignore-headlines)))
(add-to-list 'org-tags-exclude-from-inheritance <span class="org-string">"ignore"</span>)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-creating-the-macros" class="outline-3">
<h3 id="creating-the-macros"><span class="section-number-3">1.3.</span> Creating the Macros</h3>
<div class="outline-text-3" id="text-1-3">
<p>
At the top of my resume file I use a config block to keep my macro definitions tidy:
</p>
<div class="org-src-container">
<pre class="src src-org"><span class="org-org-drawer">:CONFIG:</span>
<span class="org-org-meta-line">#+LATEX_CLASS: mcdowellcv</span>
<span class="org-org-meta-line">#+OPTIONS: toc:nil title:nil</span>
<span class="org-org-meta-line">#+MACRO: cvsection \begin{cvsection}{$1}</span>
<span class="org-org-meta-line">#+MACRO: end-cvsection \end{cvsection}</span>
<span class="org-org-meta-line">#+MACRO: cvsubsection \begin{cvsubsection}{$1}{$2}{$3}</span>
<span class="org-org-meta-line">#+MACRO: end-cvsubsection \end{cvsubsection}</span>
<span class="org-org-drawer">:END:</span>
</pre>
</div>
<p>
Other options can be set here as well, of course.
</p>
<p>
If you're using some other resume template, or even some unrelated LaTeX template,
you can see how easy it would be to adapt the macro workflow.
</p>
</div>
</div>
</div>
<div id="outline-container-writing-your-resume" class="outline-2">
<h2 id="writing-your-resume"><span class="section-number-2">2.</span> Writing your Resume</h2>
<div class="outline-text-2" id="text-2">
<p>
After you've set up your macros, use is simple.
You use standard org headlines with the <code>ignore</code> tag to structure your document, and then macros to manage the cv content.
<img src="https://judah.freedomland.xyz//static/img/edu-record-sample.svg" alt="image" />
Notice that I separate the ending macros using another header line.
I'm not sure why that's necessary, but when I attempt to remove it, export breaks.
</p>
<p>
I like to keep my resume on a single sheet.
This requires some content juggling, but it forces me to filter out everything that is unimportant.
Of course, being young I have little content and so I can fit just about everything.
</p>
<p>
If you're in school, the careers department can almost certainly help you out with more specific style guides.
</p>
</div>
</div>
<div id="outline-container-future-improvements" class="outline-2">
<h2 id="future-improvements"><span class="section-number-2">3.</span> Future improvements.</h2>
<div class="outline-text-2" id="text-3">
<p>
Back when configuring the <a href="#custom-class-org">custom class</a> you may have noticed the rows of cons cells underneath the header-string.
These define what each level of org-header is to translate into.
If you're paying attention you've also noticed that McDowellCV provides a set of commands <code>cvsection</code> and <code>cvsubsection</code> that would work perfectly in this scenario.
You're right, except that these commands require extra properties to specify dates and other features.
</p>
<p>
At some point I'll figure out how to pass parameters into them through the default header-export mechanism.
For now I'm comfortable with my macros.
</p>
</div>
</div>
</section>
</article>
</main>
<footer>
Made with &#x2665; and&nbsp;
<a href="https://emacs.love/weblorg" target="_blank">
weblorg
</a>
</footer>
</body>
</html>

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 136 KiB