Actually committing content since evidently I didn't before?

master
James T. Martin 2019-02-28 21:55:04 -08:00
parent b77a6fb35a
commit 4aa84827a2
7 changed files with 1212 additions and 22 deletions

2
.gitignore vendored
View File

@ -1,3 +1 @@
*~
*.xhtml
*.xml

9
browserconfig.xml Normal file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square70x70logo src="/mstile-70x70.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>
</browserconfig>

741
character.xhtml Normal file
View File

@ -0,0 +1,741 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Character Name</title>
<meta name="copyright" content="James Martin 2019, CC BY-SA 4.0" />
<meta name="author" content="James Martin" itemprop="creator" />
<link rel="stylesheet" href="/res/style.css" />
<link rel="stylesheet" href="/res/character.css" />
<link rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/" />
<link rel="canonical" href="https://jamestmartin.me/character" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?cachebuster=0" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?cachebuster=0" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?cachebuster=0" />
<link rel="manifest" href="/site.webmanifest?cachebuster=0" />
<link rel="mask-icon" href="/safari-pinned-tab.svg?cachebuster=0" color="#5bbad5" />
<meta name="msapplication-TileColor" content="#da532c" />
<meta name="theme-color" content="#ffffff" />
<link href="http://microformats.org/profile/rel-license" rel="profile" />
<script type="text/javascript" src="/res/character.js" />
</head>
<body>
<header>
<h1>Character Name</h1>
<!--<img src="/res/photo.png" alt="" />-->
</header>
<aside id="basic-info" class="card">
<figure>
<figcaption>
<h3>
<a href="#basic-info">§</a>
Basic Information
</h3>
<table class="info-table">
<tr>
<td>Class</td>
<td>cultist</td>
</tr>
<tr>
<td>Level</td>
<td>1</td>
</tr>
<tr>
<td>Race</td>
<td><a href="#race">bat hybrid</a></td>
</tr>
<tr>
<td>Alignment</td>
<td>neutral good</td>
</tr>
<tr>
<td>Deity</td>
<td>Sui</td>
</tr>
<tr>
<td>Age</td>
<td></td>
</tr>
<tr>
<td>Gender</td>
<td>male</td>
</tr>
<tr>
<td>Height</td>
<td>6'0</td>
</tr>
<tr>
<td>Weight</td>
<td>165</td>
</tr>
</table>
<br />
<h3 id="abilities">
<a href="#abilities">§</a>
Ability Scores
</h3>
<noscript>
Please enable JavaScript to automatically calculate the skill bonus.
</noscript>
<table id="ability-scores">
<tr>
<th>Ability</th>
<th>Score</th>
<th>Modifier</th>
</tr>
<tr>
<td><abbr title="Strength">Str</abbr></td>
<td>16</td>
<td>+3</td>
</tr>
<tr>
<td><abbr title="Dexterity">Dex</abbr></td>
<td>16</td>
<td>+3</td>
</tr>
<tr>
<td><abbr title="Constitution">Con</abbr></td>
<td><abbr title="14 base roll, +1 racial bonus, -1 class bonus">14</abbr></td>
<td>+2</td>
</tr>
<tr>
<td><abbr title="Intelligence">Int</abbr></td>
<td><abbr title="15 base roll, +1 class bonus">16</abbr></td>
<td>+3</td>
</tr>
<tr>
<td><abbr title="Wisdom">Wis</abbr></td>
<td><abbr title="16 base roll, +1 class bonus">17</abbr></td>
<td>+3</td>
</tr>
<tr>
<td><abbr title="Charisma">Cha</abbr></td>
<td>11</td>
<td>+0</td>
</tr>
</table>
</figcaption>
</figure>
</aside>
<section id="information">
<div id="summary">
<h3>
<a href="#summary">§</a>
Summary
</h3>
<p>This section is a work in progress.</p>
<p>
Character Name is a bat hybrid, worshipper of the good god of darkness and privacy, Sui.
He also admires Quey, the good god of the wind and freedom.
<a href="#pet">He has a pet wyvern of the wind.</a>
</p>
<p>
Being a worshipper of Sui, Character Name focuses primarily on darkness magic,
but learns a lot of wind magic on the side.
Since neither of these elements are very attack-focused,
his preferred source of <abbr title="damage per second">DPS</abbr> is a bow and arrows.
</p>
</div>
<div id="backstory">
<h3>
<a href="#backstory">§</a>
Backstory
</h3>
todo
</div>
<div id="spells">
<h3>
<a href="#spells">§</a>
Spells
</h3>
<p>
To be determined.
</p>
</div>
<div id="pet">
<h3>
<a href="#pet">§</a>
Pet
</h3>
<figure>
<a href="http://www.sdamned.com/comic/246/">
<img alt="A drawing of a Wright Wyvern, on which the design of gust dragons is based." src="/res/images/wyvern.webp" />
</a>
<figcaption>
Credit for this image goes to Chu.
</figcaption>
</figure>
<p>
Prince is a hatchling gust dragon.
<a href="#dragons">There is more information on gust dragons below.</a>
</p>
</div>
<div id="skills">
<h3>
<a href="#skills">§</a>
Skills
</h3>
<span id="skill-points"></span>
<table id="skills-table">
<tr id="skills-headers">
<th>Skill Name</th>
<th>Type</th>
<th>Rank</th>
<th>Extra</th>
</tr>
<tr>
<td>Appraise</td>
<td>Int</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Balance</td>
<td>Dex</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Bluff</td>
<td>Cha</td>
<td>4</td>
<td></td>
</tr>
<tr>
<td>Climb</td>
<td>Str</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Concentration</td>
<td>Con</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Diplomacy</td>
<td>Cha</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Disguise</td>
<td>Cha</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Escape Artist</td>
<td>Dex</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Forgery</td>
<td>Int</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Gather Information</td>
<td>Cha</td>
<td></td>
<td><!--<abbr title="synergy with Knowledge (Social)">+2</abbr>--></td>
</tr>
<tr>
<td>Handle Animal</td>
<td>Cha</td>
<td>4</td>
<td></td>
</tr>
<tr>
<td>Heal</td>
<td>Wis</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Hide</td>
<td>Dex</td>
<td>4</td>
<td></td>
</tr>
<tr>
<td>Intimidate</td>
<td>Cha</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Jump</td>
<td>Str</td>
<td>4</td>
<td></td>
</tr>
<tr>
<td>
<abbr title="architecture + history + local + nobility">
Knowledge (Social)
</abbr>
</td>
<td>Int</td>
<td>4</td>
<td></td>
</tr>
<tr>
<td>
<abbr title="geography + nature + dungeoneering">
Knowledge (Survival)
</abbr>
</td>
<td>Int</td>
<td>4</td>
<td></td>
</tr>
<tr>
<td>
<abbr title="arcana + psionics + religion + the planes">
Knowledge (Magical)
</abbr>
</td>
<td>Int</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Listen</td>
<td>Wis</td>
<td>4</td>
<td title="racial bonus">+1</td>
</tr>
<tr>
<td>Move Silently</td>
<td>Dex</td>
<td>4</td>
<td></td>
</tr>
<tr>
<td>Open Lock</td>
<td>Dex</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Ride</td>
<td>Dex</td>
<td></td>
<td></td>
</tr>
<tr>
<td>
<abbr title="exclusive to races with a strong sense of smell">
<a href="https://www.dandwiki.com/wiki/SRD:Scent">Scent</a>
</abbr>
</td>
<td>Wis</td>
<td>4</td>
<td></td>
</tr>
<tr>
<td>Search</td>
<td>Int</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Sense Motive</td>
<td>Wis</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Sleight of Hand</td>
<td>Dex</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Spot</td>
<td>Wis</td>
<td>4</td>
<td></td>
</tr>
<tr>
<td>Survival</td>
<td>Wis</td>
<td></td>
<td><!--<abbr title="synergy with Knowledge (survival)">+2</abbr>--></td>
</tr>
<tr>
<td>Swim</td>
<td>Str</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Tumble</td>
<td>Dex</td>
<td>4</td>
<td></td>
</tr>
</table>
</div>
<div id="equipment">
<h3>
<a href="#equipment">§</a>
Equipment
</h3>
<div id="weapons">
<h4>
<a href="#weapons">§</a>
Weapons
</h4>
<table>
<tr>
<th><abbr title="quantity">#</abbr></th>
<th>Weapon</th>
<th><abbr title="Health Points">HP</abbr></th>
</tr>
<tr>
<td>3</td>
<td>Caltrops</td>
<td>N/A</td>
</tr>
<tr>
<td>2</td>
<td>Dagger (steel)</td>
<td>2</td>
</tr>
<tr>
<td>1</td>
<td>Longbow (wood)</td>
<td>5</td>
</tr>
</table>
<h5>Weapon Information</h5>
<table>
<tr>
<th>Name</th>
<th>Material</th>
<th>Weight</th>
<th>Value</th>
<th>Damage Type</th>
<th>Range</th>
<th><abbr title="Damage">Dmg</abbr></th>
<th>Critical</th>
<th><abbr title="Hardness">H</abbr></th>
<th><abbr title="maximum Health Points">HP</abbr></th>
</tr>
<tr>
<td>
<a href="https://www.dandwiki.com/wiki/SRD:Caltrops">Caltrops</a>
</td>
<td>Iron</td>
<td>2 lb</td>
<td>1 gp</td>
<td>Piercing</td>
<td><abbr title="Not Applicable: scatter on ground">N/A</abbr></td>
<td>1</td>
<td>N/A</td>
<td>N/A</td>
<td>N/A</td>
</tr>
<tr>
<td>
<a href="https://www.dandwiki.com/wiki/SRD:Dagger">Dagger</a>
</td>
<td>Steel</td>
<td>1 lb</td>
<td>2 gp</td>
<td>Piercing/slashing</td>
<td><abbr title="Not Applicable: melee">N/A</abbr></td>
<td>1d4</td>
<td>×2</td>
<td>10</td>
<td>2</td>
</tr>
<tr>
<td>Dagger (thrown)</td>
<td></td>
<td></td>
<td></td>
<td>Piercing</td>
<td>10 ft</td>
<td>1d4</td>
<td>1920/×2</td>
<td></td>
<td></td>
</tr>
<tr>
<td>
<a href="https://www.dandwiki.com/wiki/SRD:Longbow">Longbow</a>
</td>
<td>Wood</td>
<td>3 lb</td>
<td>75 gp</td>
<td>Piercing</td>
<td>100 ft</td>
<td>1d8</td>
<td>×3</td>
<td>5</td>
<td>5</td>
</tr>
</table>
<h5>Ammunition</h5>
<table>
<tr>
<th><abbr title="quantity">#</abbr></th>
<th>Name</th>
<th>Material</th>
<th>Weight</th>
<th>Hardness</th>
</tr>
<tr>
<td>40</td>
<td>
<a href="https://www.dandwiki.com/wiki/SRD:Arrows">
Arrows <abbr title="stats per 20 arrows">(×20)</abbr>
</a>
</td>
<td>Steel</td>
<td>3 lb</td>
<td>5</td>
</tr>
</table>
</div>
<div id="wearables">
<h4>
<a href="#wearables">§</a>
Wearables
</h4>
<h5>Clothing</h5>
<table>
<tr>
<th><abbr title="quantity">#</abbr></th>
<th>Name</th>
<th>Weight</th>
<th>Value</th>
</tr>
<tr>
<td>1</td>
<td>
<a href="https://www.dandwiki.com/wiki/SRD:Monk's_Outfit">Monk's Outfit</a>
</td>
<td>2 lb</td>
<td>5 gp</td>
</tr>
<tr>
<td>1</td>
<td>Backpack</td>
<td>2 lb</td>
<td>2 gp</td>
</tr>
</table>
</div>
<div id="tools">
<h4>
<a href="#tools">§</a>
Tools
</h4>
<table>
<tr>
<th><abbr title="quantity">#</abbr></th>
<th>Name</th>
<th>Weight</th>
<th>Value</th>
</tr>
<tr>
<td>1</td>
<td>
<a href="https://www.dandwiki.com/wiki/SRD:Crowbar">Crowbar</a>
</td>
<td>5 lb</td>
<td>2 gp</td>
</tr>
<tr>
<td>1</td>
<td>
<a href="https://www.dandwiki.com/wiki/SRD:Flint_and_Steel">
Flint &amp; Steel
</a>
</td>
<td></td>
<td>1 gp</td>
</tr>
<tr>
<td>1</td>
<td>
<a href="https://www.dandwiki.com/wiki/SRD:Grappling_Hook">
Grappling Hook
</a>
</td>
<td>4 lb</td>
<td>1 gp</td>
</tr>
<tr>
<td>1</td>
<td>
<a href="https://www.dandwiki.com/wiki/SRD:Hempen_Rope">
Rope, hempen (50 ft)
</a>
</td>
<td>10 lb</td>
<td>1 gp</td>
</tr>
<tr>
<td>1</td>
<td>
<a href="https://www.dandwiki.com/wiki/SRD:Thieves'_Tools">
Thieves' Tools
</a>
</td>
<td>1 lb</td>
<td>30 gp</td>
</tr>
</table>
</div>
<div id="equip-misc">
<h3>
<a href="#equip-misc">§</a>
Miscellaneous
</h3>
<table>
<tr>
<th><abbr title="quantity">#</abbr></th>
<th>Name</th>
<th>Weight</th>
<th>Value</th>
</tr>
<tr>
<td>1</td>
<td>Bedroll</td>
<td>5 lb</td>
<td>1 sp</td>
</tr>
<tr>
<td>10</td>
<td>Candle</td>
<td></td>
<td>1 cp</td>
</tr>
<tr>
<td>10</td>
<td>Chalk</td>
<td></td>
<td>1 cp</td>
</tr>
<tr>
<td>10</td>
<td>Rations, trail (1 day)</td>
<td>1 lb</td>
<td>5 sp</td>
</tr>
<tr>
<td>1</td>
<td>Soap</td>
<td>1 lb</td>
<td>5 sp</td>
</tr>
<tr>
<td>4</td>
<td>
<a href="https://www.dandwiki.com/wiki/SRD:Torch">Torch</a>
</td>
<td>1 lb</td>
<td>1 cp</td>
</tr>
<tr>
<td>2</td>
<td>Waterskin</td>
<td>4 lb</td>
<td>1 gp</td>
</tr>
</table>
</div>
</div>
</section>
<section id="lore">
<div id="race">
<h2>
<a href="#race">§</a>
Racial information
</h2>
<aside class="card">
<figure id="bat-photo">
<a href="https://commons.wikimedia.org/wiki/File:Acerodon_jubatus_by_Gregg_Yan.jpg">
<img alt="A photo of a bat." src="/res/images/golden-crowned_flying_fox.jpg" />
</a>
<figcaption>
A photo of a real golden-crowned flying fox.
</figcaption>
</figure>
</aside>
<p>
Hybrid species are created when a were-creature mates with an animal while in animal form.
Each hybrid race has a different set of attributes.
Below are some of the attributes of a
human/<a href="https://en.wikipedia.org/wiki/Giant_golden-crowned_flying_fox">giant golden-crowned flying fox</a>
hybrid:
<ul>
<li>
All flying creatures have some limited flight,
especially with the help of wind magic.
</li>
<li>All bats have a +1 bonus to constitution.</li>
<li>All bats have improved hearing, including the ability to hear high ranges.</li>
<li>All bats have improved night vision, but still cannot see in perfect darkness.</li>
<li>
Most
<a href="https://en.wikipedia.org/wiki/Megabat">megabats</a>
retain normal daytime vision.
</li>
<li>Most megabats have no echolocation.</li>
</ul>
</p>
</div>
<div id="dragons">
<h2>
<a href="#dragons">§</a>
Dragons
</h2>
<p>
Dragons are powerful reptiles, wielders of powerful elemental magic.
Each element is associated with its own species of dragon.
They are intelligent and mischeveous.
</p>
<p>
Dragons mature extremely slowly,
taking centuries for a dragon to hatch in the first place.
This slow maturation rate makes them extremely rare.
Once hatched, they quickly bond with whoever raises them,
be it there mothers, or adoptive families.
</p>
<p>
Posessing a dragon would be the ultimate symbol of an elite family,
for the dragon will serve the family its entire life.
Dragon eggs are worth far more than their weight in gold,
and eggs believed to be dragon eggs
are often passed down for generations.
</p>
<p>
Wind dragons are flying serpents surrounded by a constant aura of wind,
so that they never need to touch the ground.
They are agile fliers with tornado breath,
capable of using some air magic.
</p>
</div>
</section>
<footer>
</footer>
</body>
</html>

40
index.xhtml Normal file
View File

@ -0,0 +1,40 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>James Martin</title>
<meta name="copyright" content="James Martin 2019, CC BY-SA 4.0" />
<meta name="author" content="James Martin" itemprop="creator" />
<link rel="stylesheet" href="/res/style.css" />
<link rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/" />
<link rel="canonical" href="https://jamestmartin.me/" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?cachebuster=0" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?cachebuster=0" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?cachebuster=0" />
<link rel="manifest" href="/site.webmanifest?cachebuster=0" />
<link rel="mask-icon" href="/safari-pinned-tab.svg?cachebuster=0" color="#5bbad5" />
<meta name="msapplication-TileColor" content="#da532c" />
<meta name="theme-color" content="#ffffff" />
<link href="http://microformats.org/profile/rel-license" rel="profile" />
<link href="http://microformats.org/profile/rel-nofollow" rel="profile" />
<link href="http://microformats.org/profile/rel-home" rel="profile" />
<link href="http://microformats.org/profile/h-resume" rel="profile" />
<link href="http://microformats.org/profile/h-card" rel="profile" />
<link href="http://microformats.org/profile/h-adr" rel="profile" />
<link href="http://microformats.org/profile/h-event" rel="profile" />
</head>
<body class="h-resume">
<header>
<h1>James Martin</h1>
<nav>
</nav>
</header>
<p>This site is temporarily down as of 2019-02-22. No ETA.</p>
</body>
</html>

View File

@ -1,3 +1,54 @@
/**
* Returns a random number between min (inclusive) and max (exclusive)
*/
function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}
function rolln(n, x) {
var total = 0;
while (n-- > 0) {
total += getRandomArbitrary(1, x);
}
return total;
}
function roll(x) {
return rolln(1, x);
}
function skillCheck(bonus) {
return roll(20) + bonus;
}
function parseIfPresent(x) {
return x ? parseInt(x) : 0;
}
function isBody(elem) {
return elem.getElementsByTagName('td').length > 0;
}
function getRows(id) {
var rows = document.getElementById(id).getElementsByTagName('tr');
var bodyrows = Array.from(rows).filter(isBody);
return bodyrows;
}
function printWithSign(x) {
if (x > 0) {
return "+" + x.toString();
} else if (x == 0) {
return "";
} else {
return x.toString();
}
}
function abilityModifier(ability) {
return (ability - 10) / 2
}
window.onload = function() {
var skillsHeaders = document.getElementById("skills-headers");
var bonusHeader = document.createElement('th');
@ -5,15 +56,10 @@ window.onload = function() {
skillsHeaders.append(bonusHeader);
var abilities = new Object();
var abilityRows =
document.getElementById("ability-scores").getElementsByTagName('tr');
var abilityRows = getRows('ability-scores');
for (let ability of abilityRows) {
var columns = ability.getElementsByTagName('td');
if (columns.length != 3) {
// This row contains headers, not values.
continue;
}
var name = columns[0].innerText;
var bonus = parseInt(columns[2].innerText);
@ -21,34 +67,44 @@ window.onload = function() {
abilities[name] = bonus;
}
var skillRows =
document.getElementById("skills-table").getElementsByTagName('tr');
var skillRows = getRows('skills-table');
var classRankBonus = 8;
var totalRankBonus = classRankBonus + abilities['Int'];
var initialRanks = 4 * totalRankBonus;
var level = 1;
var levelRanks = (level - 1) * totalRankBonus;
var maxRanks = initialRanks + levelRanks;
var totalRanks = 0;
for (let skill of skillRows) {
var columns = skill.getElementsByTagName('td');
if (columns.length != 4) {
// This row contains headers, not values.
continue;
}
var abilityColumn = columns[1].innerText;
var rankColumn = columns[2].innerText;
var extraColumn = columns[3].innerText;
var abilityBonus = abilities[abilityColumn];
var rankBonus = parseInt(rankColumn);
var extraBonus = extraColumn ? parseInt(extraColumn) : 0;
var rankBonus = parseIfPresent(rankColumn);
var extraBonus = parseIfPresent(extraColumn);
var totalBonus = abilityBonus + rankBonus + extraBonus;
var totalBonusText;
if (totalBonus >= 0) {
totalBonusText = "+" + totalBonus.toString();
} else {
totalBonusText = totalBonus.toString();
}
var totalBonusText = printWithSign(totalBonus);
var totalBonusColumn = document.createElement('td');
totalBonusColumn.append(document.createTextNode(totalBonusText));
skill.append(totalBonusColumn);
totalRanks += rankBonus;
}
var remainingRanks = maxRanks - totalRanks;
var skillPointNotice = document.createElement('p');
skillPointNotice.append(document.createTextNode('Total skill points remaining: '));
skillPointNotice.append(document.createTextNode(remainingRanks.toString()));
skillPointNotice.append(document.createTextNode('/'));
skillPointNotice.append(document.createTextNode(maxRanks.toString()));
document.getElementById('skill-points').append(skillPointNotice);
}

331
resume.xhtml Normal file
View File

@ -0,0 +1,331 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>James Martin</title>
<meta name="copyright" content="James Martin 2019, CC BY-SA 4.0" />
<meta name="author" content="James Martin" itemprop="creator" />
<link rel="stylesheet" href="/res/style.css" />
<link rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/" />
<link rel="canonical" href="https://jamestmartin.me/" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?cachebuster=0" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?cachebuster=0" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?cachebuster=0" />
<link rel="manifest" href="/site.webmanifest?cachebuster=0" />
<link rel="mask-icon" href="/safari-pinned-tab.svg?cachebuster=0" color="#5bbad5" />
<meta name="msapplication-TileColor" content="#da532c" />
<meta name="theme-color" content="#ffffff" />
<link href="http://microformats.org/profile/rel-license" rel="profile" />
<link href="http://microformats.org/profile/rel-nofollow" rel="profile" />
<link href="http://microformats.org/profile/rel-home" rel="profile" />
<link href="http://microformats.org/profile/h-resume" rel="profile" />
<link href="http://microformats.org/profile/h-card" rel="profile" />
<link href="http://microformats.org/profile/h-adr" rel="profile" />
<link href="http://microformats.org/profile/h-event" rel="profile" />
</head>
<body class="h-resume">
<header>
<h1>James Martin</h1>
<nav>
</nav>
</header>
<aside id="contact" class="card">
<figure class="contact p-contact h-card vcard">
<figcaption>
<!-- key impp job-title phone note photo -->
<div class="contact-meta" hidden="hidden">
<span class="p-name fn">
<span class="p-given-name given-name">James</span>
<span class="p-family-name family-name">Martin</span>
</span>
<span class="p-nickname nickname">jamestmartin</span>
<span class="p-nickname nickname">jtmar</span>
<span class="p-role role">Programmer</span>
<ul class="p-org h-card org">
<!-- logo -->
<li>
<a class="p-name p-url p-organization-name organization-name"
href="https://proglangdesign.net">proglangdesign.net</a>
</li>
</ul>
<span class="p-sex sex">GENDER:M</span>
<time class="dt-bday bday" datetime="2001-06">June 2001</time>
<span class="p-tz tz" value="-8000">PST</span>
<span class="dt-rev rev" datetime="2019-01-20T01:46:52Z">
January 19, 2019 at 6:46 PM PST
</span>
</div>
<h3>Contact me</h3>
<ul class="contact-list">
<li title="website">
<img src="/res/icon/web.svg" alt="Website: " />
<a class="u-url url" rel="me self"
href="https://jamestmartin.me/">jamestmartin.me</a>
</li>
<li title="email">
<img src="/res/icon/email.svg" alt="Email: " />
<a class="u-email email" rel="me"
href="mailto:james@jtmar.me">james@jtmar.me</a>
</li>
<li class="pgp" title="PGP key">
<img class="pgp-img" src="/res/icon/pgp.svg" alt="PGP Key: " />
<a class="u-key" type="pgp" rel="me"
href="https://jamestmartin.me/key.pgp">
AAAA AAAA AAAA AAAA AAAA AAAA AAAA AAAA AAAA AAAA
</a>
</li>
<li title="GitHub">
<img src="/res/icon/github.svg" alt="GitHub: " />
<span class="username">
<a href="https://github.com/jamestmartin" rel="me external">
jamestmartin
</a>
</span>
</li>
<li title="GitLab">
<img src="/res/icon/gitlab.svg" alt="GitLab: " />
<span class="username">
<a href="https://gitlab.com/jamestmartin" rel="me external">
jamestmartin
</a>
</span>
</li>
<li title="LinkedIn">
<img src="/res/icon/20px/linkedin.png" alt="LinkedIn: " />
<span class="username">
<a href="https://www.linkedin.com/in/jamestmartinme" rel="me external">
jamestmartinme
</a>
</span>
</li>
<li hidden="hidden" title="Freenode">
<img src="/res/icon/20px/freenode.png" alt="Freenode: " />
<span class="username">jamestmartin</span>
</li>
<li hidden="hidden" title="Discord">
<img src="/res/icon/discord.svg" alt="Discord: " />
<span class="username">jamestmartin#7117</span>
</li>
<li hidden="hidden" title="Reddit">
<img src="/res/icon/20px/reddit.png" alt="Reddit: " />
<span class="username">
<a href="https://reddit.com/user/jtmar" rel="me external">jtmar</a>
</span>
</li>
<li hidden="hidden" title="YouTube">
<img src="/res/icon/youtube.svg" alt="YouTube: " />
<span class="username">
<a href="https://www.youtube.com/channel/UC_nCB91N-0zNbFiMoMu6-3w"
rel="me external">jamestmartin</a>
</span>
</li>
<li hidden="hidden" title="Wikipedia">
<img src="/res/icon/20px/wikipedia.png" alt="Wikipedia: " />
<span class="username">
<a href="https://en.wikipedia.org/wiki/User:Lijero"
rel="me external">Lijero</a>
</span>
</li>
<li title="address">
<address class="p-adr h-adr adr">
<span class="p-locality locality">Renton</span>,
<span class="p-region region">Washington</span>
<span class="p-postal-code postal-code" hidden="hidden">98056</span>
<div class="p-country-name country-name" hidden="hidden">
<abbr title="United States">US</abbr>
</div>
</address>
</li>
</ul>
</figcaption>
</figure>
</aside>
<section class="resume">
<span class="p-name" hidden="hidden">
<a class="p-contact h-card" href="https://jamestmartin.me/" rel="me">
<!--<img src="/res/photo.png" alt="" />-->
James Martin
</a>
</span>
<div class="summary p-summary">
<h3>Summary</h3>
This site is a work in progress and should not be considered an accurate representation of me or my skills at this time. Last updated 2018-01-21.
<p>
I taught myself to program at age 11, and am a moderator of the
<a href="https://proglangdesign.net/">
programming language design community</a>.
</p>
<p>
My primary interests are programming language theory and music theory.
</p>
</div>
<div class="skills">
<h3>Skills</h3>
<ul>
<li>
<span class="skill-category">Programming Languages</span>
<ul class="inline-list">
<li class="p-skill">Java</li>
<li class="p-skill">
<abbr title="AT&amp;T syntax x86-64 assembly">x86-64 Assembly</abbr>
</li>
<li class="p-skill">Haskell</li>
<li class="p-skill">
<abbr title="(X)HTML5, semantic markup">HTML</abbr>
</li>
<li class="p-skill"><abbr title="CSS3">CSS</abbr></li>
</ul>
</li>
<li>
<span class="skill-category">Systems Administration</span>
<ul class="inline-list">
<li class="p-skill">Debian GNU/Linux</li>
</ul>
</li>
</ul>
</div>
<div class="experiences">
<h3>Experience</h3>
<ul>
<li class="p-experience h-event">
<div class="line1">
<span class="p-location h-card">
<a class="p-fn p-org u-url" href="https://proglangdesign.net/">
<addr title="Programming Language Design">PLD</addr> community</a>,
</span>
<span class="p-name">Moderator</span>
<div class="duration">
<time class="dt-start" datetime="2018-06-05T00:43:53+00:00">
<abbr title="Tue Jun 5 00:43:53 2018 UTC">2018-06</abbr>
</time>
<time class="dt-end" datetime="">Present</time>
</div>
</div>
<div class="line2 p-summary">
<ul>
<li>
Moderator of
<ul class="inline-list">
<li>
<a href="https://reddit.com/r/ProgrammingLanguages/"
rel="external">/r/ProgrammingLanguages</a></li>
<li>
<a href="https://discord.gg/4Kjt3ZE" rel="external">
the /r/ProgrammingLanguages Discord</a></li>
</ul>
</li>
<li>
Adminstrator of
<a href="https://matrix.qipl.org"
rel="external">matrix.qipl.org</a>,
a Discord↔Matrix and Matrix↔Freenode bridge.
</li>
<li>
I made it my mission to integrate the three
formerly-separate subcommunities.
</li>
</ul>
</div>
</li>
<li class="p-experience h-event">
<div class="line1">
<span class="p-location h-card">
<a class="u-url p-fn p-org"
href="https://github.com/HazenRobotics">Hazen Robotics Club</a>,
</span>
<span class="p-name">Java Developer</span>
<div class="duration">
<time class="dt-start" datetime="2017-09">2017-09</time>
<time class="dt-end" datetime="2018-10">2018-10</time>
</div>
</div>
<div class="line2 p-summary">
<ul>
<li>Volunteered for 90 hours to mentor programming
at summer robotics camp.</li>
<li>Taught club members basic tools like Java and git
in addition to own programming tasks.</li>
</ul>
</div>
</li>
</ul>
</div>
<div class="educations">
<h3>Academics</h3>
<div class="p-education h-event">
<span class="p-location h-card">
<a class="u-url p-fn p-org"
href="https://www.rentonschools.us/hazen">Hazen High School</a>
-
<span class="p-adr h-adr">
<div class="p-street-address" hidden="hidden">
1101 Hoquiam Ave NE
</div>
<span>
<span class="p-locality">Renton</span>,
<span class="p-region">
<abbr title="Washington">WA</abbr>
</span>
<span class="p-postal-code" hidden="hidden">98059</span>
</span>
<div class="p-country-name" hidden="hidden">
<abbr title="United States of America">US</abbr>
</div>
</span>
</span>
<span class="duration">
<time class="dt-start" datetime="2015-09-02">
<abbr title="2015-09-02">2015</abbr>
</time>
<time class="dt-end" datetime="2019-06-13">
<abbr title="2019-06-13">2019</abbr>
</time>
</span>
<ul>
<li>
<span class="skill-category">AP College Credits</span>
<ul class="inline-list">
<li>
<span title="subject" class="ap-subject">Computer Science</span>
<span title="score" class="ap-score">5</span></li>
<li>
<span title="subject" class="ap-subject">Physics 1</span>
<span title="score" class="ap-score">4</span></li>
<li>
<span title="subject" class="ap-subject">Biology</span>
<span title="score" class="ap-score">4</span></li>
<li>
<span title="subject" class="ap-subject">
<abbr title="microeconomics">Micro</abbr>
</span>
<span title="score" class="ap-score">pending</span></li>
<li>
<span title="subject" class="ap-subject">
<abbr title="macroeconomics">Macro</abbr>
</span>
<span title="score" class="ap-score">pending</span></li>
<li>
<span title="subject" class="ap-subject">Calculus AB</span>
<span title="score" class="ap-score">pending</span></li>
<li>
<span title="subject" class="ap-subject">Government</span>
<span title="score" class="ap-score">pending</span></li>
</ul>
</li>
<li>
Member of marching, symphonic, and jazz bands.
</li>
</ul>
</div>
</div>
</section>
<footer>
</footer>
</body>
</html>

15
sitemap.xml Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://jamestmartin.me/</loc>
<lastmod>2019-02-26</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jamestmartin.me/character</loc>
<lastmod>2019-02-26</lastmod>
<changefreq>monthly</changefreq>
<priority>0.3</priority>
</url>
</urlset>