Initial commit.

This commit is contained in:
Eric Woodward
2018-01-07 19:12:11 -05:00
commit f9a65c10b8
235 changed files with 5036 additions and 0 deletions

119
views/partials/card.ejs Normal file
View File

@@ -0,0 +1,119 @@
<% if (typeof card !== 'undefined') {
var release_map = {
's01c': '<a href="https://mythicwarsgame.com/clash.html" class="setLink">Clash of the Gods</a>',
's01n': '<a href="https://mythicwarsgame.com/clash.html" class="setLink">Nemesis</a>',
's01p': '<a href="https://mythicwarsgame.com/clash.html" class="setLink">Promos (Set 01)</a>',
's01r': '<a href="https://mythicwarsgame.com/clash.html" class="setLink">Cthulhu Rises</a>',
};
%>
<div class="card clearfix">
<div class="card-info">
<img
src="/images/thumb/<%= card.num.toLowerCase() %>_<%= card.name_ang %>.jpg"
alt="Card image for <%=card.name%>"
class="card-image" />
<dl class="card-data dataBox">
<dt>Name</dt>
<dd><%= card.name %></dd>
<dt>Number</dt>
<dd><%= card.num.toUpperCase() %></dd>
<dt>Release</dt>
<dd><%- release_map[card.num.toLowerCase().substr(0,3)] %></dd>
<% if (card.culture !== '') { %>
<dt>Pantheon</dt>
<dd><img class="card-pantheon" src="/images/pantheons/<%= card.culture.toLowerCase().replace(' ','-') %>.png"
alt="<%= card.culture %>" /></dd>
<% } %>
<% if (card.race.indexOf(' ') !== -1) { %>
<dt>Races</dt>
<dd><%= card.race %></dd>
<% } else if (card.race !== '') { %>
<dt>Race</dt>
<dd><%= card.race %></dd>
<% } %>
<% if (card.type.indexOf(' ') !== -1) { %>
<dt>Types</dt>
<dd><%= card.type %></dd>
<% } else if (card.type !== '') { %>
<dt>Type</dt>
<dd><%= card.type %></dd>
<% } %>
<% if (card.element.indexOf(' ') !== -1) { %>
<dt>Elements</dt>
<dd>
<%
card.element.split(/\s+/).forEach(function(el) {
%>
<img class="card-element" src="/images/elements/<%= el.toLowerCase() %>.png"
alt="<%= el %>" />
<%
});
%>
</dd>
<% } else if (card.element !== '') { %>
<dt>Element</dt>
<dd><img class="card-element" src="/images/elements/<%= card.element.toLowerCase() %>.png"
alt="<%= card.element %>" /></dd>
<% } %>
<% if (card.attack !== '') { %>
<dt>Attack</dt>
<dd><img class="card-score" src="/images/scores/att-<%= card.attack %>.png" alt="<%= card.attack %> " /></dd>
<% } %>
<% if (card.defense !== '') { %>
<dt>Defense</dt>
<dd><img class="card-score" src="/images/scores/def-<%= card.defense %>.png" alt="<%= card.defense %>" /></dd>
<% } %>
<% if (card.power !== '') { %>
<dt>Power</dt>
<dd><img class="card-score" src="/images/scores/pow-<%= card.power %>.png" alt="<%= card.power %>" /></dd>
<% } %>
<dt>Image</dt>
<dd><a href='<%= card.source %>'><%= card.credit %></a></dd>
<% if (card.ability_name !== '') { %>
<dt>Ability</dt>
<dd>
<dl class='card-ability'>
<dt><%- card.ability_name %></dt>
<dd><%-
card.ability_text
.replace(/EMPOWER/g, '<img class="card-element" src="/images/empower.png" alt="Empower" />')
.replace(/{CHAOS}/g, '<img class="card-element" src="/images/elements/chaos.png" alt="Chaos" />')
.replace(/{LAW}/g, '<img class="card-element" src="/images/elements/law.png" alt="Law" />')
.replace(/{AIR}/g, '<img class="card-element" src="/images/elements/air.png" alt="Air" />')
.replace(/{EARTH}/g, '<img class="card-element" src="/images/elements/earth.png" alt="Earth" />')
.replace(/{FIRE}/g, '<img class="card-element" src="/images/elements/fire.png" alt="Fire" />')
.replace(/{WATER}/g, '<img class="card-element" src="/images/elements/water.png" alt="Water" />')
.replace(/{OLD_ONES}/g, '<img class="card-pantheon" src="/images/pantheons/old-ones.png" alt="Water" />')
%></dd>
</dl>
</dd>
<% } else if (card.ability_text !== ''){ %>
<dt>Ability</dt>
<dd><%- card.ability_text.replace('EMPOWER', '<img class="card-element" src="/images/empower.png" alt="Empower" />') %></dd>
<% } %>
<% if (card.flavor !== '') { %>
<dt>Flavor</dt>
<dd><em><%- card.flavor %></em></dd>
<% } %>
<dt>Copyright</dt>
<dd>&copy; <%= card.copyright_year %> <%= card.copyright_owner %></dd>
</dl>
</div>
<!--
<%=JSON.stringify(card)%>
-->
</div>
<% } %>

13
views/partials/cards.ejs Normal file
View File

@@ -0,0 +1,13 @@
<% if (cards) { %>
<div class="cards">
<%
cards.forEach(card => {
%>
<% include ./preview %>
<%
})
%>
</div>
<% } %>

26
views/partials/footer.ejs Normal file
View File

@@ -0,0 +1,26 @@
<!-- views/partials/footer.ejs -->
<footer id="footer" class="footer" role="contentinfo">
<div class="footer-inner clearfix">
<p>
<strong>The Codex Mythica</strong> &copy; 2017
<a href="https://itsericwoodward.com/" class="p-author h-card" rel="author" title="Eric Woodward">Eric Woodward</a>. <em>Mythic Wars</em> and the Mythic Wars logo &copy; and &trade; Eric Woodward, licensed by Excalibre Games. <em>Excalibre Games</em> and the Excalibre Games parthenon &copy; and &trade; <a href="http://excalibregames.com/" title="Excalibre Games">Excalibre Games</a>.
</p>
<p>
Question or concerns? Find us on Twitter <a href="https://twitter.com/MythicWarsGame">@MythicWarsGame</a>, or send us an e-mail at
<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;
&#99;&#111;&#110;&#116;&#97;&#99;&#116;&#64;&#109;&#121;&#116;&#104;&#105;&#99;&#119;&#97;&#114;&#115;&#103;&#97;&#109;&#101;&#46;&#99;&#111;&#109;">
&#99;&#111;&#110;&#116;&#97;&#99;&#116;&#64;&#109;&#121;&#116;&#104;&#105;&#99;&#119;&#97;&#114;&#115;&#103;&#97;&#109;&#101;&#46;&#99;&#111;&#109;
</a>.
</p>
<p>
Powered by
<a href="https://nodejs.org/">Node</a>,
<a href="https://nginx.org/">nginx</a>,
<a href="https://atom.io/">Atom</a>,
and <strong>the will of the gods</strong>.
</p>
<a href="#" class="footer-topLink topLink">[ Go to Top ]</a>
</div>
</footer>

25
views/partials/header.ejs Normal file
View File

@@ -0,0 +1,25 @@
<nav class="js-navMenu navMenu clearfix" id="navMenu">
<ul>
<li class="navMenu-logo">
<a href="https://mythicwarsgame.com/" class="logoBtn navMenu-logoBtn">
<img src="/images/mw-logo-wide-300x70.png" class="navMenu-logoImg" />
</a>
</li>
<li class="navMenu-search">
<form class="navMenu-search-form" id="searchForm" method="get" action="/search">
<fieldset role="search" class="navMenu-search-fieldset">
<input id="searchQuery" class="navMenu-search-box" type="search" placeholder="Card Quick Search" value="" name="search_for" title="" maxlength="50">
<input class="navMenu-search-btn" type="submit" value="Search">
<input type="hidden" name="search_in" value="name" />
<input type="hidden" name="search_in" value="ability" />
</fieldset>
</form>
</li>
<li class="navMenu-title">
<a href="https://mythicwarsgame.com/"><h1>The Codex Mythica</h1></a>
</li>
</ul>
</nav>
<h2><%=title ? title : ''%></h2>

View File

@@ -0,0 +1,66 @@
<% if (card) { %>
<div class="preview">
<div class="preview-info">
<img
src="/images/thumb/<%= card.num.toLowerCase() %>_<%= card.name_ang %>.jpg"
alt="Card image for <%=card.name%>"
class="preview-image" />
<div>
<a href="/cards/<%= card.num.toLowerCase() %>"><%= card.name %>
<% if (card.culture !== '') { %>
<img class="preview-pantheon" src="/images/pantheons/<%= card.culture.toLowerCase().replace(' ','-') %>.png"
alt="<%= card.culture %>" />
<% } %>
<%= card.num.toUpperCase() %></a><br />
<% if (card.race != '') { %>
<%= card.race %>
<% } %>
<% if (card.type != '') { %>
<%= card.type %>
<% } %>
<% if (card.type_idx.indexOf('intervention') > -1) { %>
<br />
<% } %>
<% if (card.element.indexOf(' ') !== -1) { %>
<% card.element.split(/\s+/).forEach(function(el) { %>
<img class="preview-element" src="/images/elements/<%= el.toLowerCase() %>.png"
alt="<%= el %>" />
<% }); %>
<br />
<% } else if (card.element !== '') { %>
<img class="preview-element" src="/images/elements/<%= card.element.toLowerCase() %>.png"
alt="<%= card.element %>" /><br />
<% } %>
<% if (card.attack != '') { %>
<img class="preview-score" src="/images/scores/att-<%= card.attack %>.png" alt="<%= card.attack %>" />
<% } %>
<% if (card.defense != '') { %>
<img class="preview-score" src="/images/scores/def-<%= card.defense %>.png" alt="<%= card.defense %>" />
<% } %>
<% if (card.power != '') { %>
<img class="preview-score" src="/images/scores/pow-<%= card.power %>.png" alt="<%= card.power %>" /><br />
<% } %>
<p>
<% if (card.ability_name != '') { %>
<strong><%- card.ability_name %></strong> &mdash;
<% } %>
<%-
card.ability_text
.replace(/EMPOWER/g, '<img class="card-element" src="/images/empower.png" alt="Empower" />')
.replace(/{CHAOS}/g, '<img class="card-element" src="/images/elements/chaos.png" alt="Chaos" />')
.replace(/{LAW}/g, '<img class="card-element" src="/images/elements/law.png" alt="Law" />')
.replace(/{AIR}/g, '<img class="card-element" src="/images/elements/air.png" alt="Air" />')
.replace(/{EARTH}/g, '<img class="card-element" src="/images/elements/earth.png" alt="Earth" />')
.replace(/{FIRE}/g, '<img class="card-element" src="/images/elements/fire.png" alt="Fire" />')
.replace(/{WATER}/g, '<img class="card-element" src="/images/elements/water.png" alt="Water" />')
.replace(/{OLD_ONES}/g, '<img class="card-pantheon" src="/images/pantheons/old-ones.png" alt="Water" />')
%>
</p>
</div>
</div>
</div>
<% } %>

View File

@@ -0,0 +1,2 @@
<script type="text/javascript" src="/scripts/libs.min.js"></script>
<script type="text/javascript" src="/scripts/scripts.js"></script>

View File

@@ -0,0 +1,274 @@
<%
query = query || {};
%>
<form class='searchForm' name='searchForm' method='GET' action='/search'>
<fieldset class='searchForm-searchSet'>
<legend>Search</legend>
<ul>
<li>
<label for='search_for'>Search for</label>
<ul>
<li>
<input type='text' value='<%= query && query.search_for ? query.search_for : "" %>' name='search_for' />
</li>
<li>
<label for='search_in'>in</label>
</li>
<li>
<label>
<input type='checkbox' name='search_in' value='name'
<%- query && (!query.search_in || query.search_in.indexOf('name') > -1) ? "checked='checked'" : '' %> />&nbsp;Name
</label>
</li>
<li>
<label>
<input type='checkbox' name='search_in' value='ability'
<%- query && (!query.search_in || query.search_in.indexOf('ability') > -1) ? "checked='checked'" : '' %> />&nbsp;Ability
</label>
</li>
</ul>
</li>
</ul>
</fieldset>
<fieldset class='searchForm-filterSet'>
<legend class='js-ulToggle'>Filters</legend>
<p class="searchForm-filterNotes js-searchForm-filterNotes">
Click on a filter name to toggle all of the items in that filter.
</p>
<ul class='js-ulToggle-list'>
<li>
<label for='pantheons' class='js-checkToggle'>Pantheons</label>
<ul>
<li>
<label>
<input type='checkbox' name='pantheons' value='aztec'
<%- query && ((query.pantheons && query.pantheons.indexOf('aztec') > -1) || !query.pantheons || JSON.stringify(query.pantheons) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-pantheon" src="/images/pantheons/aztec.png" alt="Aztec" />
</label>
</li>
<li>
<label>
<input type='checkbox' name='pantheons' value='egyptian'
<%- query && ((query.pantheons && query.pantheons.indexOf('egyptian') > -1) || !query.pantheons || JSON.stringify(query.pantheons) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-pantheon" src="/images/pantheons/egyptian.png" alt="Egyptian" />
</label>
</li>
<li>
<label>
<input type='checkbox' name='pantheons' value='greek'
<%- query && ((query.pantheons && query.pantheons.indexOf('greek') > -1) || !query.pantheons || JSON.stringify(query.pantheons) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-pantheon" src="/images/pantheons/greek.png" alt="Greek" />
</label>
</li>
<li>
<label>
<input type='checkbox' name='pantheons' value='japanese'
<%- query && ((query.pantheons && query.pantheons.indexOf('japanese') > -1) || !query.pantheons || JSON.stringify(query.pantheons) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-pantheon" src="/images/pantheons/japanese.png" alt="Japanese" />
</label>
</li>
<li>
<label>
<input type='checkbox' name='pantheons' value='norse'
<%- query && ((query.pantheons && query.pantheons.indexOf('norse') > -1) || !query.pantheons || JSON.stringify(query.pantheons) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-pantheon" src="/images/pantheons/norse.png" alt="Norse" />
</label>
</li>
<li>
<label>
<input type='checkbox' name='pantheons' value='old-ones'
<%- query && ((query.pantheons && query.pantheons.indexOf('old-ones') > -1) || !query.pantheons || JSON.stringify(query.pantheons) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-pantheon" src="/images/pantheons/old-ones.png" alt="Old Ones" />
</label>
</li>
<li>
<label>
<input type='checkbox' name='pantheons' value='sumerian'
<%- query && ((query.pantheons && query.pantheons.indexOf('sumerian') > -1) || !query.pantheons || JSON.stringify(query.pantheons) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-pantheon" src="/images/pantheons/sumerian.png" alt="Sumerian" />
</label>
</li>
</ul>
</li>
<li>
<label for='elements' class='js-checkToggle'>Elements</label>
<ul>
<li>
<label>
<input type='checkbox' name='elements' value='water'
<%- query && ((query.elements && query.elements.indexOf('water') > -1) || !query.elements || JSON.stringify(query.elements) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-element" src="/images/elements/water.png" alt="Water" />
</label>
</li>
<li>
<label>
<input type='checkbox' name='elements' value='fire'
<%- query && ((query.elements && query.elements.indexOf('fire') > -1) || !query.elements || JSON.stringify(query.elements) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-element" src="/images/elements/fire.png" alt="Fire" />
</label>
</li>
<li>
<label>
<input type='checkbox' name='elements' value='earth'
<%- query && ((query.elements && query.elements.indexOf('earth') > -1) || !query.elements || JSON.stringify(query.elements) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-element" src="/images/elements/earth.png" alt="Earth" />
</label>
</li>
<li>
<label>
<input type='checkbox' name='elements' value='air'
<%- query && ((query.elements && query.elements.indexOf('air') > -1) || !query.elements || JSON.stringify(query.elements) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-element" src="/images/elements/air.png" alt="Air" />
</label>
</li>
<li>
<label>
<input type='checkbox' name='elements' value='law'
<%- query && ((query.elements && query.elements.indexOf('law') > -1) || !query.elements || JSON.stringify(query.elements) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-element" src="/images/elements/law.png" alt="Law" />
</label>
</li>
<li>
<label>
<input type='checkbox' name='elements' value='chaos'
<%- query && ((query.elements && query.elements.indexOf('chaos') > -1) || !query.elements || JSON.stringify(query.elements) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<img
class="searchForm-element" src="/images/elements/chaos.png" alt="Chaos" />
</label>
</li>
</ul>
</li>
<li>
<label for='races' class='js-checkToggle'>Races</label>
<ul>
<li>
<label>
<input type='checkbox' name='races' value='creature'
<%- query && ((query.races && query.races.indexOf('creature') > -1) || !query.races || JSON.stringify(query.races) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;Creature
</label>
</li>
<li>
<label>
<input type='checkbox' name='races' value='deity'
<%- query && ((query.races && query.races.indexOf('deity') > -1) || !query.races || JSON.stringify(query.races) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;Deity
</label>
</li>
<li>
<label>
<input type='checkbox' name='races' value='god'
<%- query && ((query.races && query.races.indexOf('god') > -1) || !query.races || JSON.stringify(query.races) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;God
</label>
</li>
<li>
<label>
<input type='checkbox' name='races' value='goddess'
<%- query && ((query.races && query.races.indexOf('goddess') > -1) || !query.races || JSON.stringify(query.races) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;Goddess
</label>
</li>
<li>
<label>
<input type='checkbox' name='races' value='titan'
<%- query && ((query.races && query.races.indexOf('titan') > -1) || !query.races || JSON.stringify(query.races) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;Titan
</label>
</li>
</ul>
</li>
<li>
<label for='types' class='js-checkToggle'>Types</label>
<ul>
<li>
<label>
<input type='checkbox' name='types' value='battleground'
<%- query && ((query.types && query.types.indexOf('battleground') > -1) || !query.types || JSON.stringify(query.types) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;Battleground
</label>
</li>
<li>
<label>
<input type='checkbox' name='types' value='entity'
<%- query && ((query.types && query.types.indexOf('entity') > -1) || !query.types || JSON.stringify(query.types) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;Entity
</label>
</li>
<li>
<label>
<input type='checkbox' name='types' value='intervention'
<%- query && ((query.types && query.types.indexOf('intervention') > -1) || !query.types || JSON.stringify(query.types) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;Intervention
</label>
</li>
</ul>
</li>
<li>
<label for='releases' class='js-checkToggle'>Releases</label>
<ul>
<li>
<label>
<input type='checkbox' name='releases' value='s01c'
<%- query && ((query.releases && query.releases.indexOf('s01c') > -1) || !query.releases || JSON.stringify(query.releases) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<strong>Clash of the Gods</strong>
</label>
</li>
<li>
<label>
<input type='checkbox' name='releases' value='s01r'
<%- query && ((query.releases && query.releases.indexOf('s01r') > -1) || !query.releases || JSON.stringify(query.releases) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<strong>Cthulhu Rises</strong>
</label>
</li>
<li>
<label>
<input type='checkbox' name='releases' value='s01n'
<%- query && ((query.releases && query.releases.indexOf('s01n') > -1) || !query.releases || JSON.stringify(query.releases) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;<strong>Nemesis</strong>
</label>
</li>
<li>
<label>
<input type='checkbox' name='releases' value='s01p'
<%- query && ((query.releases && query.releases.indexOf('s01p') > -1) || !query.releases || JSON.stringify(query.releases) === '[]') ? "checked='checked'" : '' %>
/>&nbsp;Promotional
</label>
</li>
</ul>
</li>
</ul>
</fieldset>
<fieldset class='searchForm-controlSet'>
<legend>Controls</legend>
<ul>
<li>
<input type='submit' value='Search' />
</li>
<li>
<input type='reset' value='Clear' />
</li>
</ul>
</fieldset>
<!--
</label><br />
-->
</form>

66
views/partials/top.ejs Normal file
View File

@@ -0,0 +1,66 @@
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie lt-ie10 lt-ie9 lt-ie8 lt-ie7" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie lt-ie10 lt-ie9 lt-ie8" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie lt-ie10 lt-ie9" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <![endif]-->
<!--[if IE 9]> <html class="no-js ie lt-ie10" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <![endif]-->
<!--[if gt IE 9]> <html class="no-js ie" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <![endif]-->
<!--[if !IE]>--> <html class="no-js" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <!--<![endif]-->
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<base href="<%= site.base_uri %>/" />
<title><%= title ? title + ' | ' : ''%><%= site.title %></title>
<!-- For iPad with high-resolution Retina display running iOS ≥ 7: -->
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="<%= mw_site_uri %>/images/favicons/favicon-152.png">
<!-- For iPad with high-resolution Retina display running iOS ≤ 6: -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="<%= mw_site_uri %>/images/favicons/favicon-144.png">
<!-- For iPhone with high-resolution Retina display running iOS ≥ 7: -->
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="<%= mw_site_uri %>/images/favicons/favicon-120.png">
<!-- For iPhone with high-resolution Retina display running iOS ≤ 6: -->
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="<%= mw_site_uri %>/images/favicons/favicon-114.png">
<!-- For first- and second-generation iPad: -->
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="<%= mw_site_uri %>/images/favicons/favicon-72.png">
<!-- For non-Retina iPhone, iPod Touch, and Android 2.1+ devices: -->
<link rel="apple-touch-icon-precomposed" href="<%= mw_site_uri %>/images/favicons/favicon-57.png">
<!-- Additional Sizes -->
<link rel="icon" href="<%= mw_site_uri %>/images/favicons/favicon-128.png" sizes="128x128">
<link rel="icon" href="<%= mw_site_uri %>/images/favicons/favicon-96.png" sizes="96x96">
<link rel="icon" href="<%= mw_site_uri %>/images/favicons/favicon-64.png" sizes="64x64">
<link rel="icon" href="<%= mw_site_uri %>/images/favicons/favicon-48.png" sizes="48x48">
<link rel="icon" href="<%= mw_site_uri %>/images/favicons/favicon-32.png" sizes="32x32">
<link rel="icon" href="<%= mw_site_uri %>/images/favicons/favicon-124.png" sizes="24x24">
<link rel="icon" href="<%= mw_site_uri %>/images/favicons/favicon-16.png" sizes="16x16">
<link rel="shortcut icon" href="<%= mw_site_uri %>/images/favicons/favicon-16.png" />
<meta name="description" content="<%= site.description %>">
<meta name="author" content="<%= author.name %>">
<meta name="generator" content="Express">
<meta name="keywords" content="<%= site.keywords %>">
<meta name="robots" content="follow, index">
<meta name="theme-color" content="#281c1c" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:url" content="<%= site.base_uri + originalUrl %>" />
<meta property="og:site_name" content="<%= site.title %>" />
<meta property="og:title" content="<%= (title || site.title) %>" />
<meta property="og:description" content="<%= (typeof description !== 'undefined' ? description : site.description) %>" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:url" content="<%= site.base_uri + originalUrl %>" />
<meta name="twitter:title" content="(title || site.title) %>" />
<meta name="twitter:description" content="<%= (typeof description !== 'undefined' ? description : site.description) %>">
<meta name="twitter:image:src" content="">
<% if (author && author.twitter) { %>
<meta name="twitter:creator" content="<%= author.twitter %>">
<% } %>
<link rel="start" href="<%= site.base_uri %>/"/>
<!-- <link rel="contents" href="/sitemap.xml" title="Sitemap"/> --> <!-- TODO: add uri -->
<link rel="canonical" href="<%= site.base_uri + originalUrl %>"/>
<link rel="stylesheet" href="/styles/styles.css" type="text/css" />
</head>

View File

@@ -0,0 +1,74 @@
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie lt-ie10 lt-ie9 lt-ie8 lt-ie7" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie lt-ie10 lt-ie9 lt-ie8" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie lt-ie10 lt-ie9" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <![endif]-->
<!--[if IE 9]> <html class="no-js ie lt-ie10" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <![endif]-->
<!--[if gt IE 9]> <html class="no-js ie" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <![endif]-->
<!--[if !IE]>--> <html class="no-js" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <!--<![endif]-->
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<base href="<%= site.base_uri %>/" />
<title><%= title ? title + ' | ' : ''%><%= site.title %></title>
<!-- For iPad with high-resolution Retina display running iOS ≥ 7: -->
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="/images/favicons/favicon-152.png">
<!-- For iPad with high-resolution Retina display running iOS ≤ 6: -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/images/favicons/favicon-144.png">
<!-- For iPhone with high-resolution Retina display running iOS ≥ 7: -->
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="/images/favicons/favicon-120.png">
<!-- For iPhone with high-resolution Retina display running iOS ≤ 6: -->
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/images/favicons/favicon-114.png">
<!-- For first- and second-generation iPad: -->
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/images/favicons/favicon-72.png">
<!-- For non-Retina iPhone, iPod Touch, and Android 2.1+ devices: -->
<link rel="apple-touch-icon-precomposed" href="/images/favicons/favicon-57.png">
<!-- Additional Sizes -->
<link rel="icon" href="/images/favicons/favicon-128.png" sizes="128x128">
<link rel="icon" href="/images/favicons/favicon-96.png" sizes="96x96">
<link rel="icon" href="/images/favicons/favicon-64.png" sizes="64x64">
<link rel="icon" href="/images/favicons/favicon-48.png" sizes="48x48">
<link rel="icon" href="/images/favicons/favicon-32.png" sizes="32x32">
<link rel="icon" href="/images/favicons/favicon-124.png" sizes="24x24">
<link rel="icon" href="/images/favicons/favicon-16.png" sizes="16x16">
<link rel="shortcut icon" href="/images/favicons/favicon-16.png" />
<meta name="description" content="">
<meta name="author" content="<%= author.name %>">
<meta name="generator" content="Express"/>
<meta name="keywords" content="">
<meta name="robots" content="">
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:url" content="" /> <!-- TODO: Fix this -->
<meta property="og:site_name" content="<%= site.title %>" />
<meta property="og:title" content="<%= (title || site.title) %>" />
<% if (card && card.image) { %>
<meta property="og:image" content="<%= card.image %>"/>
<% } %>
<% if (description) { %>
<meta property="og:description" content="<%= description %>" />
<% } %>
<!-- Twitter Card -->
<% if (card && card.image) { %>
<meta name="twitter:card" content="summary_large_image">
<% } else { %>
<meta name="twitter:card" content="summary" />
<% } %>
<meta name="twitter:url" content="" /> <!-- TODO: add uri -->
<meta name="twitter:title" content="(title || site.title) %>" />
<meta name="twitter:description" content="">
<meta name="twitter:image:src" content="">
<% if (author && author.twitter) { %>
<meta name="twitter:creator" content="<%= author.twitter %>">
<% } %>
<link rel="start" href="<%= site.base_uri %>/"/>
<!-- <link rel="contents" href="/sitemap.xml" title="Sitemap"/> --> <!-- TODO: add uri -->
<link rel="canonical" href=""/> <!-- TODO: add uri -->
<link rel="stylesheet" href="/styles/styles.<%= site.version -%>.min.css" type="text/css" />
</head>