From c86a7dfa7e2a0a75e34bba33d7eb2dc033b8d7a0 Mon Sep 17 00:00:00 2001 From: J S Date: Tue, 9 Jan 2024 22:41:35 -0500 Subject: [PATCH] feat[posts] Added post on resume production --- feed.xml | 220 ++- index.html | 9 + posts/my-ssh-key.html | 4 +- posts/qubesos-signing-key.html | 6 +- posts/reflections-zettelkasten-tooling.html | 6 +- posts/writing-resume-org.html | 263 +++ static/img/edu-record-sample.svg | 1848 +++++++++++++++++++ 7 files changed, 2340 insertions(+), 16 deletions(-) create mode 100644 posts/writing-resume-org.html create mode 100644 static/img/edu-record-sample.svg diff --git a/feed.xml b/feed.xml index eb5d1b3..65eaccc 100644 --- a/feed.xml +++ b/feed.xml @@ -17,8 +17,8 @@ https://judah.freedomland.xyz// en - Wed, 27 Dec 2023 00:00:00 -0500 - Wed, 27 Dec 2023 22:58:08 -0500 + Tue, 09 Jan 2024 00:00:00 -0500 + Tue, 09 Jan 2024 22:41:01 -0500 weblorg 0.1.0 (https://emacs.love/weblorg) Judah Sotomayor @@ -28,6 +28,206 @@ + + Writing a Resume with Org-Mode + https://judah.freedomland.xyz//posts/writing-resume-org.html + author@mail.com (Blog Author) + https://judah.freedomland.xyz//posts/writing-resume-org.html + + Tue, 09 Jan 2024 00:00:00 -0500 + + +

Table of Contents

+ + +

+I use org-mode as my document production software. +This means that I produce everything in Org. +Notes, papers, presentations, and now my resume. +

+ +

+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. +

+ +

+The simplest raw-org method I found is the use of macros, along with a custom export-template. +This approach is nice because it can be adaptede to any standard LaTeX template. +In my case, McDowell CV by Daniil Belyakov is perfect. +

+ +
+

1. Setup

+
+
+
+

1.1. Installing the Template

+
+

+First, get the .cls 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 .cls into /home/user/texmf/tex/latex/. +

+
+
+
+

1.2. Preparing Org-Mode

+
+
+
+

1.2.1. Custom Class

+
+

+I add a custom entry to org-latex-classes to make use of McDowellcv: +

+
+
(add-to-list 'org-latex-classes
+             '("mcdowellcv"
+               "\\documentclass[]{mcdowellcv}
+                \\usepackage{amsmath}
+                \\usepackage[]{multicol}
+                \\usepackage[hidelinks]{hyperref}
+    [NO-DEFAULT-PACKAGES]
+    [NO-PACKAGES]"
+               ("\\section{%s}" . "\\section*{%s}")
+               ("\\subsection{%s}" . "\\subsection*{%s}")
+               ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
+               ("\\paragraph{%s}" . "\\paragraph*{%s}")
+               ("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
+
+
+
+

+Note that I prevent Org-mode from adding any extra packages to this. +Then I custom-add the multicol and hyperref packages. +

+
+
+ +
+

1.2.2. Lualatex as PDF Processor

+
+

+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. +

+
+
(after! ox-latex
+  (setq org-latex-pdf-process
+  '("lualatex --output-directory=/home/user/Documents -shell-escape -interaction nonstopmode %f")))
+
+
+
+
+ +
+

1.2.3. ox-extra for ":ignore:" tags

+
+

+I want to be able to ignore headings on export. +

+
+
  (use-package! ox-extra
+    :after (org)
+    :config
+    (ox-extras-activate '(latex-header-blocks ignore-headlines)))
+(add-to-list 'org-tags-exclude-from-inheritance "ignore")
+
+
+
+
+
+ +
+

1.3. Creating the Macros

+
+

+At the top of my resume file I use a config block to keep my macro definitions tidy: +

+
+
:CONFIG:
+#+LATEX_CLASS: mcdowellcv
+#+OPTIONS: toc:nil title:nil
+#+MACRO: cvsection \begin{cvsection}{$1}
+#+MACRO: end-cvsection \end{cvsection}
+#+MACRO: cvsubsection \begin{cvsubsection}{$1}{$2}{$3}
+#+MACRO: end-cvsubsection \end{cvsubsection}
+:END:
+
+
+

+Other options can be set here as well, of course. +

+ +

+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. +

+
+
+
+ +
+

2. Writing your Resume

+
+

+After you've set up your macros, use is simple. +You use standard org headlines with the ignore tag to structure your document, and then macros to manage the cv content. +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. +

+ +

+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. +

+ +

+If you're in school, the careers department can almost certainly help you out with more specific style guides. +

+
+
+ +
+

3. Future improvements.

+
+

+Back when configuring the custom class 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 cvsection and cvsubsection that would work perfectly in this scenario. +You're right, except that these commands require extra properties to specify dates and other features. +

+ +

+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. +

+
+
+]]>
+
+ In Pursuit of an Efficient Org-Agenda https://judah.freedomland.xyz//posts/efficient-org-agenda.html @@ -373,8 +573,10 @@ The default org-mode todo manager is fine, but with the addition of -

TODO Write ten zettels

+
+

KILL Write ten zettels

+
+

TODO Rewrite d12frosted's absurd code into a simple ripgrep script

@@ -478,7 +680,7 @@ If any project purports to be from me, and is not signed by this key, the

Key:

-
+
 
 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII0YkBVeeBhoCm/+6mCteO7Ikv528ZDmg/tYtWc6O1qP
 
@@ -489,7 +691,7 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII0YkBVeeBhoCm/+6mCteO7Ikv528ZDmg/tYtWc6O1qP
 

Fingerprint:

-
+
 
 SHA256:9Dq4ppxhfAjbX+7HLXEt+ROMiIojI6kqQgUyFUJb9lI
 
@@ -544,8 +746,8 @@ You can check that the latest commits are signed with my key.
       author@mail.com (Blog Author)
       https://judah.freedomland.xyz//posts/qubesos-signing-key.html
       
-      
-
+ +

Double check your keys!

@@ -573,7 +775,7 @@ Qubes release keys and developer keys are all signed with the QMSK. Please see the Qubes website for more information.

-
+
 
 427F 11FD 0FAA 4B08 0123
 F0IC DDFA 1A3E 3687 9494
diff --git a/index.html b/index.html
index 3d0fdfc..cad5150 100644
--- a/index.html
+++ b/index.html
@@ -42,6 +42,15 @@