Resume in LuaLatex
Resume in LuaLatex using json sources. Work in progress on HTML page based on the same json sources.
%-------------------------------------------
% Resume in LuaLatex
% Author: Kumar Pallav
% (Works with Overleaf)
%-------------------------------------------
\documentclass[letterpaper,11pt]{article}
\usepackage{latexsym}
\usepackage[empty]{fullpage}
\usepackage{titlesec}
\usepackage{marvosym}
\usepackage[usenames,dvipsnames]{color}
\usepackage{verbatim}
\usepackage{enumitem}
\usepackage{fancyhdr}
\usepackage[urw-garamond]{mathdesign}
\RequirePackage{luatex85}
\usepackage{pdfcomment}
\usepackage{luacode}
\pagestyle{fancy}
\fancyhf{} % clear all header and footer fields
\fancyfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
% Adjust margins
%-------------------------------------------
\addtolength{\oddsidemargin}{-0.475in}
\addtolength{\evensidemargin}{-0.375in}
\addtolength{\textwidth}{1in}
\addtolength{\topmargin}{-.5in}
\addtolength{\textheight}{1.0in}
\urlstyle{same}
\raggedright
\setlength{\tabcolsep}{0in}
% Sections formatting
%-------------------------------------------
\titleformat{\section}{
\vspace{-4pt}\scshape\raggedright\large
}{}{0em}{}[\color{black}\titlerule \vspace{-5pt}]
% Custom commands
%-------------------------------------------
\newcommand{\resumeItem}[2]{
\item{
\textbf{#1}{: \small #2 \vspace{-2pt}}
}
}
\newcommand{\resumeEduEntry}[4]{
\vspace{-1pt}\item
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
\textbf{#1} & #2 \\
\textit{#3} & \textit{#4} \\
\end{tabular*}\vspace{-5pt}
}
\newcommand{\resumeExpEntry}[5]{
\vspace{-1pt}\item
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
\textbf{#1} & #2 \\
\textit{#3 $\cdot$ #4} & \textit{#5} \\
\end{tabular*}\vspace{-5pt}
}
\newcommand{\resumeSubItem}[2]{\resumeItem{#1}{#2}\vspace{-4pt}}
\renewcommand{\labelitemii}{$\circ$}
\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=*,label={}]}
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
\newcommand{\resumeItemListStart}{\setlist{rightmargin=10pt}\begin{itemize}}
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}
\begin{document}
% Load lua script
%-------------------------------------------
\begin{luacode}
require("lua/parser.lua")
\end{luacode}
% Print Heading
%-------------------------------------------
\directlua{printHeading("_data/personal.json")}
% Print Education
%-------------------------------------------
\section{Education}
\resumeSubHeadingListStart
\directlua{printEduItems("_data/edu.json")}
\resumeSubHeadingListEnd
% Print Experience
%-------------------------------------------
\section{Experience}
\resumeSubHeadingListStart
\directlua{printExpItems("_data/exp.json")}
\resumeSubHeadingListEnd
% Print Projects
%-------------------------------------------
\section{\href{https://github.com/pforpallav}{Projects}}
\resumeSubHeadingListStart
\directlua{printProjItems("_data/proj.json")}
\resumeSubHeadingListEnd
% Print Skills
%-------------------------------------------
\section{Programming Skills}
\resumeSubHeadingListStart
\item{
\textbf{Languages}{: \directlua{printList("_data/personal.json", "languages", "language")}}
\hfill
\textbf{Technologies}{: \directlua{printList("_data/personal.json", "technologies", "technology")}}
}
\resumeSubHeadingListEnd
\end{document}