Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
mikepqr committed Jul 26, 2020
0 parents commit d20d7ca
Show file tree
Hide file tree
Showing 10 changed files with 358 additions and 0 deletions.
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2020 Mike Lee Williams

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
19 changes: 19 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
.PHONY: resume watch clean

resume: resume.pdf resume.html

watch:
ls *.md *.css | entr make resume

name := $(shell grep "^\#" resume.md | head -1 | sed -e 's/^\#[[:space:]]*//' | xargs)

resume.html: preamble.html resume.md postamble.html
cat preamble.html | sed -e 's/___NAME___/$(name)/' > $@
python -m markdown -x smarty resume.md >> $@
cat postamble.html >> $@

resume.pdf: resume.html resume.css
weasyprint resume.html resume.pdf

clean:
rm -f resume.html resume.pdf
69 changes: 69 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# resume.md

![Resume](resume.png)


Write your resume in
[Markdown](https://raw.githubusercontent.com/williamsmj/resume.md/main/resume.md),
style it with [CSS](resume.css), output to [HTML](resume.html) and
[PDF](resume.pdf).


## Instructions

1. Clone this repository

2. Install the dependencies:
<pre>
pip install <a href="https://python-markdown.github.io/">markdown</a> <a href="https://weasyprint.org/">weasyprint</a>
</pre>

3. Edit [resume.md](resume.md) (the placeholder text is taken with thanks from the
[JSON Resume Project](https://jsonresume.org/themes/))

4. Run `make resume` to build resume.html and resume.pdf.

## Customization

Edit [resume.css](resume.css) to change the appearance of your resume. The
default style is extremely generic, which is perhaps what you want in a resume,
but CSS gives you a lot of flexibility. See, e.g. [The Tech Resume
Inside-Out](https://www.thetechinterview.com/) for good advice about what a
resume should look like (and what it should say).

Because the source is plain markdown and python-markdown is a very bare bones
markdown compiler, elements cannot be tagged with ids or classes in the markdown
source. If you need more control over the HTML, take a look at
[kramdown](https://kramdown.gettalong.org/syntax.html). I chose not to use it
for this project to avoid a non-python dependency.

Change the appearance of the PDF version (without affecting the HTML version) by
adding rules under the `@media print` CSS selector.

Change the margins and paper size of the PDF version by editing the [`@page` CSS
rule](https://developer.mozilla.org/en-US/docs/Web/CSS/%40page/size).

If you make a resume.css that you like, please submit a pull request. I'd be
happy to collect these.

## Tips

Run `make watch` while you are working on your resume to rebuild it whenever
resume.md or resume.css change (requires
[entr](http://eradman.com/entrproject/)).

The simplest way to maintain multiple versions of your resume is to comment bits
of text in or out based on the audience. This can be done with standard HTML
comment syntax (e.g. `<!-- Skills: Microsoft Word -->`) but beware that
commented out text will be included in the HTML source that you are presumably
going to put online or share.

An alternative is to keep snippets of Markdown (or CSS) in separate files, and
collect them into a single file for each version of your resume using a
templating tool, makefile or shell script.

Use, e.g. `git tag` to record which version of the resume you sent to which
person.

Use `git diff --word-diff` to make `git diff` more legible (this applies any
time you run git diff on natural language).
3 changes: 3 additions & 0 deletions postamble.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
</div>
</body>
</html>
8 changes: 8 additions & 0 deletions preamble.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<title>___NAME___</title>
<link rel="stylesheet" type="text/css" href="resume.css">
</head>
<body>
<div id="resume">
110 changes: 110 additions & 0 deletions resume.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
body {
color: #000000;
background: #EEEEEE;
font: 1.1em "Times New Roman";
line-height: 1.2;
margin: 40px 0;
}
#resume {
margin: 0 auto;
max-width: 800px;
padding: 40px 60px;
background: #FFFFFF;
border: 1px solid #CCCCCC;
box-shadow: 2px 2px 4px #AAAAAA;
-webkit-box-shadow: 2px 2px 4px #AAAAAA;
}
h1 {
text-transform: uppercase;
text-align: center;
font-size: 200%;
margin: 0;
padding: 0;
}
h2 {
border-bottom: 1px solid #000000;
text-transform: uppercase;
font-size: 130%;
margin: 1em 0 0 0;
padding: 0;
}
h3 {
font-size: 100%;
margin: 0.8em 0 0.3em 0;
padding: 0;
display: flex;
justify-content: space-between;
}
p {
margin: 0 0 0.5em 0;
padding: 0;
}
ul {
padding: 0;
margin: 0 1.5em;
}
/* ul immediately after h1 = contact list */
h1 + ul {
text-align: center;
margin: 0;
padding: 0;
}
h1 + ul > li {
display: inline;
white-space: pre;
list-style-type: none;
}
h1 + ul > li:after {
content: " \2022 ";
}
h1 + ul > li:last-child:after {
content: "";
}
/* p immediately after contact list = summary */
h1 + ul + p {
margin: 1em 0;
}
@media print {
body {
font-size: 10pt;
margin: 0;
padding: 0;
background: none;
}
#resume {
margin: 0;
padding: 0;
border: 0px;
background: none;
box-shadow: none;
-webkit-box-shadow: none;
}
/* Make links black in PDF */
/* Move this outside the print block to apply this in HTML too */
a, a:link, a:visited, a:hover {
color: #000000;
text-decoration: underline;
}
}
@page {
/* Change margins and paper size of PDF */
/* https://developer.mozilla.org/en-US/docs/Web/CSS/@page */
size: letter;
margin: 0.5in 0.8in;
}
@media screen and (max-width: 800px) {
body {
font-size: 16pt;
margin: 0;
padding: 0;
background: #FFFFFF !important;
}
#resume {
margin: 0;
padding: 1em;
border: 0px;
background: none;
box-shadow: none;
-webkit-box-shadow: none;
}
}
68 changes: 68 additions & 0 deletions resume.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Richard Hendricks</title>
<link rel="stylesheet" type="text/css" href="resume.css">
</head>
<body>
<div id="resume">
<!-- The (first) h1 will be used as the <title> of the HTML page -->

<h1>Richard Hendricks</h1>
<!-- The unordered list immediately after the h1 will be formatted on a single
line. It is intended to be used for contact details -->

<ul>
<li><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#114;&#105;&#99;&#104;&#97;&#114;&#100;&#46;&#104;&#101;&#110;&#100;&#114;&#105;&#107;&#115;&#64;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">&#114;&#105;&#99;&#104;&#97;&#114;&#100;&#46;&#104;&#101;&#110;&#100;&#114;&#105;&#107;&#115;&#64;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;</a></li>
<li>(912) 555-4321</li>
<li><a href="http://richardhendricks.example.com">richardhendricks.example.com</a></li>
<li>San Francisco, CA</li>
</ul>
<!-- The paragraph after the h1 and ul and before the first h2 is optional. It
is intended to be used for a short summary. -->

<p>CEO and Software Engineer with knowledge of applied information theory,
including optimizing lossless compression schema of both the length-limited and
adaptive variants.</p>
<h2>Experience</h2>
<!-- You have to wrap the "left" and "right" half of these headings in spans by
hand -->

<h3><span>CEO/President, Pied Piper</span> <span>Dec 2013 &ndash; Dec 2014</span></h3>
<p>Pied Piper is a multi-platform technology based on a proprietary universal
compression algorithm that has consistently fielded high Weisman Scores™ that
are not merely competitive, but approach the theoretical limit of lossless
compression.</p>
<ul>
<li>Build an algorithm for artist to detect if their music was violating
copyright infringement laws</li>
<li>Successfully won Techcrunch Disrupt</li>
<li>Optimized an algorithm that holds the current world record for Weisman Scores</li>
</ul>
<h3><span>Teacher, CoderDojo</span> <span>July 2013 &ndash; Dec 2013</span></h3>
<p>Global movement of free coding clubs for young people.</p>
<ul>
<li>Awarded &lsquo;Teacher of the Month&rsquo;</li>
</ul>
<h2>Projects</h2>
<h3><span>Miss Direction</span> <span>Aug 2016</span></h3>
<p>A mapping engine that misguides you:</p>
<ul>
<li>Won award at AIHacks 2016</li>
<li>Built by all women team of newbie programmers</li>
<li>Using modern technologies such as GoogleMaps, Chrome Extension and Javascript</li>
</ul>
<h2>Education</h2>
<h3><span>University of Oklahoma, BA Information Technology</span> <span>2011 &ndash; 2014</span></h3>
<ul>
<li>GPA 4.0</li>
<li>DB1101 - Basic SQL</li>
<li>CS2011 - Java Introduction</li>
</ul>
<h2>Skills</h2>
<ul>
<li>Web development: HTML, CSS, JavaScript</li>
<li>Compression: Mpeg, MP4, GIF</li>
</ul></div>
</body>
</html>
60 changes: 60 additions & 0 deletions resume.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<!-- The (first) h1 will be used as the <title> of the HTML page -->
# Richard Hendricks

<!-- The unordered list immediately after the h1 will be formatted on a single
line. It is intended to be used for contact details -->
- <[email protected]>
- (912) 555-4321
- [richardhendricks.example.com](http://richardhendricks.example.com)
- San Francisco, CA

<!-- The paragraph after the h1 and ul and before the first h2 is optional. It
is intended to be used for a short summary. -->
CEO and Software Engineer with knowledge of applied information theory,
including optimizing lossless compression schema of both the length-limited and
adaptive variants.

## Experience

<!-- You have to wrap the "left" and "right" half of these headings in spans by
hand -->
### <span>CEO/President, Pied Piper</span> <span>Dec 2013 -- Dec 2014</span>

Pied Piper is a multi-platform technology based on a proprietary universal
compression algorithm that has consistently fielded high Weisman Scores™ that
are not merely competitive, but approach the theoretical limit of lossless
compression.

- Build an algorithm for artist to detect if their music was violating
copyright infringement laws
- Successfully won Techcrunch Disrupt
- Optimized an algorithm that holds the current world record for Weisman Scores

### <span>Teacher, CoderDojo</span> <span>July 2013 -- Dec 2013</span>

Global movement of free coding clubs for young people.

- Awarded 'Teacher of the Month'

## Projects

### <span>Miss Direction</span> <span>Aug 2016</span>

A mapping engine that misguides you:

- Won award at AIHacks 2016
- Built by all women team of newbie programmers
- Using modern technologies such as GoogleMaps, Chrome Extension and Javascript

## Education

### <span>University of Oklahoma, BA Information Technology</span> <span>2011 -- 2014</span>

- GPA 4.0
- DB1101 - Basic SQL
- CS2011 - Java Introduction

## Skills

- Web development: HTML, CSS, JavaScript
- Compression: Mpeg, MP4, GIF
Binary file added resume.pdf
Binary file not shown.
Binary file added resume.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit d20d7ca

Please sign in to comment.