1
0
Fork 0

Compare commits

..

10 Commits

16 changed files with 123 additions and 34 deletions

View File

@ -146,21 +146,3 @@ dd {
footer {
text-align: center;
}
footer:has(#signature) {
margin-block-start: 1.5em;
margin-top: 1.5em;
text-align: end;
}
#signature {
margin-block-end: -1.5rem;
margin-bottom: -1.5rem;
max-width: 15em;
}
@media (prefers-color-scheme: dark) {
#signature {
filter: invert();
}
}

47
assets/css/letter.css Normal file
View File

@ -0,0 +1,47 @@
body > header {
padding-block-end: 0.5em;
padding-bottom: 0.5em;
text-align: center;
}
.headline {
margin: 0;
}
header ul {
margin: 0;
padding: 0;
list-style: none;
}
header li {
display: inline;
}
li+li::before {
content: " | ";
}
p {
line-height: 1.4;
}
footer:has(#signature) {
margin-block-start: 1.5em;
margin-top: 1.5em;
text-align: end;
}
#signature {
margin-block-end: -1.375em;
margin-bottom: -1.375em;
margin-block-start: -1em;
margin-top: -0.75em;
max-width: 15em;
}
@media (prefers-color-scheme: dark) {
#signature {
filter: invert();
}
}

2
assets/signature.svg Executable file → Normal file

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -11,6 +11,6 @@
<code>heyainsleymae</code> on <a href="https://codeberg.org/heyainsleymae">Codeberg</a>, <a href="https://github.com/heyainsleymae">GitHub</a>, and <a href="https://npmjs.com/~heyainsleymae">npm</a>
</li>
</ul>
<p>America/New_York (NYC)<br />Remote or hybrid work, open to relocation</p>
<p>America/New_York (NYC)</p>
</address>
</header>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<header>
<h1>Ainsley Ellis</h1>
<p class="headline">Artist, Programmer, Digital Citizen</p>
<ul role="list">
<li><a href="mailto:ainsleymae@proton.me">ainsleymae@proton.me</a></li>
<li><a href="https://ains.me">ains.me</a></li>
</ul>
</header>

View File

@ -17,12 +17,12 @@
</head>
<body>
<main>
<xsl:copy-of select="document('./fragments/header.xml')"/>
<xsl:copy-of select="document('../xml/base/header.xml')"/>
<!-- <xsl:copy-of select="/cv"/> -->
<section id="objective">
<h2>Objective</h2>
<!-- select specific objective from xml file -->
<xsl:copy-of select="document('./fragments/objectives.xml')/objectives/objective[@name='web-development']/node()"/>
<xsl:copy-of select="document('../xml/objectives.xml')/objectives/objective[@name='web-development']/node()"/>
</section>
<section id="work-history">
<h2>Work History</h2>

View File

@ -17,12 +17,12 @@
</head>
<body>
<main>
<xsl:copy-of select="document('./fragments/grad-school/header.xml')"/>
<xsl:copy-of select="document('../xml/grad-school/header.xml')"/>
<!-- <xsl:copy-of select="/cv"/> -->
<section id="motivation">
<h2>Motivation</h2>
<!-- select specific objective from xml file -->
<xsl:copy-of select="document('./fragments/objectives.xml')/objectives/objective[@name='grad-school']/node()"/>
<xsl:copy-of select="document('../xml/objectives.xml')/objectives/objective[@name='grad-school']/node()"/>
</section>
<section id="education">
<h2>Education</h2>

View File

@ -4,6 +4,7 @@
<xsl:param name="company" select="'ACME Corporation'"/>
<xsl:param name="date" select="'01 January 1970'"/>
<xsl:param name="title">Ainsley Ellis: <xsl:value-of select="$company"/> Letter</xsl:param>
<xsl:param name="addressee"><xsl:value-of select="$company"/></xsl:param>
<xsl:template match="/text" data-xmlns="http://www.w3.org/1999/xhtml">
<html lang="en" dir="ltr">
<!-- The Yesterweb is dead, long live the Yesterweb! -->
@ -13,16 +14,17 @@
<meta name="color-scheme" content="light dark" />
<title><xsl:value-of select="$title"/></title>
<link rel="stylesheet" href="../assets/css/all.css" />
<link rel="stylesheet" href="../assets/css/letter.css" />
<link rel="stylesheet" href="../assets/css/screen.css" media="screen" />
<link rel="stylesheet" href="../assets/css/print.css" media="print" />
</head>
<body class="letter">
<xsl:copy-of select="document('./fragments/header.xml')"/>
<xsl:copy-of select="document('../xml/letter/header.xml')"/>
<hr />
<main id="main">
<header>
<p><time><xsl:value-of select="$date"/></time></p>
<p>Dear <xsl:value-of select="$company"/> Hiring Team,</p>
<p>Dear <xsl:value-of select="$addressee"/>,</p>
</header>
<xsl:copy-of select="./node()" />
<footer>

33
cv.xml
View File

@ -7,6 +7,7 @@
<title>Full-Stack Bootcamp Teaching Assistant</title>
<duration>
<start datetime="2021-06">June 2021</start>
<end datetime="2025-06">June 2025</end>
</duration>
<description type="full">
<p>
@ -32,6 +33,7 @@
<title>Senior Tutor</title>
<duration>
<start datetime="2021-10">October 2021</start>
<end datetime="2025-06">June 2025</end>
</duration>
<description type="full">
<p>
@ -61,7 +63,7 @@
<p>
<i>Sixfold</i> is a writer-voted journal of poetry and
short stories. I am in charge of the publication's
website and overall digital presence.
website and distribution, editing each quarterly issue of the magazine.
</p>
<p>
I took over the maintenance of this 11-year-old PHP site and split it in two: a static Eleventy site presents old
@ -82,7 +84,7 @@
<p>
<i>Sixfold</i> is a writer-voted journal of poetry and
short stories. I am in charge of the publication's
website and overall digital presence.
website and distribution, editing each quarterly issue of the magazine.
</p>
</description>
</role>
@ -205,6 +207,21 @@
</description>
</role>
</company>
<company>
<name>Trinity College Dublin</name>
<role>
<title>Lighting &amp; AudioVideo Operator</title>
<production>A Red Scare/Horse Girls</production>
<duration>
<start datetime="2025-10">October 2025</start>
<end datetime="2025-10">October 2025</end>
</duration>
<description type="brief">
<p>I stepped into the DU Players tech box on short notice to operate lights for one show and multimedia for another, quickly acclimating myself to the theatre's rules, capabilities, and procedures.</p>
</description>
<url></url>
</role>
</company>
<company>
<name>Romanian Cultural Institute</name>
<role>
@ -343,6 +360,18 @@
</project>
</foss-contributions>
<education>
<institution>
<name>Trinity College Dublin</name>
<location>Dublin, Co. Dublin, Ireland</location>
<degree>
<level>Master of Philosophy</level>
<concentration>Linguistics</concentration>
<school>School of Linguistic, Speech and Communication Sciences</school>
<duration>
<start datetime="2025-09">September 2025</start>
</duration>
</degree>
</institution>
<institution>
<name>New York University</name>
<location>New York, NY, United States</location>

View File

@ -0,0 +1 @@
/home/ame/Desktop/education/graduate/applications/personal-statment.md

View File

@ -3,5 +3,5 @@ hash="$(git rev-parse HEAD)"
mkdir -p ./dist
xsltproc --stringparam hash "$hash" ./templates/cv.xsl cv.xml > ./dist/cv.html
xsltproc --stringparam hash "$hash" ./assets/xsl/cv.xsl cv.xml > ./dist/cv.html
weasyprint --quiet ./dist/cv.html ./dist/cv.pdf

View File

@ -1,7 +1,25 @@
#!/bin/sh
hash="$(git rev-parse HEAD)"
mkdir -p ./dist
xsltproc ./templates/grad-school.xsl cv.xml > ./dist/grad-school.html
weasyprint --quiet ./dist/grad-school.html ./dist/grad-school.pdf
# CV
xsltproc ./assets/xsl/grad-school.xsl cv.xml > ./dist/cv-grad-school.html
weasyprint --quiet ./dist/cv-grad-school.html ./dist/cv-grad-school.pdf
# Personal Statement
schools=(
'Trinity College Dublin'
'University College Dublin'
'University College Cork'
)
for school in "${schools[@]}";
do
name=$(echo $school | tr ' ' '-' | tr '[:upper:]' '[:lower:]')
temp_file=/tmp/$name-personal-statement.md
sed -e "s/\`INSTITUTION_NAME\`/$school/g" ./letters/grad-school-personal-statement.md > $temp_file
sh ./scripts/letter.sh $temp_file "$school" "$school Admissions Team"
rm $temp_file
mv ./dist/letter.html ./dist/$name-personal-statement.html
mv ./dist/letter.pdf ./dist/$name-personal-statement.pdf
done

View File

@ -2,10 +2,11 @@
hash="$(git rev-parse HEAD)"
body="<text>$(pandoc --from=markdown $1)</text>"
company="$2" || ""
addressee="$3" || ""
date="$(date +'%d %B %Y')"
signature="$(base64 ./assets/signature.svg)"
mkdir -p ./dist
echo $body | xsltproc --stringparam company "$company" --stringparam date "$date" --stringparam signature "$signature" ./templates/letter.xsl - > ./dist/letter.html
echo $body | xsltproc --stringparam company "$company" --stringparam date "$date" --stringparam addressee "$addressee" --stringparam signature "$signature" ./assets/xsl/letter.xsl - > ./dist/letter.html
weasyprint --quiet ./dist/letter.html ./dist/letter.pdf