structrdfal 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +133 -0
- data/_includes/blogList.html +82 -0
- data/_includes/blogList.html~1 +100 -0
- data/_includes/blogList.html~2 +85 -0
- data/_includes/catag-old.html +15 -0
- data/_includes/catag.html +16 -0
- data/_includes/footer.html +18 -0
- data/_includes/nav.html +14 -0
- data/_layouts/aboutPage.html +5 -0
- data/_layouts/autopage_category.html +11 -0
- data/_layouts/autopage_tags.html +12 -0
- data/_layouts/bloghome.html +10 -0
- data/_layouts/contactPage.html +5 -0
- data/_layouts/default.html +131 -0
- data/_layouts/event.html +145 -0
- data/_layouts/page.html +4 -0
- data/_layouts/post.html +34 -0
- data/_layouts/sitehome.html +62 -0
- data/_sass/_variables.scss +36 -0
- data/_sass/_vertical-rhythm.scss +61 -0
- data/assets/.colophon/html5-boilerplate_v7.0.1/404.html +60 -0
- data/assets/.colophon/html5-boilerplate_v7.0.1/LICENSE.txt +19 -0
- data/assets/.colophon/html5-boilerplate_v7.0.1/docs/TOC.md +34 -0
- data/assets/.colophon/html5-boilerplate_v7.0.1/docs/css.md +54 -0
- data/assets/.colophon/html5-boilerplate_v7.0.1/docs/extend.md +640 -0
- data/assets/.colophon/html5-boilerplate_v7.0.1/docs/faq.md +42 -0
- data/assets/.colophon/html5-boilerplate_v7.0.1/docs/html.md +198 -0
- data/assets/.colophon/html5-boilerplate_v7.0.1/docs/js.md +36 -0
- data/assets/.colophon/html5-boilerplate_v7.0.1/docs/misc.md +173 -0
- data/assets/.colophon/html5-boilerplate_v7.0.1/docs/usage.md +130 -0
- data/assets/.colophon/html5-boilerplate_v7.0.1/index.html +41 -0
- data/assets/.colophon/normalize-scss/README.md +158 -0
- data/assets/.editorconfig +13 -0
- data/assets/.htaccess +1224 -0
- data/assets/404.html +6 -0
- data/assets/browserconfig.xml +12 -0
- data/assets/contactform.html +23 -0
- data/assets/eventform.html +110 -0
- data/assets/favicon.ico +0 -0
- data/assets/humans.txt +16 -0
- data/assets/icon.png +0 -0
- data/assets/robots.txt +5 -0
- data/assets/scripts/.DS_Store +0 -0
- data/assets/scripts/main.js +0 -0
- data/assets/scripts/plugins.js +24 -0
- data/assets/scripts/vendor/jquery-3.3.1.min.js +2 -0
- data/assets/scripts/vendor/modernizr-3.6.0.min.js +3 -0
- data/assets/site.webmanifest +12 -0
- data/assets/styles/HTML5BP-main.css +290 -0
- data/assets/styles/form.css +81 -0
- data/assets/styles/normalize.css +349 -0
- data/assets/styles/structRDFaL.css +177 -0
- data/assets/tile-wide.png +0 -0
- data/assets/tile.png +0 -0
- metadata +156 -0
@@ -0,0 +1,131 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html class="no-js" lang="en" prefix="dc: http://purl.org/dc/terms/">
|
3
|
+
<head profile="http://www.w3.org/2005/10/profile">
|
4
|
+
<meta charset="utf-8">
|
5
|
+
{% if site.sitemark %}
|
6
|
+
{%- capture preTitle %}{{ site.sitemark }} - {% endcapture -%}
|
7
|
+
{%- else %}
|
8
|
+
{%- capture postTitle %} - {{ site.title }}{% endcapture -%}
|
9
|
+
{%- endif -%}
|
10
|
+
|
11
|
+
{% comment -%}
|
12
|
+
<!-- -----------------------------------------------------------------
|
13
|
+
I can find no validator for HTML embedded Dublin Core markup. Google's
|
14
|
+
Structured Data Testing Tool completely ignores the stuff. Yandex's
|
15
|
+
Structured Data Validator recognizes it given the prefix data in the
|
16
|
+
<html> above, even tho according to RDFa Core Initial Context, dc:
|
17
|
+
should be predefined (https://www.w3.org/2011/rdfa-context/rdfa-1.1)
|
18
|
+
|
19
|
+
for some really good examples of how the markup should look in your
|
20
|
+
code, see (https://www.w3.org/TR/rdfa-core/#s_initialcontexts)
|
21
|
+
------------------------------------------------------------------ -->
|
22
|
+
{%- endcomment %}
|
23
|
+
<title property="dc:title">{{ preTitle }}{{ page.title }}{{ postTitle }}</title>
|
24
|
+
<meta name="description" property="dc:description" content="{{ page.description | default: site.description }}">
|
25
|
+
{% if page.tags or page.categories or page.keywords -%}
|
26
|
+
{%- assign nothing = "" | split: ", " %}
|
27
|
+
{%- assign ptags = page.tags | default: nothing %}
|
28
|
+
{%- assign pcats = page.categories | default: nothing %}
|
29
|
+
{%- assign pkeys = page.keywords | default: nothing %}
|
30
|
+
{%- assign keys = ptags | concat: pcats | concat: pkeys | uniq | join: "," %}
|
31
|
+
{%- assign keys = keys | remove_first: "blog," | remove_first: ",blog" -%}
|
32
|
+
<meta name="keywords" property="dc:keywords" content="{{ keys }}" />
|
33
|
+
{%- endif -%}
|
34
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
35
|
+
|
36
|
+
{% if page.meta-creator or site.author -%}
|
37
|
+
<meta name="author" property="dc:creator" content="{{ page.meta-creator | default: site.author }}" />
|
38
|
+
{%- endif %}
|
39
|
+
{% if page.meta-subject -%}
|
40
|
+
<meta property="dc:subject" content="{{ page.meta-subject }}" />
|
41
|
+
{%- endif %}
|
42
|
+
<meta property="dc:format" content="text/html" />
|
43
|
+
<meta property="dc:identifier" content="{{ page.url | absolute_url }}" />
|
44
|
+
{% if page.creation-date -%}
|
45
|
+
<meta property="dc:date.created" content="{{ page.creation-date | date: '%Y-%m-%d' }}" />
|
46
|
+
{%- endif -%}
|
47
|
+
{% if page.date -%}
|
48
|
+
<meta property="dc:date.lastmodified" content="{{ page.date | date: '%Y-%m-%d' }}" />
|
49
|
+
{%- endif -%}
|
50
|
+
{% if site.copynotice -%}
|
51
|
+
<meta property="dc:rights" content="{{ site.copynotice }}" />
|
52
|
+
{%- endif -%}
|
53
|
+
|
54
|
+
<link rel="manifest" href="site.webmanifest">
|
55
|
+
<link rel="apple-touch-icon" href="icon.png">
|
56
|
+
{%- comment -%}
|
57
|
+
HTML5BP says:
|
58
|
+
<!-- Place favicon.ico in the root directory -->
|
59
|
+
but the W3C "discourage" this behaviour (https://www.w3.org/2005/10/howto-favicon), so...
|
60
|
+
{%- endcomment %}
|
61
|
+
<link rel="icon" href="{{ site.baseurl }}favicon.ico">
|
62
|
+
|
63
|
+
<link rel="stylesheet" href="{{ site.stPath }}normalize.css">
|
64
|
+
<link rel="stylesheet" href="{{ site.stPath }}HTML5BP-main.css">
|
65
|
+
<link rel="stylesheet" href="{{ site.stPath }}structRDFaL.css">
|
66
|
+
{% if page.isform -%}<link rel="stylesheet" href="{{ site.stPath }}form.css">{%- endif %}
|
67
|
+
|
68
|
+
<meta name="theme-color" content="#fafafa">
|
69
|
+
</head>
|
70
|
+
{% comment -%}
|
71
|
+
<!-- ------------------------------------------------------------------
|
72
|
+
pgtype: (typeof WebPage) you might want (see https://schema.org/WebPage)
|
73
|
+
WebPage, AboutPage, ContactPage, CollectionPage (ImageGallery or VideoGallery)
|
74
|
+
Also could be- ItemPage, ProfilePage, QAPage (or FAQPage), SearchResultsPage
|
75
|
+
|
76
|
+
Will default to WebPage.
|
77
|
+
|
78
|
+
The pageType/mainType page/layout pgtype/mntype dance is because
|
79
|
+
Liquid/Jekyll frontmatter inheritance sucks.
|
80
|
+
----------------------------------------------------------------------
|
81
|
+
mntype: (MainEntity)
|
82
|
+
some common ones: Event, Review, Book, HowTo, Article, BlogPost
|
83
|
+
----------------------------------------------------------------------
|
84
|
+
Some dates that could be put in:
|
85
|
+
lastReviewed (last checked for accuracy)
|
86
|
+
dateCreated
|
87
|
+
dateModified
|
88
|
+
datePublished
|
89
|
+
|
90
|
+
name: usually page title
|
91
|
+
description:
|
92
|
+
breadcrumbs are marked up as an element of WebPage
|
93
|
+
there are also "about" and "keywords" but Google frowns on schema markup that is not visible unless one wants to implement a poor-man's search via tags
|
94
|
+
------------------------------------------------------------------ -->
|
95
|
+
{%- endcomment %}
|
96
|
+
|
97
|
+
{%- if layout.pgtype or page.pgtype %}
|
98
|
+
{% assign pageType = layout.pgtype | default: page.pgtype %}
|
99
|
+
{%- endif -%}
|
100
|
+
{%- if layout.mntype or page.mntype %}
|
101
|
+
{% assign mainType = layout.mntype | default: page.mntype %}
|
102
|
+
{%- endif -%}
|
103
|
+
|
104
|
+
<body vocab="http://schema.org/" typeof="{{ pageType | default: 'WebPage' }}">
|
105
|
+
<!--[if lte IE 9]>
|
106
|
+
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience and security.</p>
|
107
|
+
<![endif]-->
|
108
|
+
{%- if mainType %}
|
109
|
+
<main tabindex="-1" id="main-thing" property="mainEntity" typeof="{{ mainType }}">
|
110
|
+
{%- else %}
|
111
|
+
<main tabindex="-1" id="main-thing">
|
112
|
+
<h1 property="name">{{ page.title }}</h1>
|
113
|
+
{%- endif %}
|
114
|
+
<a href="/" title="Home"><img id="top-corner-logo" src="/icon.png" alt="logo"></a>
|
115
|
+
<!-- <p>default: pageType={{pageType}}, spt:{{site.pgtype}}, lpt:{{layout.pgtype}}<br />
|
116
|
+
mainType={{mainType}}, smt:{{site.mntype}}, lmt:{{layout.mntype}}</p> -->
|
117
|
+
{{ content }}
|
118
|
+
</main>
|
119
|
+
{% include nav.html -%}
|
120
|
+
{% include footer.html -%}
|
121
|
+
{%- comment -%}
|
122
|
+
Since it is the <main> element that is scrolling, focus must be
|
123
|
+
moved from the overall document to the <main> element for the
|
124
|
+
default spacebar scrolling to work. Obviously, Javascript must be
|
125
|
+
enabled for this to work since, sadly, there is no HTML/CSS way to
|
126
|
+
do it. It is a cosmetic level convenience so if it does not
|
127
|
+
enabled/work it is not fatal.
|
128
|
+
{%- endcomment %}
|
129
|
+
<script type="text/javascript">document.getElementById("main-thing").focus();</script>
|
130
|
+
</body>
|
131
|
+
</html>
|
data/_layouts/event.html
ADDED
@@ -0,0 +1,145 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
{% comment -%}
|
5
|
+
<!-- some debug stuff -->
|
6
|
+
<!-- event: spt:{{site.pgtype}}, lpt:{{layout.pgtype}}<br />
|
7
|
+
smt:{{site.mntype}}, lmt:{{layout.mntype}}<br />
|
8
|
+
evtype: let:{{layout.evtype}}, pet:{{page.evtype}}<br /> -->
|
9
|
+
{%- endcomment -%}
|
10
|
+
{%- if page.image %}<meta property="image" href="{{ page.image }}" /></a>{%- endif %}
|
11
|
+
|
12
|
+
<section property="mainEntity" typeof="{{ layout.evtype | default: page.evtype | default: 'Event' }}">
|
13
|
+
{%- if page.image %}
|
14
|
+
<a property="image" href="{{ page.image }}" title="bigger"><img src="{{ page.image }}" align="right" alt="" title="Poster for {{ page.title }}" style="max-width: 33%;" /></a>
|
15
|
+
{%- endif %}
|
16
|
+
{%- if page.description %}
|
17
|
+
{%- if page.age %}
|
18
|
+
{% capture ageStmt %} Recommended for <span property="typicalAgeRange">{{ page.age }}</span>.{% endcapture %}
|
19
|
+
{%- endif %}
|
20
|
+
<p property="description">{{ page.description | newline_to_br }}{{ ageStmt }}</p>
|
21
|
+
{%- endif %}
|
22
|
+
|
23
|
+
|
24
|
+
<!-- only if needed
|
25
|
+
<meta property="eventStatus" content="http://schema.org/EventRescheduled">
|
26
|
+
<meta property="eventStatus" content="http://schema.org/EventCancelled">
|
27
|
+
<meta property="eventStatus" content="http://schema.org/EventPostponed">
|
28
|
+
<span property="previousStartDate" content="2013-09-14T21:30">(previously scheduled for Sept 14th)</span>
|
29
|
+
-->
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
<dl>
|
34
|
+
{%- if page.website %}
|
35
|
+
<dt>Website</dt>
|
36
|
+
<dd><a property="url" href="{{ page.website }}" title="{{ page.title}}">{{ page.website }}</a></dd>
|
37
|
+
{%- endif %}
|
38
|
+
<dt>Host</dt>
|
39
|
+
{%- if page.orgURL %}
|
40
|
+
<dd property="organizer" typeof="Organization"><a property="url" title="{{ page.organizer }}" href="{{ page.orgURL }}"><span property="name">{{ page.organizer }}</span></a></dd>
|
41
|
+
{%- else %}
|
42
|
+
<dd property="organizer" typeof="Organization"><span property="name">{{ page.organizer }}</span></dd>
|
43
|
+
{%- endif %}
|
44
|
+
{%- if page.sponsor %}
|
45
|
+
<dt>Sponsor(s)</dt>
|
46
|
+
<dd>
|
47
|
+
<ul style="padding: 0; list-style: none;"
|
48
|
+
{%- assign sponsors = page.sponsor | split: ", " %}
|
49
|
+
{%- for spons in sponsors %}
|
50
|
+
<li property="sponsor" typeof="Organization"> <span property="name">{{ spons }}</span></li>
|
51
|
+
{%- endfor %}
|
52
|
+
</ul>
|
53
|
+
</dd>
|
54
|
+
{%- endif %}
|
55
|
+
|
56
|
+
<!-- if doing dates with times, need the date/time to be in ISO_8601 format
|
57
|
+
<dd property="startDate" content="2019-01-26T08:10:36-08:00">January 26, 2019 at 8:10am PST</dd>
|
58
|
+
-->
|
59
|
+
{%- if page.endDate -%}
|
60
|
+
<dt>Dates</dt>
|
61
|
+
{%- capture endday %} to <span property="endDate" content="{{ page.endDate }}">{{ page.endDate | date: "%b %d, %Y" }}</span>{%- endcapture -%}
|
62
|
+
{%- else %}
|
63
|
+
<dt>Date</dt>
|
64
|
+
{%- endif %}
|
65
|
+
<dd><span property="startDate" content="{{ page.startDate }}">{{ page.startDate | date: "%b %d, %Y" }}</span>{{ endday }}</dd>
|
66
|
+
<dt>Where</dt>
|
67
|
+
<dd property="location" typeof="Place">
|
68
|
+
{%- if page.venue -%}
|
69
|
+
{%- if page.venueURL %}
|
70
|
+
<span property="name" content="{{ page.venue }}"><a property="url" href="{{ page.venueURL }}">{{ page.venue }}</a></span>
|
71
|
+
{%- else %}
|
72
|
+
<span property="name">{{ page.venue }}</span>
|
73
|
+
{%- endif -%}
|
74
|
+
{%- endif %}
|
75
|
+
<div property="address" typeof="PostalAddress">
|
76
|
+
<span property="streetAddress">{{ page.stAddress | newline_to_br }}</span><br>
|
77
|
+
<span property="addressLocality">{{ page.locality }}</span>,
|
78
|
+
<span property="addressRegion">{{ page.region }}</span>,
|
79
|
+
{%- if page.postal %}
|
80
|
+
<span property="postalCode">{{ page.postal }}</span>,
|
81
|
+
{%- endif %}
|
82
|
+
<span property="addressCountry">{{ page.country }}</span>
|
83
|
+
</div>
|
84
|
+
{%- if page.mappic or page.maplink %}
|
85
|
+
<span property="hasMap">
|
86
|
+
{%- if page.mappic %}
|
87
|
+
<link itemprop="mapType" href="http://schema.org/VenueMap" />
|
88
|
+
<a property="map" href="{{ page.mappic }}">Map</a><br>
|
89
|
+
{%- endif %}
|
90
|
+
{%- if page.maplink %}
|
91
|
+
<a property="url" href="{{ page.maplink }}">click here for directions</a>
|
92
|
+
{%- endif %}
|
93
|
+
</span>
|
94
|
+
{%- endif %}
|
95
|
+
</dd>
|
96
|
+
{%- if page.langs %}
|
97
|
+
<dt>Language(s)</dt>
|
98
|
+
<dd property="inLanguage">
|
99
|
+
{%- assign languages = page.langs | split: ", " %}
|
100
|
+
{%- for lang in languages %}
|
101
|
+
{%- unless forloop.first == true %}, {% endunless -%}
|
102
|
+
<span property="name">{{ lang }}</span>
|
103
|
+
{%- endfor -%}
|
104
|
+
</dd>
|
105
|
+
{%- endif %}
|
106
|
+
{%- if page.offers %}
|
107
|
+
<dt>Price</dt>
|
108
|
+
<dd property="offers" typeof="http://schema.org/Offer">
|
109
|
+
<span property="price" content="{{ page.price }}">
|
110
|
+
{%- if page.currency %}
|
111
|
+
<span property="priceCurrency" content="{{ page.currencyCode }}">{{ page.currency }}</span>
|
112
|
+
{%- endif %}
|
113
|
+
{%- if page.price %}
|
114
|
+
{{ page.price }}
|
115
|
+
{%- else %}
|
116
|
+
{{ page.offers }}
|
117
|
+
{%- endif %}
|
118
|
+
</span>
|
119
|
+
</dd>
|
120
|
+
{%- endif %}
|
121
|
+
<!--
|
122
|
+
<dd><ul>
|
123
|
+
<li property="offers" typeof="http://schema.org/Offer">
|
124
|
+
<a property="url" href="example.com/registration.html" title="registration form">Register here</a>
|
125
|
+
<span property="validFrom" content="2015-10-01T00:01">Oct 1, 2015</span> –
|
126
|
+
<span property="validThrough" content="2016-01-31T23:59">Jan 31, 2016</span> –
|
127
|
+
<div class="event-price">
|
128
|
+
<meta property="priceCurrency" content="USD" />$
|
129
|
+
<meta property="price" content="13.00" />13.00
|
130
|
+
</div>
|
131
|
+
</li>
|
132
|
+
<li property="offers" typeof="http://schema.org/Offer">
|
133
|
+
<a property="url" href="example.com/registration.html" title="registration form">Register here</a>
|
134
|
+
<span property="validFrom" content="2016-02-01T00:01">Feb 1, 2016</span> –
|
135
|
+
<span property="validThrough" content="2016-06-14T23:59">June 14, 2016</span> –
|
136
|
+
<span property="priceCurrency" content="USD">$</span><span property="price" content="1000.00">1,000.00</span>
|
137
|
+
</li>
|
138
|
+
</ul></dd> -->
|
139
|
+
</dl>
|
140
|
+
<!-- <p property="description">
|
141
|
+
yatta yatta event
|
142
|
+
</p> -->
|
143
|
+
</section>
|
144
|
+
</main>
|
145
|
+
</section>
|
data/_layouts/page.html
ADDED
data/_layouts/post.html
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
mntype: BlogPosting
|
4
|
+
---
|
5
|
+
{% comment -%}
|
6
|
+
<!-- some debug stuff -->
|
7
|
+
<!-- <p>post: spt:{{site.pgtype}}, lpt:{{layout.pgtype}}<br />
|
8
|
+
smt:{{site.mntype}}, lmt:{{layout.mntype}}</p> -->
|
9
|
+
{%- endcomment -%}
|
10
|
+
<article class="post">
|
11
|
+
<header>
|
12
|
+
<h1 property="headline">{{ page.title }}</h1>
|
13
|
+
<time property="datePublished"
|
14
|
+
content="{{ page.date | date_to_xmlschema }}"
|
15
|
+
class="post-date">{{ page.date | date_to_string }}</time>
|
16
|
+
<a property="author publisher" typeof="Person"><meta property="name"
|
17
|
+
content="{{ site.author }}" /></a>
|
18
|
+
{% include catag.html list=page -%}
|
19
|
+
</header>
|
20
|
+
<section property="articleBody">
|
21
|
+
{{ content }}
|
22
|
+
</section>
|
23
|
+
</article>
|
24
|
+
<section class="related">
|
25
|
+
<h2>Related Posts</h2>
|
26
|
+
<ul class="related-posts">
|
27
|
+
{%- for post in site.related_posts limit:3 -%}
|
28
|
+
<li>
|
29
|
+
<small>{{ post.date | date_to_string }}</small>
|
30
|
+
<a href="{{ post.url | relative_url }}">{{ post.title }}</a>
|
31
|
+
</li>
|
32
|
+
{% endfor -%}
|
33
|
+
</ul>
|
34
|
+
</section>
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html class="no-js" lang="en" prefix="dc: http://purl.org/dc/terms/">
|
3
|
+
<head profile="http://www.w3.org/2005/10/profile">
|
4
|
+
<meta charset="utf-8">
|
5
|
+
{% if site.title -%}
|
6
|
+
{%- capture preTitle %}{{ site.title }} - {% endcapture -%}
|
7
|
+
{% endif -%}
|
8
|
+
|
9
|
+
<title property="dc:title">{{ preTitle }}{{ page.title }}</title>
|
10
|
+
<meta name="description" property="dc:description" content="{{ page.description | default: site.description }}">
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
12
|
+
|
13
|
+
{% if site.author -%}
|
14
|
+
<meta name="author" property="dc:creator" content="{{ site.author }}" />
|
15
|
+
{%- endif %}
|
16
|
+
{% if page.meta-subject -%}
|
17
|
+
<meta property="dc:subject" content="{{ page.meta-subject }}" />
|
18
|
+
{%- endif %}
|
19
|
+
<meta property="dc:format" content="text/html" />
|
20
|
+
<meta property="dc:identifier" content="{{ page.url | absolute_url }}" />
|
21
|
+
{% if page.creation-date -%}
|
22
|
+
<meta property="dc:date.created" content="{{ page.creation-date | date: '%Y-%m-%d' }}" />
|
23
|
+
{%- endif %}
|
24
|
+
<meta property="dc:date.lastmodified" content="{{ page.date | date: '%Y-%m-%d' }}" />
|
25
|
+
{% if site.copynotice -%}
|
26
|
+
<meta property="dc:rights" content="{{ site.copynotice }}" />
|
27
|
+
{%- endif %}
|
28
|
+
|
29
|
+
<link rel="manifest" href="site.webmanifest">
|
30
|
+
<link rel="apple-touch-icon" href="icon.png">
|
31
|
+
{%- comment -%}
|
32
|
+
HTML5BP says:
|
33
|
+
<!-- Place favicon.ico in the root directory -->
|
34
|
+
but the W3C "discourage" this behaviour, so...
|
35
|
+
{%- endcomment %}
|
36
|
+
<link rel="icon" href="{{ site.baseurl }}favicon.ico">
|
37
|
+
|
38
|
+
<link rel="stylesheet" href="{{ site.stPath }}normalize.css">
|
39
|
+
<link rel="stylesheet" href="{{ site.stPath }}HTML5BP-main.css">
|
40
|
+
<link rel="stylesheet" href="{{ site.stPath }}structRDFaL.css">
|
41
|
+
{% if page.isform -%}<link rel="stylesheet" href="{{ site.stPath }}form.css">{%- endif %}
|
42
|
+
|
43
|
+
<meta name="theme-color" content="#fafafa">
|
44
|
+
</head>
|
45
|
+
|
46
|
+
<body vocab="http://schema.org/" typeof="{{ page.pgtype | default: 'WebPage' }}">
|
47
|
+
<!--[if lte IE 9]>
|
48
|
+
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience and security.</p>
|
49
|
+
<![endif]-->
|
50
|
+
{%- if page.mntype -%}
|
51
|
+
<main tabindex="-1" id="main-thing" property="mainEntity" typeof="{{ page.mntype }}">
|
52
|
+
{%- else -%}
|
53
|
+
<main tabindex="-1" id="main-thing">
|
54
|
+
<h1 property="name">{{ page.title }}</h1>
|
55
|
+
{%- endif %}
|
56
|
+
<img id="top-corner-logo" src="/icon.png" alt="logo" title="Home">
|
57
|
+
{{ content }}
|
58
|
+
</main>
|
59
|
+
{% include nav.html -%}
|
60
|
+
{% include footer.html -%}
|
61
|
+
</body>
|
62
|
+
</html>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
//
|
2
|
+
// Variables
|
3
|
+
//
|
4
|
+
// If you have an initialization partial (or equivalent), you should move these
|
5
|
+
// lines to that file. NOTE: Edit the lines to remove "!default".
|
6
|
+
|
7
|
+
// The font size set on the root html element.
|
8
|
+
$base-font-size: 16px !default;
|
9
|
+
|
10
|
+
// The base line height determines the basic unit of vertical rhythm.
|
11
|
+
$base-line-height: 24px !default;
|
12
|
+
|
13
|
+
// The length unit in which to output vertical rhythm values.
|
14
|
+
// Supported values: px, em, rem.
|
15
|
+
$base-unit: 'em' !default;
|
16
|
+
|
17
|
+
// The default font family.
|
18
|
+
$base-font-family: null !default;
|
19
|
+
|
20
|
+
// The font sizes for h1-h6.
|
21
|
+
$h1-font-size: 2 * $base-font-size !default;
|
22
|
+
$h2-font-size: 1.5 * $base-font-size !default;
|
23
|
+
$h3-font-size: 1.17 * $base-font-size !default;
|
24
|
+
$h4-font-size: 1 * $base-font-size !default;
|
25
|
+
$h5-font-size: 0.83 * $base-font-size !default;
|
26
|
+
$h6-font-size: 0.67 * $base-font-size !default;
|
27
|
+
|
28
|
+
// The amount lists and blockquotes are indented.
|
29
|
+
$indent-amount: 40px !default;
|
30
|
+
|
31
|
+
// The following variable controls whether normalize-scss will output
|
32
|
+
// font-sizes, line-heights and block-level top/bottom margins that form a basic
|
33
|
+
// vertical rhythm on the page, which differs from the original Normalize.css.
|
34
|
+
// However, changing any of the variables above will cause
|
35
|
+
// $normalize-vertical-rhythm to be automatically set to true.
|
36
|
+
$normalize-vertical-rhythm: false !default;
|
@@ -0,0 +1,61 @@
|
|
1
|
+
//
|
2
|
+
// Vertical Rhythm
|
3
|
+
//
|
4
|
+
// This is the minimal amount of code needed to create vertical rhythm in our
|
5
|
+
// CSS. If you are looking for a robust solution, look at the excellent Typey
|
6
|
+
// library. @see https://github.com/jptaranto/typey
|
7
|
+
|
8
|
+
@function normalize-rhythm($value, $relative-to: $base-font-size, $unit: $base-unit) {
|
9
|
+
@if unit($value) != px {
|
10
|
+
@error "The normalize vertical-rhythm module only supports px inputs. The typey library is better.";
|
11
|
+
}
|
12
|
+
@if $unit == rem {
|
13
|
+
@return ($value / $base-font-size) * 1rem;
|
14
|
+
}
|
15
|
+
@else if $unit == em {
|
16
|
+
@return ($value / $relative-to) * 1em;
|
17
|
+
}
|
18
|
+
@else { // $unit == px
|
19
|
+
@return $value;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
@mixin normalize-font-size($value, $relative-to: $base-font-size) {
|
24
|
+
@if unit($value) != 'px' {
|
25
|
+
@error "normalize-font-size() only supports px inputs. The typey library is better.";
|
26
|
+
}
|
27
|
+
font-size: normalize-rhythm($value, $relative-to);
|
28
|
+
}
|
29
|
+
|
30
|
+
@mixin normalize-rhythm($property, $values, $relative-to: $base-font-size) {
|
31
|
+
$value-list: $values;
|
32
|
+
$sep: space;
|
33
|
+
@if type-of($values) == 'list' {
|
34
|
+
$sep: list-separator($values);
|
35
|
+
}
|
36
|
+
@else {
|
37
|
+
$value-list: append((), $values);
|
38
|
+
}
|
39
|
+
|
40
|
+
$normalized-values: ();
|
41
|
+
@each $value in $value-list {
|
42
|
+
@if unitless($value) and $value != 0 {
|
43
|
+
$value: $value * normalize-rhythm($base-line-height, $relative-to);
|
44
|
+
}
|
45
|
+
$normalized-values: append($normalized-values, $value, $sep);
|
46
|
+
}
|
47
|
+
#{$property}: $normalized-values;
|
48
|
+
}
|
49
|
+
|
50
|
+
@mixin normalize-margin($values, $relative-to: $base-font-size) {
|
51
|
+
@include normalize-rhythm(margin, $values, $relative-to);
|
52
|
+
}
|
53
|
+
|
54
|
+
@mixin normalize-line-height($font-size, $min-line-padding: 2px) {
|
55
|
+
$lines: ceil($font-size / $base-line-height);
|
56
|
+
// If lines are cramped include some extra leading.
|
57
|
+
@if ($lines * $base-line-height - $font-size) < ($min-line-padding * 2) {
|
58
|
+
$lines: $lines + 1;
|
59
|
+
}
|
60
|
+
@include normalize-rhythm(line-height, $lines, $font-size);
|
61
|
+
}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>Page Not Found</title>
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
7
|
+
<style>
|
8
|
+
|
9
|
+
* {
|
10
|
+
line-height: 1.2;
|
11
|
+
margin: 0;
|
12
|
+
}
|
13
|
+
|
14
|
+
html {
|
15
|
+
color: #888;
|
16
|
+
display: table;
|
17
|
+
font-family: sans-serif;
|
18
|
+
height: 100%;
|
19
|
+
text-align: center;
|
20
|
+
width: 100%;
|
21
|
+
}
|
22
|
+
|
23
|
+
body {
|
24
|
+
display: table-cell;
|
25
|
+
vertical-align: middle;
|
26
|
+
margin: 2em auto;
|
27
|
+
}
|
28
|
+
|
29
|
+
h1 {
|
30
|
+
color: #555;
|
31
|
+
font-size: 2em;
|
32
|
+
font-weight: 400;
|
33
|
+
}
|
34
|
+
|
35
|
+
p {
|
36
|
+
margin: 0 auto;
|
37
|
+
width: 280px;
|
38
|
+
}
|
39
|
+
|
40
|
+
@media only screen and (max-width: 280px) {
|
41
|
+
|
42
|
+
body, p {
|
43
|
+
width: 95%;
|
44
|
+
}
|
45
|
+
|
46
|
+
h1 {
|
47
|
+
font-size: 1.5em;
|
48
|
+
margin: 0 0 0.3em;
|
49
|
+
}
|
50
|
+
|
51
|
+
}
|
52
|
+
|
53
|
+
</style>
|
54
|
+
</head>
|
55
|
+
<body>
|
56
|
+
<h1>Page Not Found</h1>
|
57
|
+
<p>Sorry, but the page you were trying to view does not exist.</p>
|
58
|
+
</body>
|
59
|
+
</html>
|
60
|
+
<!-- IE needs 512+ bytes: https://blogs.msdn.microsoft.com/ieinternals/2010/08/18/friendly-http-error-pages/ -->
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Copyright (c) HTML5 Boilerplate
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
4
|
+
this software and associated documentation files (the "Software"), to deal in
|
5
|
+
the Software without restriction, including without limitation the rights to
|
6
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
7
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
8
|
+
so, subject to the following conditions:
|
9
|
+
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
11
|
+
copies or substantial portions of the Software.
|
12
|
+
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
19
|
+
SOFTWARE.
|
@@ -0,0 +1,34 @@
|
|
1
|
+
[HTML5 Boilerplate homepage](https://html5boilerplate.com/)
|
2
|
+
|
3
|
+
## Getting started
|
4
|
+
|
5
|
+
* [Usage](usage.md) — Overview of the project contents.
|
6
|
+
* [FAQ](faq.md) — Frequently asked questions along with their answers.
|
7
|
+
|
8
|
+
## HTML5 Boilerplate core
|
9
|
+
|
10
|
+
* [HTML](html.md) — Guide to the default HTML.
|
11
|
+
* [CSS](css.md) — Guide to the default CSS.
|
12
|
+
* [JavaScript](js.md) — Guide to the default JavaScript.
|
13
|
+
* [Everything else](misc.md).
|
14
|
+
|
15
|
+
## Development
|
16
|
+
|
17
|
+
* [Extending and customizing HTML5 Boilerplate](extend.md) — Going further
|
18
|
+
with the boilerplate.
|
19
|
+
|
20
|
+
## Related projects
|
21
|
+
|
22
|
+
The [H5BP organization](https://github.com/h5bp) maintains several projects
|
23
|
+
that complement HTML5 Boilerplate, projects that can help you improve different
|
24
|
+
aspects of your website/web app (e.g.: the performance, security, etc.).
|
25
|
+
|
26
|
+
* [Server Configs](https://github.com/h5bp/server-configs) — Fast and
|
27
|
+
smart configurations for web servers such as Apache and Nginx.
|
28
|
+
* [Apache](https://github.com/h5bp/server-configs-apache)
|
29
|
+
* [Google App Engine (GAE)](https://github.com/h5bp/server-configs-gae)
|
30
|
+
* [Internet Information Services (IIS)](https://github.com/h5bp/server-configs-iis)
|
31
|
+
* [lighttpd](https://github.com/h5bp/server-configs-lighttpd)
|
32
|
+
* [Nginx](https://github.com/h5bp/server-configs-nginx)
|
33
|
+
* [Node.js](https://github.com/h5bp/server-configs-node)
|
34
|
+
* [Front-end Developer Interview Questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions)
|
@@ -0,0 +1,54 @@
|
|
1
|
+
[HTML5 Boilerplate homepage](https://html5boilerplate.com/) | [Documentation
|
2
|
+
table of contents](TOC.md)
|
3
|
+
|
4
|
+
# The CSS
|
5
|
+
|
6
|
+
HTML5 Boilerplate's CSS includes:
|
7
|
+
|
8
|
+
* [Normalize.css](#normalizecss)
|
9
|
+
* [Useful defaults](#useful-defaults)
|
10
|
+
* [Common helpers](#common-helpers)
|
11
|
+
* [Placeholder media queries](#media-queries)
|
12
|
+
* [Print styles](#print-styles)
|
13
|
+
|
14
|
+
This starting CSS does not rely on the presence of
|
15
|
+
[conditional class names](https://www.paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/),
|
16
|
+
[conditional style sheets](https://css-tricks.com/how-to-create-an-ie-only-stylesheet/),
|
17
|
+
or [Modernizr](https://modernizr.com/), and it is ready to use no matter what
|
18
|
+
your development preferences happen to be.
|
19
|
+
|
20
|
+
|
21
|
+
## Normalize.css
|
22
|
+
|
23
|
+
In order to make browsers render all elements more consistently and in line
|
24
|
+
with modern standards, we include
|
25
|
+
[Normalize.css](https://necolas.github.io/normalize.css/) — a modern, HTML5-ready
|
26
|
+
alternative to CSS resets.
|
27
|
+
|
28
|
+
As opposed to CSS resets, Normalize.css:
|
29
|
+
|
30
|
+
* targets only the styles that need normalizing
|
31
|
+
* preserves useful browser defaults rather than erasing them
|
32
|
+
* corrects bugs and common browser inconsistencies
|
33
|
+
* improves usability with subtle improvements
|
34
|
+
* doesn't clutter the debugging tools
|
35
|
+
* has better documentation
|
36
|
+
|
37
|
+
For more information about Normalize.css, please refer to its [project
|
38
|
+
page](https://necolas.github.com/normalize.css/), as well as this
|
39
|
+
[blog post](http://nicolasgallagher.com/about-normalize-css/).
|
40
|
+
|
41
|
+
|
42
|
+
## main.css
|
43
|
+
|
44
|
+
Several base styles are included that build upon `Normalize.css`. These
|
45
|
+
styles:
|
46
|
+
|
47
|
+
* provide basic typography settings that improve text readability
|
48
|
+
* protect against unwanted `text-shadow` during text highlighting
|
49
|
+
* tweak the default alignment of some elements (e.g.: `img`, `video`,
|
50
|
+
`fieldset`, `textarea`)
|
51
|
+
* style the prompt that is displayed to users using an outdated browser
|
52
|
+
* and more...
|
53
|
+
|
54
|
+
These styles are included in [main.css](https://github.com/h5bp/html5-boilerplate/blob/master/dist/css/main.css). See the [main.css](https://github.com/h5bp/main.css) project [documentation](https://github.com/h5bp/main.css/blob/master/README.md#features) for a full discussion of these styles.
|