rsg-theme 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/_boilerplate/404.md +25 -0
- data/_boilerplate/CODE_OF_CONDUCT.md +12 -0
- data/_boilerplate/LICENSE.md +83 -0
- data/_boilerplate/USAGE.md +86 -0
- data/_boilerplate/aio.md +13 -0
- data/_boilerplate/index.md +169 -0
- data/_includes/aio-script.md +25 -0
- data/_includes/all_keypoints.html +31 -0
- data/_includes/base_path.html +41 -0
- data/_includes/carpentries.html +70 -0
- data/_includes/custom-schedule.html +72 -0
- data/_includes/episode_break.html +15 -0
- data/_includes/episode_keypoints.html +18 -0
- data/_includes/episode_navbar.html +44 -0
- data/_includes/episode_overview.html +76 -0
- data/_includes/episode_title.html +9 -0
- data/_includes/favicons.html +27 -0
- data/_includes/gh_variables.html +45 -0
- data/_includes/github-ribbon.html +1 -0
- data/_includes/javascript.html +55 -0
- data/_includes/lesson_footer.html +52 -0
- data/_includes/life_cycle.html +34 -0
- data/_includes/links.md +46 -0
- data/_includes/main_title.html +14 -0
- data/_includes/manual_episode_order.html +116 -0
- data/_includes/navbar.html +113 -0
- data/_includes/rsg/intro.html +15 -0
- data/_includes/rsg/setup.html +6 -0
- data/_includes/rsg/who.html +40 -0
- data/_includes/syllabus.html +126 -0
- data/_includes/warning-curriculum.html +8 -0
- data/_includes/warning-flavor.html +7 -0
- data/_includes/workshop_ad.html +47 -0
- data/_includes/workshop_calendar.html +8 -0
- data/_includes/workshop_footer.html +27 -0
- data/_layouts/base.html +54 -0
- data/_layouts/break.html +10 -0
- data/_layouts/episode.html +11 -0
- data/_layouts/lesson.html +8 -0
- data/_layouts/page.html +7 -0
- data/_layouts/reference.html +6 -0
- data/_layouts/schedule.html +9 -0
- data/_layouts/workshop.html +56 -0
- data/assets/css/bootstrap-theme.css +587 -0
- data/assets/css/bootstrap-theme.css.map +1 -0
- data/assets/css/bootstrap.css +6834 -0
- data/assets/css/bootstrap.css.map +1 -0
- data/assets/css/fonts.css +13 -0
- data/assets/css/katex.min.css +1 -0
- data/assets/css/lesson.scss +417 -0
- data/assets/css/syntax.css +69 -0
- data/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/assets/fonts/glyphicons-halflings-regular.svg +288 -0
- data/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/assets/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/assets/fonts/ubuntu-v11-latin-regular.eot +0 -0
- data/assets/fonts/ubuntu-v11-latin-regular.svg +363 -0
- data/assets/fonts/ubuntu-v11-latin-regular.ttf +0 -0
- data/assets/fonts/ubuntu-v11-latin-regular.woff +0 -0
- data/assets/fonts/ubuntu-v11-latin-regular.woff2 +0 -0
- data/assets/js/anchor.min.js +9 -0
- data/assets/js/bootstrap.min.js +6 -0
- data/assets/js/jquery.min.js +2 -0
- data/assets/js/jquery.min.map +1 -0
- data/assets/js/katex-auto-render.min.js +1 -0
- data/assets/js/katex.min.js +1 -0
- data/assets/js/lesson.js +56 -0
- data/bin/boilerplate/_extras/figures.md +79 -0
- metadata +154 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{% comment %}
|
|
2
|
+
Astronomy workshops
|
|
3
|
+
{% endcomment %}
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
{% if site.curriculum == "dc-astronomy" %}
|
|
7
|
+
|
|
8
|
+
<p id="who">
|
|
9
|
+
<strong>Who:</strong>
|
|
10
|
+
This lesson assumes you have a working knowledge of Python and some previous exposure to the Bash shell.
|
|
11
|
+
These requirements can be fulfilled by:
|
|
12
|
+
a) completing a Software Carpentry Python workshop or
|
|
13
|
+
b) completing a Data Carpentry Ecology workshop (with Python) and a Data Carpentry Genomics workshop or
|
|
14
|
+
c) independent exposure to both Python and the Bash shell.
|
|
15
|
+
|
|
16
|
+
If you’re unsure whether you have enough experience to participate in this workshop, please read over
|
|
17
|
+
<a href="https://datacarpentry.org/astronomy-python/prereqs/">this detailed list</a>,
|
|
18
|
+
which gives all of the functions, operators, and other concepts you will need to be familiar with.
|
|
19
|
+
|
|
20
|
+
In addition, this lesson assumes that learners have some familiarity with astronomical concepts,
|
|
21
|
+
including reference frames, proper motion, color-magnitude diagrams, globular clusters, and isochrones.
|
|
22
|
+
Participants should bring their own laptops and plan to participate actively.
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
{% comment %}
|
|
26
|
+
All other workshops
|
|
27
|
+
{% endcomment %}
|
|
28
|
+
|
|
29
|
+
{% else %}
|
|
30
|
+
|
|
31
|
+
<p id="who">
|
|
32
|
+
<strong>Who:</strong>
|
|
33
|
+
The course is aimed at graduate students and other researchers.
|
|
34
|
+
<strong>
|
|
35
|
+
You don't need to have any previous knowledge of the tools
|
|
36
|
+
that will be presented at the workshop.
|
|
37
|
+
</strong>
|
|
38
|
+
</p>
|
|
39
|
+
|
|
40
|
+
{% endif %}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{% include base_path.html %}
|
|
2
|
+
|
|
3
|
+
{% comment %}
|
|
4
|
+
Display syllabus in tabular form.
|
|
5
|
+
Days are displayed if at least one episode has 'start = true'.
|
|
6
|
+
{% endcomment %}
|
|
7
|
+
|
|
8
|
+
{% include manual_episode_order.html %}
|
|
9
|
+
|
|
10
|
+
<div class="syllabus">
|
|
11
|
+
|
|
12
|
+
{% assign lesson_number = 1 %}
|
|
13
|
+
{% assign day = 0 %}
|
|
14
|
+
{% assign multiday = false %}
|
|
15
|
+
{% for lesson_episode in lesson_episodes %}
|
|
16
|
+
{% if site.episode_order %}
|
|
17
|
+
{% assign episode = site.episodes | where: "slug", lesson_episode | first %}
|
|
18
|
+
{% else %}
|
|
19
|
+
{% assign episode = lesson_episode %}
|
|
20
|
+
{% endif %}
|
|
21
|
+
{% if episode.start %}
|
|
22
|
+
{% assign multiday = true %}
|
|
23
|
+
{% break %}
|
|
24
|
+
{% endif %}
|
|
25
|
+
{% endfor %}
|
|
26
|
+
|
|
27
|
+
{% comment %}
|
|
28
|
+
If the lesson is a workshop then we want to use the start time and check for multi day if it is a course then we
|
|
29
|
+
drop that information and just provide a running time.
|
|
30
|
+
{% endcomment %}
|
|
31
|
+
{% if site.kind == "workshop" %}
|
|
32
|
+
{% assign current = include.start_time %}
|
|
33
|
+
{% else if site.kind == "course" %}
|
|
34
|
+
{% assign current = 0 %}
|
|
35
|
+
{% assign multiday = false %}
|
|
36
|
+
{% endif %}
|
|
37
|
+
|
|
38
|
+
<table class="table table-striped">
|
|
39
|
+
|
|
40
|
+
{% for lesson_episode in lesson_episodes %}
|
|
41
|
+
{% if site.episode_order %}
|
|
42
|
+
{% assign episode = site.episodes | where: "slug", lesson_episode | first %}
|
|
43
|
+
{% else %}
|
|
44
|
+
{% assign episode = lesson_episode %}
|
|
45
|
+
{% endif %}
|
|
46
|
+
|
|
47
|
+
{% comment %}
|
|
48
|
+
This is to ignore episodes that are not for the current lesson
|
|
49
|
+
given by the variable passed in by include.name
|
|
50
|
+
{% endcomment %}
|
|
51
|
+
|
|
52
|
+
{% unless episode.slug contains include.name %}
|
|
53
|
+
{% continue %}
|
|
54
|
+
{% endunless %}
|
|
55
|
+
|
|
56
|
+
{% comment %}
|
|
57
|
+
this avoids the schedule appearing, by not including any episodes
|
|
58
|
+
that have the "schedule" layout
|
|
59
|
+
{% endcomment %}
|
|
60
|
+
|
|
61
|
+
{% if episode.layout == "schedule" %}
|
|
62
|
+
{% continue %}
|
|
63
|
+
{% endif %}
|
|
64
|
+
|
|
65
|
+
{% if episode.start %} {% comment %} Starting a new day? {% endcomment %}
|
|
66
|
+
{% assign day = day | plus: 1 %}
|
|
67
|
+
{% if day > 1 %} {% comment %} If about to start day 2 or later, show finishing time for previous day {% endcomment %}
|
|
68
|
+
{% assign hours = current | divided_by: 60 %}
|
|
69
|
+
{% assign minutes = current | modulo: 60 %}
|
|
70
|
+
<tr>
|
|
71
|
+
{% if multiday %}<td class="col-md-1"></td>{% endif %}
|
|
72
|
+
<!--<td class="{% if multiday %}col-md-1{% else %}col-md-2{% endif %}">
|
|
73
|
+
{% if hours < 10 %}0{% endif %}{{ hours }}:{% if minutes < 10 %}0{% endif %}{{ minutes }}</td>-->
|
|
74
|
+
<td class="col-md-3">Finish</td>
|
|
75
|
+
<td class="col-md-7"></td>
|
|
76
|
+
</tr>
|
|
77
|
+
{% endif %}
|
|
78
|
+
{% assign current = include.start_time %} {% comment %}Re-set start time of this episode to general daily start time {% endcomment %}
|
|
79
|
+
{% endif %}
|
|
80
|
+
|
|
81
|
+
{% assign hours = current | divided_by: 60 %}
|
|
82
|
+
{% assign minutes = current | modulo: 60 %}
|
|
83
|
+
|
|
84
|
+
<tr>
|
|
85
|
+
{% if multiday %}<td class="col-md-1">{% if episode.start %}Day {{ day }}{% endif %}</td>{% endif %}
|
|
86
|
+
<!--<td class="{% if multiday %}col-md-1{% else %}col-md-2{% endif %}">
|
|
87
|
+
{% if hours < 10 %}0{% endif %}{{ hours }}:{% if minutes < 10 %}0{% endif %}{{ minutes }}</td>-->
|
|
88
|
+
<td class="col-md-3">
|
|
89
|
+
{{ lesson_number }}. <a href="{{ relative_root_path }}{{ episode.url }}">{{ episode.title }}</a>
|
|
90
|
+
{% assign lesson_number = lesson_number | plus: 1 %}
|
|
91
|
+
</td>
|
|
92
|
+
<td class="col-md-7">
|
|
93
|
+
{% if episode.break %}
|
|
94
|
+
Break
|
|
95
|
+
{% else %}
|
|
96
|
+
{% if episode.questions %}
|
|
97
|
+
{% for question in episode.questions %}
|
|
98
|
+
{{question|markdownify|strip_html}}
|
|
99
|
+
{% unless forloop.last %}
|
|
100
|
+
<br />
|
|
101
|
+
{% endunless %}
|
|
102
|
+
{% endfor %}
|
|
103
|
+
{% endif %}
|
|
104
|
+
{% endif %}
|
|
105
|
+
</td>
|
|
106
|
+
</tr>
|
|
107
|
+
{% assign current = current | plus: episode.teaching | plus: episode.exercises | plus: episode.break %}
|
|
108
|
+
{% endfor %}
|
|
109
|
+
|
|
110
|
+
{% assign hours = current | divided_by: 60 %}
|
|
111
|
+
{% assign minutes = current | modulo: 60 %}
|
|
112
|
+
<tr>
|
|
113
|
+
{% if multiday %}<td class="col-md-1"></td>{% endif %}
|
|
114
|
+
<!--<td class="{% if multiday %}col-md-1{% else %}col-md-2{% endif %}">
|
|
115
|
+
{% if hours < 10 %}0{% endif %}{{ hours }}:{% if minutes < 10 %}0{% endif %}{{ minutes }}</td>-->
|
|
116
|
+
<td class="col-md-3">Finish</td>
|
|
117
|
+
<td class="col-md-7"></td>
|
|
118
|
+
</tr>
|
|
119
|
+
|
|
120
|
+
</table>
|
|
121
|
+
|
|
122
|
+
<p>
|
|
123
|
+
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
|
|
124
|
+
</p>
|
|
125
|
+
|
|
126
|
+
</div>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
<div class="alert alert-warning">
|
|
3
|
+
Unrecognized value for variable <code>curriculum</code> set in
|
|
4
|
+
<code>_config.yml</code>. Currently the variable is set to:
|
|
5
|
+
<code>{{ site.curriculum }}</code>. Check the values of
|
|
6
|
+
<code>carpentry</code> and <code>curriculum</code> in the
|
|
7
|
+
<code>_config.yml</code> file.
|
|
8
|
+
</div>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{% comment %}
|
|
2
|
+
Advertising box at the top of a workshop website home site.
|
|
3
|
+
{% endcomment %}
|
|
4
|
+
|
|
5
|
+
<div class="jumbotron">
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="col-md-10 col-md-offset-1">
|
|
8
|
+
{% unless site.title == "Workshop Title" or site.title == "" %}
|
|
9
|
+
<h1>{{site.title}}</h1>
|
|
10
|
+
{% endunless %}
|
|
11
|
+
{% if site.kind == "course" %}
|
|
12
|
+
<h2>Self-learning course</h2>
|
|
13
|
+
{% elsif site.venue == "online" %}
|
|
14
|
+
<h2>Online</h2>
|
|
15
|
+
{% else %}
|
|
16
|
+
<h2>{{site.venue}}</h2>
|
|
17
|
+
{% endif %}
|
|
18
|
+
<div class="row">
|
|
19
|
+
<div class="col-md-6">
|
|
20
|
+
{% if site.venue == "online" %}
|
|
21
|
+
<p><a href="{{site.address}}">{{site.platform-name}}</a></p>
|
|
22
|
+
{% else %}
|
|
23
|
+
<p>{{site.address}}</p>
|
|
24
|
+
{% endif %}
|
|
25
|
+
<p>{{site.humandate}}</p>
|
|
26
|
+
<p>{% if site.humantime %}{{site.humantime}}{% endif %}</p>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="col-md-6">
|
|
29
|
+
<p>
|
|
30
|
+
<strong>Instructors:</strong>
|
|
31
|
+
{% if site.instructor %}
|
|
32
|
+
{{site.instructor | join: ', ' %}}
|
|
33
|
+
{% else %}
|
|
34
|
+
to be announced.
|
|
35
|
+
{% endif %}
|
|
36
|
+
</p>
|
|
37
|
+
{% if site.helper %}
|
|
38
|
+
<p>
|
|
39
|
+
<strong>Helpers:</strong>
|
|
40
|
+
{{site.helper | join: ', ' %}}
|
|
41
|
+
</p>
|
|
42
|
+
{% endif %}
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{% comment %}
|
|
2
|
+
For 2-day all-day events, the end date needs to be a day later.
|
|
3
|
+
from here: https://stackoverflow.com/a/37659516/1113276
|
|
4
|
+
{% endcomment %}
|
|
5
|
+
|
|
6
|
+
{% assign final_day = page.enddate | date: '%s' | plus:86400 | date: '%F' | replace: "-", "" %}
|
|
7
|
+
|
|
8
|
+
<a href="//calendar.google.com/calendar/render?action=TEMPLATE&text={% if site.carpentry == "swc" %}Software{% elsif site.carpentry == "lc" %}Library{% elsif site.carpentry == "dc" %}Data{% endif %} Carpentry Workshop&dates={{ page.startdate | replace: "-", "" }}/{{ final_day }}&trp=false&sprop&sprop=name:&sf=true&output=xml&location={{ page.address }}&details={% if site.carpentry == "swc" %}Software{% elsif site.carpentry == "lc" %}Library{% elsif site.carpentry == "dc" %}Data{% endif %} Carpentry Workshop at {{ page.venue }}">Add to your Google Calendar.</a>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{% comment %}
|
|
2
|
+
Footer for a standard workshop.
|
|
3
|
+
{% endcomment %}
|
|
4
|
+
<footer>
|
|
5
|
+
<hr/>
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="col-md-6" align="left">
|
|
8
|
+
<h4>
|
|
9
|
+
Copyright © 2016–{{ 'now' | date: "%Y" }}
|
|
10
|
+
{% if site.carpentry == "swc" %}
|
|
11
|
+
<a href="{{ site.swc_site }}">Software Carpentry</a>
|
|
12
|
+
{% elsif site.carpentry == "dc" %}
|
|
13
|
+
<a href="{{ site.dc_site }}">Data Carpentry</a>
|
|
14
|
+
{% elsif site.carpentry == "lc" %}
|
|
15
|
+
<a href="{{ site.lc_site }}">Library Carpentry</a>
|
|
16
|
+
{% elsif site.carpentry == "cp" %}
|
|
17
|
+
<a href="{{ site.carpentries_site }}">The Carpentries</a>
|
|
18
|
+
{% endif %}
|
|
19
|
+
</h4>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col-md-6" align="right">
|
|
22
|
+
<h4>
|
|
23
|
+
<a href="mailto:{{ site.email }}">Contact Us</a>
|
|
24
|
+
</h4>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
</footer>
|
data/_layouts/base.html
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
{% include base_path.html %}
|
|
4
|
+
{% include gh_variables.html %}
|
|
5
|
+
|
|
6
|
+
<!doctype html>
|
|
7
|
+
<html lang="en">
|
|
8
|
+
<head>
|
|
9
|
+
<meta charset="utf-8">
|
|
10
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
11
|
+
<meta http-equiv="last-modified" content="{{ site.time }}">
|
|
12
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
13
|
+
<!-- meta "search-domain" used for google site search function google_search() -->
|
|
14
|
+
<meta name="search-domain" value="{{ search_domain_url }}">
|
|
15
|
+
<link rel="stylesheet" type="text/css" href="{{ relative_root_path }}/assets/css/bootstrap.css" />
|
|
16
|
+
<link rel="stylesheet" type="text/css" href="{{ relative_root_path }}/assets/css/bootstrap-theme.css" />
|
|
17
|
+
<link rel="stylesheet" type="text/css" href="{{ relative_root_path }}/assets/css/lesson.css" />
|
|
18
|
+
<link rel="stylesheet" type="text/css" href="{{ relative_root_path }}/assets/css/syntax.css" />
|
|
19
|
+
<link rel="stylesheet" type="text/css" href="{{ relative_root_path }}/assets/css/fonts.css" />
|
|
20
|
+
{% if page.math %}
|
|
21
|
+
<link rel="stylesheet" type="text/css" href="{{ relative_root_path }}/assets/css/katex.min.css" />
|
|
22
|
+
{% endif %}
|
|
23
|
+
<link rel="license" href="#license-info" />
|
|
24
|
+
|
|
25
|
+
{% include favicons.html %}
|
|
26
|
+
|
|
27
|
+
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
|
28
|
+
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
|
29
|
+
<!--[if lt IE 9]>
|
|
30
|
+
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
|
31
|
+
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
|
32
|
+
<![endif]-->
|
|
33
|
+
<title>
|
|
34
|
+
{% if page.title %}{{ page.title }}{% endif %}{% if page.title and site.title %} – {% endif %}{% if site.title %}{{ site.title }}{% endif %}
|
|
35
|
+
</title>
|
|
36
|
+
|
|
37
|
+
</head>
|
|
38
|
+
<body>
|
|
39
|
+
{% include life_cycle.html %}
|
|
40
|
+
|
|
41
|
+
<div class="container">
|
|
42
|
+
{% include navbar.html %}
|
|
43
|
+
|
|
44
|
+
{{ content }}
|
|
45
|
+
|
|
46
|
+
{% if site.kind == "workshop" %}
|
|
47
|
+
{% include workshop_footer.html %}
|
|
48
|
+
{% else %}
|
|
49
|
+
{% include lesson_footer.html %}
|
|
50
|
+
{% endif %}
|
|
51
|
+
</div>
|
|
52
|
+
{% include javascript.html %}
|
|
53
|
+
</body>
|
|
54
|
+
</html>
|
data/_layouts/break.html
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: base
|
|
3
|
+
---
|
|
4
|
+
{% include episode_navbar.html episode_navbar_title=true %}
|
|
5
|
+
<article>
|
|
6
|
+
{% include episode_title.html %}
|
|
7
|
+
{% include episode_overview.html %}
|
|
8
|
+
{{content}}
|
|
9
|
+
{% include episode_keypoints.html %}
|
|
10
|
+
</article>
|
|
11
|
+
{% include episode_navbar.html episode_navbar_title=false %}
|
data/_layouts/page.html
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
{% include base_path.html %}
|
|
4
|
+
{% include gh_variables.html %}
|
|
5
|
+
|
|
6
|
+
<!doctype html>
|
|
7
|
+
<html lang="en">
|
|
8
|
+
<head>
|
|
9
|
+
|
|
10
|
+
<meta name="slug" content="{{project_title}}" />
|
|
11
|
+
<meta name="startdate" content="{{page.startdate}}" />
|
|
12
|
+
<meta name="enddate" content="{{page.enddate}}" />
|
|
13
|
+
<meta name="humandate" content="{{page.humandate}}" />
|
|
14
|
+
<meta name="country" content="{{page.country}}" />
|
|
15
|
+
<meta name="venue" content="{{page.venue}}" />
|
|
16
|
+
<meta name="address" content="{{page.address}}" />
|
|
17
|
+
<meta name="latlng" content="{{page.latlng}}" />
|
|
18
|
+
<meta name="language" content="{{page.language}}" />
|
|
19
|
+
<meta name="eventbrite" content="{{page.eventbrite}}" />
|
|
20
|
+
<meta name="instructor" content="{{page.instructor|join:'|'}}" />
|
|
21
|
+
<meta name="helper" content="{{page.helper|join:'|'}}" />
|
|
22
|
+
<meta name="contact" content="{{page.email}}" />
|
|
23
|
+
<meta name="carpentry" content="{{site.carpentry}}"
|
|
24
|
+
{% if page.redirect %}
|
|
25
|
+
<meta http-equiv="refresh" content="0; url={{page.redirect}}" />
|
|
26
|
+
{% endif %}
|
|
27
|
+
|
|
28
|
+
<meta charset="utf-8">
|
|
29
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
30
|
+
<meta http-equiv="last-modified" content="{{ site.time }}">
|
|
31
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
32
|
+
<link rel="stylesheet" type="text/css" href="{{ relative_root_path }}/assets/css/bootstrap.css" />
|
|
33
|
+
|
|
34
|
+
<link rel="stylesheet" type="text/css" href="{{ relative_root_path }}/assets/css/bootstrap-theme.css" />
|
|
35
|
+
<link rel="stylesheet" type="text/css" href="{{ relative_root_path }}/assets/css/lesson.css" />
|
|
36
|
+
|
|
37
|
+
{% include favicons.html %}
|
|
38
|
+
|
|
39
|
+
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
|
40
|
+
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
|
41
|
+
<!--[if lt IE 9]>
|
|
42
|
+
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
|
43
|
+
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
|
44
|
+
<![endif]-->
|
|
45
|
+
<title>{{ page.venue }}: {{ page.humandate }}</title>
|
|
46
|
+
</head>
|
|
47
|
+
<body>
|
|
48
|
+
<div class="container">
|
|
49
|
+
{% include navbar.html %}
|
|
50
|
+
{% include workshop_ad.html %}
|
|
51
|
+
{{ content }}
|
|
52
|
+
{% include workshop_footer.html %}
|
|
53
|
+
</div>
|
|
54
|
+
{% include javascript.html %}
|
|
55
|
+
</body>
|
|
56
|
+
</html>
|