and to meet some of our community members.
1. If you do not have a [GitHub][github] account,
- you can [send us comments by email][contact].
+ you can [send us comments by email][email].
However,
we will be able to respond more quickly if you use one of the other methods described below.
General discussion of [Software Carpentry][swc-site] and [Data Carpentry][dc-site]
happens on the [discussion mailing list][discuss-list],
which everyone is welcome to join.
-You can also [reach us by email][contact].
+You can also [reach us by email][email].
-[contact]: mailto:admin@software-carpentry.org
+[email]: mailto:admin@software-carpentry.org
[dc-issues]: https://github.com/issues?q=user%3Adatacarpentry
[dc-lessons]: http://datacarpentry.org/lessons/
[dc-site]: http://datacarpentry.org/
# Contact. This *must* include the protocol: if it's an email
# address, it must look like "mailto:lessons@software-carpentry.org",
# or if it's a URL, "https://gitter.im/username/ProjectName".
-contact: "mailto:lessons@software-carpentry.org"
+email: "mailto:lessons@software-carpentry.org"
#------------------------------------------------------------
# Generic settings (should not need to change).
collections:
episodes:
output: true
- permalink: /:path/
+ permalink: /:path/index.html
extras:
output: true
+ permalink: /:path/index.html
# Set the default layout for things in the episodes collection.
defaults:
---
layout: lesson
root: .
+permalink: index.html # Is the only page that don't follow the partner /:path/index.html
---
FIXME: home page introduction
ROOT_REFERENCE_MD = '''\
---
layout: reference
-permalink: /reference/
+root: .
---
## Glossary
---
layout: page
title: Setup
-permalink: /setup/
+root: .
---
FIXME
'''
+ROOT_AIO_MD = '''\
+---
+layout: page
+root: .
+---
+<script>
+ window.onload = function() {
+ var lesson_episodes = [
+ {% for episode in site.episodes %}
+ "{{ episode.url}}"{% unless forloop.last %},{% endunless %}
+ {% endfor %}
+ ];
+ var xmlHttp = []; /* Required since we are going to query every episode. */
+ for (i=0; i < lesson_episodes.length; i++) {
+ xmlHttp[i] = new XMLHttpRequest();
+ xmlHttp[i].episode = lesson_episodes[i]; /* To enable use this later. */
+ xmlHttp[i].onreadystatechange = function() {
+ if (this.readyState == 4 && this.status == 200) {
+ var article_here = document.getElementById(this.episode);
+ var parser = new DOMParser();
+ var htmlDoc = parser.parseFromString(this.responseText,"text/html");
+ var htmlDocArticle = htmlDoc.getElementsByTagName("article")[0];
+ article_here.innerHTML = htmlDocArticle.innerHTML;
+ }
+ }
+ episode_url = "{{ page.root }}" + lesson_episodes[i];
+ xmlHttp[i].open("GET", episode_url);
+ xmlHttp[i].send(null);
+ }
+ }
+</script>
+{% comment %}
+Create anchor for each one of the episodes.
+{% endcomment %}
+{% for episode in site.episodes %}
+<article id="{{ episode.url }}"></article>
+{% endfor %}
+'''
+
EPISODES_INTRODUCTION_MD = '''\
---
title: "Introduction"
---
layout: page
title: About
-permalink: /about/
---
{% include carpentries.html %}
'''
---
layout: page
title: Discussion
-permalink: /discuss/
---
FIXME
'''
---
layout: page
title: Figures
-permalink: /figures/
---
-{% include all_figures.html %}
+<script>
+ window.onload = function() {
+ var lesson_episodes = [
+ {% for episode in site.episodes %}
+ "{{ episode.url}}"{% unless forloop.last %},{% endunless %}
+ {% endfor %}
+ ];
+ var xmlHttp = []; /* Required since we are going to query every episode. */
+ for (i=0; i < lesson_episodes.length; i++) {
+ xmlHttp[i] = new XMLHttpRequest();
+ xmlHttp[i].episode = lesson_episodes[i]; /* To enable use this later. */
+ xmlHttp[i].onreadystatechange = function() {
+ if (this.readyState == 4 && this.status == 200) {
+ var article_here = document.getElementById(this.episode);
+ var parser = new DOMParser();
+ var htmlDoc = parser.parseFromString(this.responseText,"text/html");
+ var htmlDocArticle = htmlDoc.getElementsByTagName("article")[0];
+ article_here.appendChild(htmlDocArticle.getElementsByTagName("h1")[0]);
+ for (let image of htmlDocArticle.getElementsByTagName("img")) {
+ article_here.appendChild(image);
+ }
+ }
+ }
+ episode_url = "{{ page.root }}" + lesson_episodes[i];
+ xmlHttp[i].open("GET", episode_url);
+ xmlHttp[i].send(null);
+ }
+ }
+</script>
+{% comment %}
+Create anchor for each one of the episodes.
+{% endcomment %}
+{% for episode in site.episodes %}
+<article id="{{ episode.url }}"></article>
+{% endfor %}
'''
EXTRAS_GUIDE_MD = '''\
---
layout: page
title: "Instructor Notes"
-permalink: /guide/
---
FIXME
'''
-INCLUDES_ALL_FIGURES_HTML = '''\
-<!-- empty -->
-'''
-
BOILERPLATE = (
('AUTHORS', ROOT_AUTHORS),
('CITATION', ROOT_CITATION),
('index.md', ROOT_INDEX_MD),
('reference.md', ROOT_REFERENCE_MD),
('setup.md', ROOT_SETUP_MD),
+ ('aio.md', ROOT_AIO_MD),
('_episodes/01-introduction.md', EPISODES_INTRODUCTION_MD),
('_extras/about.md', EXTRAS_ABOUT_MD),
('_extras/discuss.md', EXTRAS_DISCUSS_MD),
('_extras/figures.md', EXTRAS_FIGURES_MD),
('_extras/guide.md', EXTRAS_GUIDE_MD),
- ('_includes/all_figures.html', INCLUDES_ALL_FIGURES_HTML)
)