├── .gitignore
├── CNAME
├── LICENSE
├── README.md
├── _config.yml
├── _css
└── main.scss
├── _data
├── lectures.yml
└── menu.yml
├── _images
├── fabulous-sylvester.jpg
├── snapshot.png
├── stand-and-deliver-crop.jpg
├── stand-and-deliver-fb.jpg
└── stand-and-deliver.jpg
├── _includes
├── embedpdf.html
├── footer.html
├── head.html
├── header.html
├── image.html
└── nav.html
├── _layouts
├── class.html
├── default.html
├── page.html
└── post.html
├── _posts
└── 2015-08-16-welcome-to-jekyll.md
├── _sass
├── _base.scss
├── _fancy-image.scss
├── _header.scss
├── _layout.scss
├── _mobile-header.scss
└── _syntax-highlighting.scss
├── blog.md
├── course-materials.md
├── feed.xml
├── index.html
├── lectures.md
├── sitemap.xml
├── syllabus
└── svm-rmarkdown-syllabus-example.pdf
└── untitled-lecture
├── Untitled.Rmd
└── Untitled.pdf
/.gitignore:
--------------------------------------------------------------------------------
1 | _site
2 | .sass-cache
3 |
--------------------------------------------------------------------------------
/CNAME:
--------------------------------------------------------------------------------
1 | course-website.svmiller.com
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Steven V. Miller
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Steve's No-Good-Very-Bad Course Website Jekyll Template
2 | =======================================================
3 |
4 | This repository contains a Jekyll template, patterned entirely off my no-good-very-bad Jekyll Template at [svmiller.com](http://svmiller.com), for organizing a course website. I should note that because I ganked it from my website template, there's a lot of empty tags in the template that make reference to things that don't appear in the main `.yml` file. In other words, they reference things that should be there but, because they're not there, ultimately won't interfere with how the site renders.
5 |
6 |
7 | ## Installation
8 |
9 | This assumes that you have a working installation of Jekyll. If you don't, first visit [Jekyll's documentation](https://jekyllrb.com/docs/installation/) to learn how to.
10 |
11 | 1. [Fork this repo](https://github.com/svmiller/course-website) and clone it locally.
12 |
13 | ```bash
14 | cd ~/Sites/
15 |
16 | git clone https://github.com/YOUR_USER_NAME/course-website.git
17 |
18 | ```
19 |
20 | 2. Create a new empty theme with Jekyll
21 |
22 | ```bash
23 | cd ~/Sites/
24 |
25 | jekyll new-theme ipa
26 |
27 | create ~/Sites/ipa/assets
28 | create ~/Sites/ipa/_layouts
29 | create ~/Sites/ipa/_includes
30 | create ~/Sites/ipa/_sass
31 | create ~/Sites/ipa/_layouts/page.html
32 | create ~/Sites/ipa/_layouts/post.html
33 | create ~/Sites/ipa/_layouts/default.html
34 | create ~/Sites/ipa/Gemfile
35 | create ~/Sites/ipa/ipa.gemspec
36 | create ~/Sites/ipa/README.md
37 | create ~/Sites/ipa/LICENSE.txt
38 | initialize ~/Sites/ipa/.git
39 | create ~/Sites/ipa/.gitignore
40 | Your new Jekyll theme, ipa, is ready for you in ~/Sites/ipa!
41 | For help getting started, read ~/Sites/ipa/README.md.
42 |
43 |
44 | ```
45 |
46 | 3. Open the ``ipa.gemspec`` file and edit it as follows:
47 |
48 | ```bash
49 | spec.summary = "WRITE A SHORT SUMMARY OF YOUR THEME"
50 | spec.homepage = "http://address.com"
51 |
52 | ### Update the following two version numbers as per what's on your system.
53 | spec.add_development_dependency "bundler", "~> 2.0.1"
54 | spec.add_development_dependency "rake", "~> 12.3.2"
55 |
56 | ```
57 |
58 | 4. Run ``bundle install`` inside ``~/Sites/ipa/``. This should run successfully and install all the necessary gems. It will also create a ``Gemfile`` and a ``Gemfile.lock`` inside your project.
59 |
60 | 5. Now we are ready to migrate necessary theme files from ``~/Sites/course-website/`` to ``~/Sites/ipa/``. Copy the following files and folders. If a folder already exists (e.g. ``_includes``), just copy files inside. If a file already exists, overwrite it.
61 |
62 | ```bash
63 | _config.yml
64 | _css/
65 | _data/
66 | _images/
67 | _includes/
68 | _layouts/
69 | _posts/
70 | _sass/
71 | _site/
72 | assets/
73 | blog.md
74 | CNAME
75 | course-materials.md
76 | feed.xml
77 | index.html
78 | lectures.md
79 | LICENSE.txt
80 | README.md
81 | sitemap.xml
82 | syllabus/
83 | untitled-lecture/
84 |
85 | ```
86 |
87 | 6. Edit ``_config.yml`` to customize site details. Then fire up ``jekyll serve``. You may need to do ``bundle exec jekyll serve`` instead, if you have a separate Ruby installation for Jekyll's purposes. The site template should be only at ``http://localhost:4000`` now.
88 |
89 | 7. Follow the remaining directions below to fully customize your site.
90 |
91 | Here are the things you should tweak to make it your own:
92 |
93 | - `_config.yml`. Naturally. This should be familiar if you're accustomed to Jekyll. Do note, for convenience, that I made the `syllabus` field a full URL entry. You should also fill out the `githubdir` field since the goal is to make your course (and, by extension, the knowledge you propose to communicate) open source and reproducible on Github. Let us know where it is.
94 | - `course-materials.md`: Fudge this to add in helpful information about your course (e.g. the book and whatever else you want to communicate).
95 | - `index.html`: You won't need to edit much but, if you want your own lead image for your course website that's *not* from *Stand and Deliver* (I don't know why you would do this, but, hey, it's your class...), edit that Jekyll liquid tag I created that embeds images in my spiffy way. This should be intuitive. Just specify a relative path for the image you want to use, how wide you want it to be, and whatever caption you want to add to it.
96 | - `_data/lectures.yml`: This uses YAML data to render Github and local links to lectures. This should be straightforward (see my example file) but [feel free to look at this tutorial](https://jekyllrb.com/docs/datafiles/) if you want to better understand what's happening here. You could also edit `lectures.md` if, for example, you render your lectures to HTML in lieu of PDF. I do PDF. Changing this isn't hard, though, and should be straightforward. Basically, change ".pdf" to ".html" as you see it and then, probably, find a nice icon for HTML on [Font Awesome](https://fontawesome.com/).
97 | - `_includes/nav.html`: You won't have to tweak this, per se, but you may want to if, for example, you want to add a course blog. I don't do that, but I do prove a `blog.md` file. Head to [Font Awesome](https://fontawesome.com/) if you're looking for the perfect icon to go with it.
98 | - `CNAME`: Adding a special domain or subdomain to your course website? Change it here. Is its own Github page on a special account you created on Github (but you're *not* using a special domain on top of that [[example](https://github.com/uw-csss-564)])? Delete it.
99 |
100 | You can see a snapshot of what it looks like below. You can also try it out here: [http://course-website.svmiller.com/](http://course-website.svmiller.com/)
101 |
102 | 
103 |
104 | Feel free to contact me at svmille@clemson.edu. Send along some cheers too if you find it useful.
105 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | # Site settings
2 | title: Course Website
3 | subtitle: Title of the Course
4 | description: |
5 | Add a description of your course. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
6 | Etiam fermentum massa id justo varius, vitae blandit nibh aliquet.
7 | Nam consequat accumsan massa id lacinia. Proin ac placerat neque. Vivamus ornare eget tortor ac tincidunt.
8 | Mauris semper viverra dui in molestie. Proin bibendum metus orci, quis sollicitudin ligula pretium non.
9 | Integer nec lacus eget neque laoreet semper. Pellentesque eu dolor rutrum, consectetur enim nec, fermentum odio.
10 | Duis venenatis metus cursus, ultrices nulla in, dapibus urna. Fusce pellentesque eros sed justo viverra ultricies.
11 | Morbi porttitor dui ut erat congue accumsan. Donec eget turpis quam. Nam quis lobortis nisl.
12 | Pellentesque varius tincidunt purus, dictum sodales leo suscipit quis.
13 | Proin ullamcorper tristique nisi, quis hendrerit turpis. Donec non congue velit.
14 | Praesent accumsan odio egestas, mollis lorem eget, euismod arcu.
15 | baseurl: "" # the subpath of your site, e.g. /blog/
16 | url: "http://course-website.svmiller.com" # the base hostname & protocol for your site
17 | syllabus: "https://github.com/svmiller/svm-r-markdown-templates/blob/master/syllabus-example/svm-rmarkdown-syllabus-example.pdf"
18 | githubdir: "svmiller/course-website"
19 |
20 | # Author/user information
21 | email: svmille@clemson.edu
22 | twitter_username: stevenvmiller
23 | github_username: svmiller
24 | authorurl: "http://svmiller.com"
25 | address: |
26 | Department of Political Science
27 | 232 Brackett Hall
28 | Clemson, SC 29634-1354
29 |
30 |
31 | # Build settings
32 | markdown: kramdown
33 |
34 | # Other options
35 | permalink: blog/:year/:month/:title
36 | excerpt_separator: ""
37 |
38 | include: ['_images', '_css']
39 |
40 | # SEO stuff
41 | # google_author: ""
42 | # google_site_verification: ""
43 | # bing_webmastertools_id: ""
44 |
--------------------------------------------------------------------------------
/_css/main.scss:
--------------------------------------------------------------------------------
1 | ---
2 | # Only the main Sass file needs front matter (the dashes are enough)
3 | ---
4 | @charset "utf-8";
5 |
6 |
7 |
8 | // Our variables
9 | $base-font-family: 'Open Sans', Helvetica, Arial, sans-serif;
10 | $base-font-size: .95em;
11 | $small-font-size: $base-font-size * 0.875;
12 | $base-line-height: 1.5;
13 |
14 | $spacing-unit: 30px;
15 |
16 | $text-color: #111;
17 | $background-color: #fdfdfd;
18 | $brand-color: #0077CC;
19 | // $gameday-sky: #109dc0;
20 | $clemson-purple: #522d80;
21 | $clemson-orange: #f66733;
22 |
23 |
24 | $grey-color: #828282;
25 | $grey-color-light: lighten($grey-color, 40%);
26 | $grey-color-dark: darken($grey-color, 25%);
27 |
28 |
29 | // Width of the content area
30 | $content-width: 950px;
31 |
32 | $on-palm: 600px;
33 | $on-laptop: 950px;
34 |
35 |
36 |
37 | // Using media queries with like this:
38 | // @include media-query($on-palm) {
39 | // .wrapper {
40 | // padding-right: $spacing-unit / 2;
41 | // padding-left: $spacing-unit / 2;
42 | // }
43 | // }
44 | @mixin media-query($device) {
45 | @media screen and (max-width: $device) {
46 | @content;
47 | }
48 | }
49 |
50 |
51 |
52 | // Import partials from `sass_dir` (defaults to `_sass`)
53 | @import
54 | "header",
55 | "mobile-header",
56 | "base",
57 | "layout",
58 | "syntax-highlighting",
59 | "fancy-image"
60 | ;
61 |
--------------------------------------------------------------------------------
/_data/lectures.yml:
--------------------------------------------------------------------------------
1 | - title: "Sample .Rmd File"
2 | filename: Untitled
3 | dirname: untitled-lecture
4 | tldr: "This is just a sample .rmd file to illustrate the use of the lectures.yml file."
--------------------------------------------------------------------------------
/_data/menu.yml:
--------------------------------------------------------------------------------
1 | - title: "About"
2 | href: "/about/"
3 |
4 | - title: "Blog"
5 | href: "/blog/"
6 |
7 | - title: "CV"
8 | href: "/cv/"
9 |
10 | - title: "Miscellany"
11 | href: "/miscellany/"
12 | subcategories:
13 | - subtitle: "Item 1"
14 | subhref: "/miscellany/item-1/"
15 | - subtitle: "Item 2"
16 | subhref: "/miscellany/item-2/"
17 |
--------------------------------------------------------------------------------
/_images/fabulous-sylvester.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svmiller/course-website/7f84bc964a6fbe5a47d46836729faca0f40afaa8/_images/fabulous-sylvester.jpg
--------------------------------------------------------------------------------
/_images/snapshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svmiller/course-website/7f84bc964a6fbe5a47d46836729faca0f40afaa8/_images/snapshot.png
--------------------------------------------------------------------------------
/_images/stand-and-deliver-crop.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svmiller/course-website/7f84bc964a6fbe5a47d46836729faca0f40afaa8/_images/stand-and-deliver-crop.jpg
--------------------------------------------------------------------------------
/_images/stand-and-deliver-fb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svmiller/course-website/7f84bc964a6fbe5a47d46836729faca0f40afaa8/_images/stand-and-deliver-fb.jpg
--------------------------------------------------------------------------------
/_images/stand-and-deliver.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svmiller/course-website/7f84bc964a6fbe5a47d46836729faca0f40afaa8/_images/stand-and-deliver.jpg
--------------------------------------------------------------------------------
/_includes/embedpdf.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/_includes/footer.html:
--------------------------------------------------------------------------------
1 |
77 |
--------------------------------------------------------------------------------
/_includes/head.html:
--------------------------------------------------------------------------------
1 |
10 | {% for post in site.posts %}
11 | {% capture y %}{{post.date | date:"%Y"}}{% endcapture %}
12 | {% if year != y %}
13 | {% assign year = y %}
14 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/course-materials.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: page
3 | title: Course Materials
4 | permalink: /course-materials/
5 | ---
6 |
7 | {% include image.html url="/_images/fabulous-sylvester.jpg" caption="The Textbook for the Semester" width=300 align="right" %}
8 |
9 | ## Book
10 |
11 | Garrison, Joshua. 2006. [The Fabulous Sylvester: The Legend, the Music, the Seventies in San Francisco](https://www.amazon.com/Fabulous-Sylvester-Legend-Seventies-Francisco/dp/0312425694/). Picador.
12 |
13 | ## Additional Course Materials
14 |
15 | Students must read the following documents in the first week of class. These outline my expectations for the rest of the semester.
16 |
17 | - [Taking Good Notes](http://svmiller.com/blog/2014/09/taking-good-notes/)
18 | - [Fun with Attendance and Grades (i.e. Students Should Attend Class)](http://svmiller.com/blog/2016/05/fun-with-attendance-grades/)
19 | - [The Educational Power of Discomfort](http://svmiller.com/blog/2016/05/educational-power-discomfort/)
20 | - [Put Your Laptops Away, Kids (Vol. 2)](http://svmiller.com/blog/2016/05/put-your-laptops-away-2/)
--------------------------------------------------------------------------------
/feed.xml:
--------------------------------------------------------------------------------
1 | ---
2 | layout: null
3 | ---
4 |
5 |
6 |
7 | {{ site.title | xml_escape }}
8 | {{ site.description | xml_escape }}
9 | {{ site.url }}{{ site.baseurl }}/
10 |
11 | {{ site.time | date_to_rfc822 }}
12 | {{ site.time | date_to_rfc822 }}
13 | Jekyll v{{ jekyll.version }}
14 | {% for post in site.posts limit:10 %}
15 |
16 | {{ post.title | xml_escape }}
17 | {{ post.content | xml_escape }}
18 | {{ post.date | date_to_rfc822 }}
19 | {{ post.url | prepend: site.baseurl | prepend: site.url }}
20 | {{ post.url | prepend: site.baseurl | prepend: site.url }}
21 | {% for tag in post.tags %}
22 | {{ tag | xml_escape }}
23 | {% endfor %}
24 | {% for cat in post.categories %}
25 | {{ cat | xml_escape }}
26 | {% endfor %}
27 |
28 | {% endfor %}
29 |
30 |
31 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 |
5 |
6 |
7 |
8 |
9 |
{{ site.subtitle }}
10 |
11 | {% include image.html url="/_images/stand-and-deliver-crop.jpg" caption="Add a snappy caption to your lead image to reach your kids." width=900 align="center" %}
12 |
13 | {{ site.description }}
14 |
15 |
16 |
--------------------------------------------------------------------------------
/lectures.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: page
3 | title: Lectures
4 | permalink: /lectures/
5 | ---
6 |
7 |
24 |
25 | This page contains link to the lectures I give throughout the semester. Clicking the title of the week's lecture will go to a PDF, embedded in the user's browser, by default. The bottom right icons link to the Github directory for the lecture (), the R Markdown document for the lecture (), and a PDF, embedded on Github, for the lecture ().
26 |
27 |
28 | {% for lectures in site.data.lectures %}
29 |