Skip to content

Commit 6e20e20

Browse files
committed
Initial commit
1 parent 7b8406e commit 6e20e20

File tree

104 files changed

+8372
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+8372
-1
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ _site/
22
.sass-cache/
33
.jekyll-cache/
44
.jekyll-metadata
5+
.DS_Store

README.md

+100-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,100 @@
1-
# snap-www
1+
# snap-www
2+
3+
This site is statically generated using [Jekyll](https://jekyllrb.com/).
4+
The source files live in `www`; Jekyll takes these as input and produces a static publishable copy of the site (that can be copied to a web server) in `www/_site`.
5+
6+
7+
## Requirements
8+
9+
To build the site, you'll need a copy of [Jekyll](https://jekyllrb.com/):
10+
```
11+
gem install bundler jekyll
12+
```
13+
14+
15+
## Building the site
16+
17+
After modifying the source files in `www`, use Jekyll to re-compile it:
18+
```
19+
cd www
20+
jekyll build
21+
```
22+
23+
Note: If you see an opaque Ruby error, try prepending `bundle exec` to any Jekyll command. E.g.:
24+
```
25+
cd www
26+
bundle exec jekyll build
27+
```
28+
29+
If you want to check your changes locally before publishing them to the web server, use `jekyll serve` instead (again, use `bundle exec` if needed):
30+
```
31+
cd www
32+
jekyll serve
33+
```
34+
Now go to `localhost:4000` in your browser.
35+
You can continue to edit the source files while `jekyll serve` is running; it will automatically re-compile the site as you save modifications.
36+
37+
38+
## Publishing the site
39+
40+
TODO
41+
42+
43+
## Adding a person
44+
45+
To add a new person, create a file called `<name>.md` in the `_people` directory.
46+
For exmaple, to add a profile for Harry Bovik, create the file `www/_people/harry-bovik.md`.
47+
48+
The contents of the file should look like this:
49+
```
50+
---
51+
layout: person
52+
name: Harry Q. Bovik
53+
54+
website: http://www.cs.cmu.edu/~bovik
55+
phone: +1 (412) 123-4567
56+
office: GHC 0000
57+
twitter: harrybovik
58+
github: harrybovik
59+
linkedin: https://www.linkedin.com/in/harry-bovik
60+
position: Faculty
61+
photo: harry-bovik.jpg
62+
---
63+
64+
Harry's bio goes here. Feel free to use markdown syntax.
65+
66+
Multiple paragraphs are also okay.
67+
```
68+
69+
All of the metadata fields between the `---` markers are optional except `layout: person` and `name: ...`.
70+
To include a photo, save the photo to `www/images/people` and give the file name (not the full path) with the `photo: <file name>` tag in the metadata section.
71+
If the photo provided does not already have a square aspect ratio, it will be automatically cropped when displayed.
72+
73+
When you're done, follow the instructions above to build and publish the updated site.
74+
75+
76+
## Adding a blog post
77+
78+
To add a new blog post, create a file called `YYYY-MM-DD-<name>.md` in the `_posts` directory.
79+
`<name>` may be multiple words separated by hypens and the file name will be used to generate the post's URL.
80+
For example, a file named `2018-11-15-mctls-protocol.md` will result in a post with URL `<domain>/blog/2018/11/15/mctls-protocol.html`
81+
82+
The contents of the file should look like this:
83+
```
84+
---
85+
layout: post
86+
title: mcTLS Specification
87+
author: David Naylor
88+
date: 2018-11-15
89+
categories: ['research']
90+
tags: ['network security', 'privacy', 'tls']
91+
---
92+
93+
Post content goes here. Feel free to use markdown syntax.
94+
95+
Multiple paragraphs are also okay.
96+
```
97+
98+
The `categories` and `tags` fields take arbitrary lists of strings (and can be omitted entirely).
99+
100+
When you're done, follow the instructions above to build and publish the updated site.

www/404.html

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
layout: default
3+
---
4+
5+
<style type="text/css" media="screen">
6+
.container {
7+
margin: 10px auto;
8+
max-width: 600px;
9+
text-align: center;
10+
}
11+
h1 {
12+
margin: 30px 0;
13+
font-size: 4em;
14+
line-height: 1;
15+
letter-spacing: -1px;
16+
}
17+
</style>
18+
19+
<div class="container">
20+
<h1>Aw, SNAP.</h1>
21+
22+
<p><strong>We couldn't find that.</strong></p>
23+
</div>

www/Gemfile

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
source "https://rubygems.org"
2+
3+
# Hello! This is where you manage which Jekyll version is used to run.
4+
# When you want to use a different version, change it below, save the
5+
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
6+
#
7+
# bundle exec jekyll serve
8+
#
9+
# This will help ensure the proper Jekyll version is running.
10+
# Happy Jekylling!
11+
gem "jekyll", "~> 3.8.4"
12+
13+
# This is the default theme for new Jekyll sites. You may change this to anything you like.
14+
gem "minima", "~> 2.0"
15+
16+
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
17+
# uncomment the line below. To upgrade, run `bundle update github-pages`.
18+
# gem "github-pages", group: :jekyll_plugins
19+
20+
# If you have any plugins, put them here!
21+
group :jekyll_plugins do
22+
gem "jekyll-feed", "~> 0.6"
23+
end
24+
25+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
26+
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
27+
28+
# Performance-booster for watching directories on Windows
29+
gem "wdm", "~> 0.1.0" if Gem.win_platform?
30+

www/Gemfile.lock

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
addressable (2.5.2)
5+
public_suffix (>= 2.0.2, < 4.0)
6+
colorator (1.1.0)
7+
concurrent-ruby (1.0.5)
8+
em-websocket (0.5.1)
9+
eventmachine (>= 0.12.9)
10+
http_parser.rb (~> 0.6.0)
11+
eventmachine (1.2.7)
12+
ffi (1.9.25)
13+
forwardable-extended (2.6.0)
14+
http_parser.rb (0.6.0)
15+
i18n (0.9.5)
16+
concurrent-ruby (~> 1.0)
17+
jekyll (3.8.4)
18+
addressable (~> 2.4)
19+
colorator (~> 1.0)
20+
em-websocket (~> 0.5)
21+
i18n (~> 0.7)
22+
jekyll-sass-converter (~> 1.0)
23+
jekyll-watch (~> 2.0)
24+
kramdown (~> 1.14)
25+
liquid (~> 4.0)
26+
mercenary (~> 0.3.3)
27+
pathutil (~> 0.9)
28+
rouge (>= 1.7, < 4)
29+
safe_yaml (~> 1.0)
30+
jekyll-feed (0.11.0)
31+
jekyll (~> 3.3)
32+
jekyll-sass-converter (1.5.2)
33+
sass (~> 3.4)
34+
jekyll-seo-tag (2.5.0)
35+
jekyll (~> 3.3)
36+
jekyll-watch (2.1.2)
37+
listen (~> 3.0)
38+
kramdown (1.17.0)
39+
liquid (4.0.1)
40+
listen (3.1.5)
41+
rb-fsevent (~> 0.9, >= 0.9.4)
42+
rb-inotify (~> 0.9, >= 0.9.7)
43+
ruby_dep (~> 1.2)
44+
mercenary (0.3.6)
45+
minima (2.5.0)
46+
jekyll (~> 3.5)
47+
jekyll-feed (~> 0.9)
48+
jekyll-seo-tag (~> 2.1)
49+
pathutil (0.16.1)
50+
forwardable-extended (~> 2.6)
51+
public_suffix (3.0.3)
52+
rb-fsevent (0.10.3)
53+
rb-inotify (0.9.10)
54+
ffi (>= 0.5.0, < 2)
55+
rouge (3.3.0)
56+
ruby_dep (1.5.0)
57+
safe_yaml (1.0.4)
58+
sass (3.6.0)
59+
sass-listen (~> 4.0.0)
60+
sass-listen (4.0.0)
61+
rb-fsevent (~> 0.9, >= 0.9.4)
62+
rb-inotify (~> 0.9, >= 0.9.7)
63+
64+
PLATFORMS
65+
ruby
66+
67+
DEPENDENCIES
68+
jekyll (~> 3.8.4)
69+
jekyll-feed (~> 0.6)
70+
minima (~> 2.0)
71+
tzinfo-data
72+
73+
BUNDLED WITH
74+
1.15.3

www/_config.yml

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Welcome to Jekyll!
2+
#
3+
# This config file is meant for settings that affect your whole blog, values
4+
# which you are expected to set up once and rarely edit after that. If you find
5+
# yourself editing this file very often, consider using Jekyll's data files
6+
# feature for the data you need to update frequently.
7+
#
8+
# For technical reasons, this file is *NOT* reloaded automatically when you use
9+
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
10+
11+
# Site settings
12+
# These are used to personalize your new site. If you look in the HTML files,
13+
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
14+
# You can create any custom variable you would like, and they will be accessible
15+
# in the templates via {{ site.myvariable }}.
16+
title: SNAP Lab
17+
18+
description: >- # this means to ignore newlines until "baseurl:"
19+
SNAP is the Systems, Networking, and Performance lab at Carnegie Mellon
20+
Univerity.
21+
baseurl: "/snap" # the subpath of your site, e.g. /blog
22+
url: "https://davidtnaylor.com" # the base hostname & protocol for your site, e.g. http://example.com
23+
# twitter_username: jekyllrb
24+
# github_username: jekyll
25+
26+
# Build settings
27+
markdown: kramdown
28+
plugins:
29+
- jekyll-feed
30+
31+
# URL for blog posts
32+
permalink: /blog/:year/:month/:day/:title:output_ext
33+
34+
collections:
35+
people:
36+
output: true
37+
permalink: /people/:name:output_ext
38+
39+
40+
# Exclude from processing.
41+
# The following items will not be processed, by default. Create a custom list
42+
# to override the default setting.
43+
# exclude:
44+
# - Gemfile
45+
# - Gemfile.lock
46+
# - node_modules
47+
# - vendor/bundle/
48+
# - vendor/cache/
49+
# - vendor/gems/
50+
# - vendor/ruby/

www/_includes/footer.html

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<footer>
2+
3+
<div class="container">
4+
<div class="row" style="margin-top: 100px; padding-top: 100px; padding-bottom: 100px;">
5+
<div class="col-md-3">
6+
<img src="{{ site.baseurl }}/images/snap_logo_wordmark_horizontal_white.svg" height="30" alt="">
7+
<p class="copyright mt-4">&copy; 2018 SNAP Lab</p>
8+
</div> <!-- col -->
9+
<div class="col-md-3">
10+
<h1>Site</h1>
11+
<ul class="list-unstyled">
12+
<li><a href="{{ site.baseurl }}/blog">Blog</a></li>
13+
<li><a href="{{ site.baseurl }}/calendar.html">Calendar</a></li>
14+
<li><a href="{{ site.baseurl }}/people">People</a></li>
15+
<li><a href="{{ site.baseurl }}/resources.html">Resources</a></li>
16+
</ul>
17+
</div> <!-- col -->
18+
<div class="col-md-3">
19+
<h1>Related Sites</h1>
20+
<ul class="list-unstyled">
21+
<li><a href="https://cmu.edu">cmu.edu</a></li>
22+
<li><a href="https://cs.cmu.edu">cs.cmu.edu</a></li>
23+
<li><a href="https://csd.cs.cmu.edu">csd.cs.cmu.edu</a></li>
24+
</ul>
25+
</div> <!-- col -->
26+
<div class="col-md-3">
27+
<p class="connect">
28+
<a href="#"><i class="fab fa-github mr-2"></i></a>
29+
<a href="#"><i class="fab fa-twitter mr-2"></i></a>
30+
<a href="#"><i class="fab fa-facebook mr-2"></i></a>
31+
<a href="#"><i class="fab fa-google-plus mr-2"></i></a>
32+
</p>
33+
</div> <!-- col -->
34+
</div> <!-- row -->
35+
</div> <!-- container -->
36+
37+
{% include footer_scripts.html %}
38+
39+
</footer>

www/_includes/footer_scripts.html

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!-- TODO: check if we use all of these -->
2+
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
3+
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
4+
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
5+
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>
6+
7+
<!-- page-specific scripts, if any -->
8+
{% if page.scripts %}
9+
{% for script in page.scripts %}
10+
<script src="{{ site.baseurl }}/{{ script }}"></script>
11+
{% endfor %}
12+
{% endif %}

www/_includes/head.html

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<head>
2+
<!-- Required meta tags -->
3+
<meta charset="utf-8">
4+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
5+
6+
7+
<title>{% if page.title %}{{ page.title }} | {{ site.title}}{% else %}{{ site.title }}{% endif %}</title>
8+
<meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
9+
10+
<!-- Open Sans font -->
11+
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css'>
12+
<link href="https://fonts.googleapis.com/css?family=Montserrat:100,200,300,400" rel="stylesheet">
13+
<link href="https://fonts.googleapis.com/css?family=Arvo:400,700|Bitter:400,700|Copse|Lora:700|Merriweather|Roboto+Slab|Scope+One|Slabo+27px" rel="stylesheet">
14+
15+
<!-- Bootstrap CSS -->
16+
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
17+
18+
<!-- FontAwesome icons -->
19+
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous">
20+
21+
<!-- Our own CSS tweaks -->
22+
<link href="{{ site.baseurl }}/css/main.css" rel="stylesheet">
23+
24+
<!-- favicon -->
25+
<link rel="icon"
26+
type="image/png"
27+
href="{{ site.baseurl }}/images/favicon.png">
28+
29+
</head>

www/_includes/header.html

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<nav class="navbar navbar-expand-sm navbar-light bg-light sticky-top px-4 py-2">
2+
<a class="navbar-brand" href="{{ site.baseurl }}/">
3+
<img src="{{ site.baseurl }}/images/snap_logo_wordmark_horizontal.svg" height="30" alt="">
4+
</a>
5+
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerContent" aria-controls="navbarTogglerContent" aria-expanded="false" aria-label="Toggle navigation">
6+
<span class="navbar-toggler-icon"></span>
7+
</button>
8+
9+
{% include nav_buttons.html %}
10+
</nav>

www/_includes/nav_buttons.html

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<div class="collapse navbar-collapse" id="navbarTogglerContent">
2+
<ul class="navbar-nav ml-auto">
3+
<li class="nav-item">
4+
<a class="nav-link" href="{{ site.baseurl }}/blog/">Blog</a>
5+
</li>
6+
<li class="nav-item">
7+
<a class="nav-link" href="{{ site.baseurl }}/calendar.html">Calendar</a>
8+
</li>
9+
<li class="nav-item">
10+
<a class="nav-link" href="{{ site.baseurl }}/people/">People</a>
11+
</li>
12+
<li class="nav-item">
13+
<a class="nav-link" href="{{ site.baseurl }}/resources.html">Resources</a>
14+
</li>
15+
</ul>
16+
</div> <!-- toggler content -->

0 commit comments

Comments
 (0)