Repository files navigation

Systems Research Group Website at EPFL

This is a Jekyll-based Web site intended for research groups. Your group should be able to get up and running with minimal fuss.

This project originated at the University of Washington. You can see the machinery working live at our site.

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Features

  • Thanks to Jekyll, content is just text files. So even faculty should be able to figure it out.
  • Publications list generated from BibTeX.
  • Personnel list. Organize your professors, students, staff, and alumni.
  • Combined news stream and blog posts.
  • Easily extensible navigation bar.
  • Responsive (mobile-ready) design based on Bootstrap.

Setup

  1. Install the dependencies. You will need Python, bibble (pip install bibble), and Jekyll (gem install jekyll).
  2. Fork this repository on GitHub.
  3. Clone the fork to your own machine: git clone git@github.com:yourgroup/research-group-web.git.
  4. Add an "upstream" remote for the original repository so you can stay abreast of bugfixes: git remote add upstream git://github.com/uwsampa/research-group-web.git.
  5. Customize. Start with the _config.yml file, where you enter the name of the site and its URL.
  6. Type make to build the site and then run make serve to view your site.
  7. Keep adding content. See below for instructions for each of the various sections.
  8. Periodically pull from the upstream repository: git pull upstream master.

Publication List

The list of publications is in bib/pubs.bib. Typing make will generate pubs.html, which contains a pretty, sorted HTML-formatted list of papers. The public page, publications.html, also has a link to download the original BibTeX.

News Items and Blog Posts

For both long-form blog posts and short news updates, we use Jekyll's blogging system. To post a new item of either type, you create a file in the _posts directory using the naming convention YYYY-MM-DD-title-for-url.md. The date part of the filename always matters; the title part is currently only used for full blog posts (but is still required for news updates).

The file must begin with YAML front matter. For news updates, use this:

---
layout: post
shortnews: true
---

For full blog posts, use this format:

---
layout: post
title: "Some Great Title Here"
---

And concoct a page title for your post. The body of the post goes after the --- in either case.

You can also customize the icon that is displayed on the news feed. By default it's newspaper-o. We use icons from the FontAwesome icon set.

Projects

To create a project, just create a markdown file in the _projects folder. Here are the things you can put in the YAML frontmatter:

  • title: The project title.
  • notitle: Set this to true if you don't want a title displayed on the project card. Optional.
  • description: The text shown in the project card. It supports markdown.
  • people: The people working on the project. This is a list of keys from the _data/people.yml file.
  • layout: project This sets the layout of the actual project page. It should be set to project.
  • image: The URL of an image for the project. This is shown on both the project page and the project card. Optional.
  • last-updated: Date in the format of YYYY-MM-DD. The project cards are sorted by this, most recent first.
  • status: inactive Set this to inactive if don't want the project to appear on the front page. Just ignore it otherwise.
  • link: Set this to an external URL if this project has a page somewhere else on the web. If you don't have a link:, then the content of this markdown file (below the YAML frontmatter) will be this project's page.
  • no-link: true Set this if you just don't want a project page for your project.

Personnel

People are listed in a YAML file in _data/people.yml. You can list the name, link, bio, and role of each person. Roles (e.g., "Faculty", "Staff", and "Students") are defined in _config.yml.

Building

The requirements for building the site are:

  • Jekyll: run gem install jekyll
  • bibble: available on pip
  • ssh and rsync, only if you want to deploy directly.

make compiles the bibliography and the website content to the _site directory. To preview the site, run `jekyll serve`` and head to http://0.0.0.0:5000.

Deploying to Your Sever

To set up deployments, edit the Makefile and look for the lines where HOST and DIR are defined. Change these to the host where your HTML files should be copied to.

To upload a new version of the site via rsync over ssh, type make deploy. A web hook does this automatically when you push to GitHub. Be aware that the Makefile is configured to have rsync delete stray files from the destination directory.

About

Systems @epfl research group home page.

Resources

Stars

7 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Systems Research Group Website at EPFL

This is a Jekyll-based Web site intended for research groups. Your group should be able to get up and running with minimal fuss.

This project originated at the University of Washington. You can see the machinery working live at our site.

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Features

  • Thanks to Jekyll, content is just text files. So even faculty should be able to figure it out.
  • Publications list generated from BibTeX.
  • Personnel list. Organize your professors, students, staff, and alumni.
  • Combined news stream and blog posts.
  • Easily extensible navigation bar.
  • Responsive (mobile-ready) design based on Bootstrap.

Setup

  1. Install the dependencies. You will need Python, bibble (pip install bibble), and Jekyll (gem install jekyll).
  2. Fork this repository on GitHub.
  3. Clone the fork to your own machine: git clone git@github.com:yourgroup/research-group-web.git.
  4. Add an "upstream" remote for the original repository so you can stay abreast of bugfixes: git remote add upstream git://github.com/uwsampa/research-group-web.git.
  5. Customize. Start with the _config.yml file, where you enter the name of the site and its URL.
  6. Type make to build the site and then run make serve to view your site.
  7. Keep adding content. See below for instructions for each of the various sections.
  8. Periodically pull from the upstream repository: git pull upstream master.

Publication List

The list of publications is in bib/pubs.bib. Typing make will generate pubs.html, which contains a pretty, sorted HTML-formatted list of papers. The public page, publications.html, also has a link to download the original BibTeX.

News Items and Blog Posts

For both long-form blog posts and short news updates, we use Jekyll's blogging system. To post a new item of either type, you create a file in the _posts directory using the naming convention YYYY-MM-DD-title-for-url.md. The date part of the filename always matters; the title part is currently only used for full blog posts (but is still required for news updates).

The file must begin with YAML front matter. For news updates, use this:

---
layout: post
shortnews: true
---

For full blog posts, use this format:

---
layout: post
title: "Some Great Title Here"
---

And concoct a page title for your post. The body of the post goes after the --- in either case.

You can also customize the icon that is displayed on the news feed. By default it's newspaper-o. We use icons from the FontAwesome icon set.

Projects

To create a project, just create a markdown file in the _projects folder. Here are the things you can put in the YAML frontmatter:

  • title: The project title.
  • notitle: Set this to true if you don't want a title displayed on the project card. Optional.
  • description: The text shown in the project card. It supports markdown.
  • people: The people working on the project. This is a list of keys from the _data/people.yml file.
  • layout: project This sets the layout of the actual project page. It should be set to project.
  • image: The URL of an image for the project. This is shown on both the project page and the project card. Optional.
  • last-updated: Date in the format of YYYY-MM-DD. The project cards are sorted by this, most recent first.
  • status: inactive Set this to inactive if don't want the project to appear on the front page. Just ignore it otherwise.
  • link: Set this to an external URL if this project has a page somewhere else on the web. If you don't have a link:, then the content of this markdown file (below the YAML frontmatter) will be this project's page.
  • no-link: true Set this if you just don't want a project page for your project.

Personnel

People are listed in a YAML file in _data/people.yml. You can list the name, link, bio, and role of each person. Roles (e.g., "Faculty", "Staff", and "Students") are defined in _config.yml.

Building

The requirements for building the site are:

  • Jekyll: run gem install jekyll
  • bibble: available on pip
  • ssh and rsync, only if you want to deploy directly.

make compiles the bibliography and the website content to the _site directory. To preview the site, run `jekyll serve`` and head to http://0.0.0.0:5000.

Deploying to Your Sever

To set up deployments, edit the Makefile and look for the lines where HOST and DIR are defined. Change these to the host where your HTML files should be copied to.

To upload a new version of the site via rsync over ssh, type make deploy. A web hook does this automatically when you push to GitHub. Be aware that the Makefile is configured to have rsync delete stray files from the destination directory.

About

Systems @epfl research group home page.

Resources

Stars

7 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Systems Research Group Website at EPFL

This is a Jekyll-based Web site intended for research groups. Your group should be able to get up and running with minimal fuss.

This project originated at the University of Washington. You can see the machinery working live at our site.

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Features

  • Thanks to Jekyll, content is just text files. So even faculty should be able to figure it out.
  • Publications list generated from BibTeX.
  • Personnel list. Organize your professors, students, staff, and alumni.
  • Combined news stream and blog posts.
  • Easily extensible navigation bar.
  • Responsive (mobile-ready) design based on Bootstrap.

Setup

  1. Install the dependencies. You will need Python, bibble (pip install bibble), and Jekyll (gem install jekyll).
  2. Fork this repository on GitHub.
  3. Clone the fork to your own machine: git clone git@github.com:yourgroup/research-group-web.git.
  4. Add an "upstream" remote for the original repository so you can stay abreast of bugfixes: git remote add upstream git://github.com/uwsampa/research-group-web.git.
  5. Customize. Start with the _config.yml file, where you enter the name of the site and its URL.
  6. Type make to build the site and then run make serve to view your site.
  7. Keep adding content. See below for instructions for each of the various sections.
  8. Periodically pull from the upstream repository: git pull upstream master.

Publication List

The list of publications is in bib/pubs.bib. Typing make will generate pubs.html, which contains a pretty, sorted HTML-formatted list of papers. The public page, publications.html, also has a link to download the original BibTeX.

News Items and Blog Posts

For both long-form blog posts and short news updates, we use Jekyll's blogging system. To post a new item of either type, you create a file in the _posts directory using the naming convention YYYY-MM-DD-title-for-url.md. The date part of the filename always matters; the title part is currently only used for full blog posts (but is still required for news updates).

The file must begin with YAML front matter. For news updates, use this:

---
layout: post
shortnews: true
---

For full blog posts, use this format:

---
layout: post
title: "Some Great Title Here"
---

And concoct a page title for your post. The body of the post goes after the --- in either case.

You can also customize the icon that is displayed on the news feed. By default it's newspaper-o. We use icons from the FontAwesome icon set.

Projects

To create a project, just create a markdown file in the _projects folder. Here are the things you can put in the YAML frontmatter:

  • title: The project title.
  • notitle: Set this to true if you don't want a title displayed on the project card. Optional.
  • description: The text shown in the project card. It supports markdown.
  • people: The people working on the project. This is a list of keys from the _data/people.yml file.
  • layout: project This sets the layout of the actual project page. It should be set to project.
  • image: The URL of an image for the project. This is shown on both the project page and the project card. Optional.
  • last-updated: Date in the format of YYYY-MM-DD. The project cards are sorted by this, most recent first.
  • status: inactive Set this to inactive if don't want the project to appear on the front page. Just ignore it otherwise.
  • link: Set this to an external URL if this project has a page somewhere else on the web. If you don't have a link:, then the content of this markdown file (below the YAML frontmatter) will be this project's page.
  • no-link: true Set this if you just don't want a project page for your project.

Personnel

People are listed in a YAML file in _data/people.yml. You can list the name, link, bio, and role of each person. Roles (e.g., "Faculty", "Staff", and "Students") are defined in _config.yml.

Building

The requirements for building the site are:

  • Jekyll: run gem install jekyll
  • bibble: available on pip
  • ssh and rsync, only if you want to deploy directly.

make compiles the bibliography and the website content to the _site directory. To preview the site, run `jekyll serve`` and head to http://0.0.0.0:5000.

Deploying to Your Sever

To set up deployments, edit the Makefile and look for the lines where HOST and DIR are defined. Change these to the host where your HTML files should be copied to.

To upload a new version of the site via rsync over ssh, type make deploy. A web hook does this automatically when you push to GitHub. Be aware that the Makefile is configured to have rsync delete stray files from the destination directory.

About

Systems @epfl research group home page.

Resources

Stars

7 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Systems Research Group Website at EPFL

This is a Jekyll-based Web site intended for research groups. Your group should be able to get up and running with minimal fuss.

This project originated at the University of Washington. You can see the machinery working live at our site.

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Features

  • Thanks to Jekyll, content is just text files. So even faculty should be able to figure it out.
  • Publications list generated from BibTeX.
  • Personnel list. Organize your professors, students, staff, and alumni.
  • Combined news stream and blog posts.
  • Easily extensible navigation bar.
  • Responsive (mobile-ready) design based on Bootstrap.

Setup

  1. Install the dependencies. You will need Python, bibble (pip install bibble), and Jekyll (gem install jekyll).
  2. Fork this repository on GitHub.
  3. Clone the fork to your own machine: git clone git@github.com:yourgroup/research-group-web.git.
  4. Add an "upstream" remote for the original repository so you can stay abreast of bugfixes: git remote add upstream git://github.com/uwsampa/research-group-web.git.
  5. Customize. Start with the _config.yml file, where you enter the name of the site and its URL.
  6. Type make to build the site and then run make serve to view your site.
  7. Keep adding content. See below for instructions for each of the various sections.
  8. Periodically pull from the upstream repository: git pull upstream master.

Publication List

The list of publications is in bib/pubs.bib. Typing make will generate pubs.html, which contains a pretty, sorted HTML-formatted list of papers. The public page, publications.html, also has a link to download the original BibTeX.

News Items and Blog Posts

For both long-form blog posts and short news updates, we use Jekyll's blogging system. To post a new item of either type, you create a file in the _posts directory using the naming convention YYYY-MM-DD-title-for-url.md. The date part of the filename always matters; the title part is currently only used for full blog posts (but is still required for news updates).

The file must begin with YAML front matter. For news updates, use this:

---
layout: post
shortnews: true
---

For full blog posts, use this format:

---
layout: post
title: "Some Great Title Here"
---

And concoct a page title for your post. The body of the post goes after the --- in either case.

You can also customize the icon that is displayed on the news feed. By default it's newspaper-o. We use icons from the FontAwesome icon set.

Projects

To create a project, just create a markdown file in the _projects folder. Here are the things you can put in the YAML frontmatter:

  • title: The project title.
  • notitle: Set this to true if you don't want a title displayed on the project card. Optional.
  • description: The text shown in the project card. It supports markdown.
  • people: The people working on the project. This is a list of keys from the _data/people.yml file.
  • layout: project This sets the layout of the actual project page. It should be set to project.
  • image: The URL of an image for the project. This is shown on both the project page and the project card. Optional.
  • last-updated: Date in the format of YYYY-MM-DD. The project cards are sorted by this, most recent first.
  • status: inactive Set this to inactive if don't want the project to appear on the front page. Just ignore it otherwise.
  • link: Set this to an external URL if this project has a page somewhere else on the web. If you don't have a link:, then the content of this markdown file (below the YAML frontmatter) will be this project's page.
  • no-link: true Set this if you just don't want a project page for your project.

Personnel

People are listed in a YAML file in _data/people.yml. You can list the name, link, bio, and role of each person. Roles (e.g., "Faculty", "Staff", and "Students") are defined in _config.yml.

Building

The requirements for building the site are:

  • Jekyll: run gem install jekyll
  • bibble: available on pip
  • ssh and rsync, only if you want to deploy directly.

make compiles the bibliography and the website content to the _site directory. To preview the site, run `jekyll serve`` and head to http://0.0.0.0:5000.

Deploying to Your Sever

To set up deployments, edit the Makefile and look for the lines where HOST and DIR are defined. Change these to the host where your HTML files should be copied to.

To upload a new version of the site via rsync over ssh, type make deploy. A web hook does this automatically when you push to GitHub. Be aware that the Makefile is configured to have rsync delete stray files from the destination directory.

About

Systems @epfl research group home page.

Resources

Stars

7 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Systems Research Group Website at EPFL

This is a Jekyll-based Web site intended for research groups. Your group should be able to get up and running with minimal fuss.

This project originated at the University of Washington. You can see the machinery working live at our site.

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Features

  • Thanks to Jekyll, content is just text files. So even faculty should be able to figure it out.
  • Publications list generated from BibTeX.
  • Personnel list. Organize your professors, students, staff, and alumni.
  • Combined news stream and blog posts.
  • Easily extensible navigation bar.
  • Responsive (mobile-ready) design based on Bootstrap.

Setup

  1. Install the dependencies. You will need Python, bibble (pip install bibble), and Jekyll (gem install jekyll).
  2. Fork this repository on GitHub.
  3. Clone the fork to your own machine: git clone git@github.com:yourgroup/research-group-web.git.
  4. Add an "upstream" remote for the original repository so you can stay abreast of bugfixes: git remote add upstream git://github.com/uwsampa/research-group-web.git.
  5. Customize. Start with the _config.yml file, where you enter the name of the site and its URL.
  6. Type make to build the site and then run make serve to view your site.
  7. Keep adding content. See below for instructions for each of the various sections.
  8. Periodically pull from the upstream repository: git pull upstream master.

Publication List

The list of publications is in bib/pubs.bib. Typing make will generate pubs.html, which contains a pretty, sorted HTML-formatted list of papers. The public page, publications.html, also has a link to download the original BibTeX.

News Items and Blog Posts

For both long-form blog posts and short news updates, we use Jekyll's blogging system. To post a new item of either type, you create a file in the _posts directory using the naming convention YYYY-MM-DD-title-for-url.md. The date part of the filename always matters; the title part is currently only used for full blog posts (but is still required for news updates).

The file must begin with YAML front matter. For news updates, use this:

---
layout: post
shortnews: true
---

For full blog posts, use this format:

---
layout: post
title: "Some Great Title Here"
---

And concoct a page title for your post. The body of the post goes after the --- in either case.

You can also customize the icon that is displayed on the news feed. By default it's newspaper-o. We use icons from the FontAwesome icon set.

Projects

To create a project, just create a markdown file in the _projects folder. Here are the things you can put in the YAML frontmatter:

  • title: The project title.
  • notitle: Set this to true if you don't want a title displayed on the project card. Optional.
  • description: The text shown in the project card. It supports markdown.
  • people: The people working on the project. This is a list of keys from the _data/people.yml file.
  • layout: project This sets the layout of the actual project page. It should be set to project.
  • image: The URL of an image for the project. This is shown on both the project page and the project card. Optional.
  • last-updated: Date in the format of YYYY-MM-DD. The project cards are sorted by this, most recent first.
  • status: inactive Set this to inactive if don't want the project to appear on the front page. Just ignore it otherwise.
  • link: Set this to an external URL if this project has a page somewhere else on the web. If you don't have a link:, then the content of this markdown file (below the YAML frontmatter) will be this project's page.
  • no-link: true Set this if you just don't want a project page for your project.

Personnel

People are listed in a YAML file in _data/people.yml. You can list the name, link, bio, and role of each person. Roles (e.g., "Faculty", "Staff", and "Students") are defined in _config.yml.

Building

The requirements for building the site are:

  • Jekyll: run gem install jekyll
  • bibble: available on pip
  • ssh and rsync, only if you want to deploy directly.

make compiles the bibliography and the website content to the _site directory. To preview the site, run `jekyll serve`` and head to http://0.0.0.0:5000.

Deploying to Your Sever

To set up deployments, edit the Makefile and look for the lines where HOST and DIR are defined. Change these to the host where your HTML files should be copied to.

To upload a new version of the site via rsync over ssh, type make deploy. A web hook does this automatically when you push to GitHub. Be aware that the Makefile is configured to have rsync delete stray files from the destination directory.

About

Systems @epfl research group home page.

Resources

Stars

7 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Systems Research Group Website at EPFL

This is a Jekyll-based Web site intended for research groups. Your group should be able to get up and running with minimal fuss.

This project originated at the University of Washington. You can see the machinery working live at our site.

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Features

  • Thanks to Jekyll, content is just text files. So even faculty should be able to figure it out.
  • Publications list generated from BibTeX.
  • Personnel list. Organize your professors, students, staff, and alumni.
  • Combined news stream and blog posts.
  • Easily extensible navigation bar.
  • Responsive (mobile-ready) design based on Bootstrap.

Setup

  1. Install the dependencies. You will need Python, bibble (pip install bibble), and Jekyll (gem install jekyll).
  2. Fork this repository on GitHub.
  3. Clone the fork to your own machine: git clone git@github.com:yourgroup/research-group-web.git.
  4. Add an "upstream" remote for the original repository so you can stay abreast of bugfixes: git remote add upstream git://github.com/uwsampa/research-group-web.git.
  5. Customize. Start with the _config.yml file, where you enter the name of the site and its URL.
  6. Type make to build the site and then run make serve to view your site.
  7. Keep adding content. See below for instructions for each of the various sections.
  8. Periodically pull from the upstream repository: git pull upstream master.

Publication List

The list of publications is in bib/pubs.bib. Typing make will generate pubs.html, which contains a pretty, sorted HTML-formatted list of papers. The public page, publications.html, also has a link to download the original BibTeX.

News Items and Blog Posts

For both long-form blog posts and short news updates, we use Jekyll's blogging system. To post a new item of either type, you create a file in the _posts directory using the naming convention YYYY-MM-DD-title-for-url.md. The date part of the filename always matters; the title part is currently only used for full blog posts (but is still required for news updates).

The file must begin with YAML front matter. For news updates, use this:

---
layout: post
shortnews: true
---

For full blog posts, use this format:

---
layout: post
title: "Some Great Title Here"
---

And concoct a page title for your post. The body of the post goes after the --- in either case.

You can also customize the icon that is displayed on the news feed. By default it's newspaper-o. We use icons from the FontAwesome icon set.

Projects

To create a project, just create a markdown file in the _projects folder. Here are the things you can put in the YAML frontmatter:

  • title: The project title.
  • notitle: Set this to true if you don't want a title displayed on the project card. Optional.
  • description: The text shown in the project card. It supports markdown.
  • people: The people working on the project. This is a list of keys from the _data/people.yml file.
  • layout: project This sets the layout of the actual project page. It should be set to project.
  • image: The URL of an image for the project. This is shown on both the project page and the project card. Optional.
  • last-updated: Date in the format of YYYY-MM-DD. The project cards are sorted by this, most recent first.
  • status: inactive Set this to inactive if don't want the project to appear on the front page. Just ignore it otherwise.
  • link: Set this to an external URL if this project has a page somewhere else on the web. If you don't have a link:, then the content of this markdown file (below the YAML frontmatter) will be this project's page.
  • no-link: true Set this if you just don't want a project page for your project.

Personnel

People are listed in a YAML file in _data/people.yml. You can list the name, link, bio, and role of each person. Roles (e.g., "Faculty", "Staff", and "Students") are defined in _config.yml.

Building

The requirements for building the site are:

  • Jekyll: run gem install jekyll
  • bibble: available on pip
  • ssh and rsync, only if you want to deploy directly.

make compiles the bibliography and the website content to the _site directory. To preview the site, run `jekyll serve`` and head to http://0.0.0.0:5000.

Deploying to Your Sever

To set up deployments, edit the Makefile and look for the lines where HOST and DIR are defined. Change these to the host where your HTML files should be copied to.

To upload a new version of the site via rsync over ssh, type make deploy. A web hook does this automatically when you push to GitHub. Be aware that the Makefile is configured to have rsync delete stray files from the destination directory.

About

Systems @epfl research group home page.

Resources

Stars

7 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Systems Research Group Website at EPFL

This is a Jekyll-based Web site intended for research groups. Your group should be able to get up and running with minimal fuss.

This project originated at the University of Washington. You can see the machinery working live at our site.

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Features

  • Thanks to Jekyll, content is just text files. So even faculty should be able to figure it out.
  • Publications list generated from BibTeX.
  • Personnel list. Organize your professors, students, staff, and alumni.
  • Combined news stream and blog posts.
  • Easily extensible navigation bar.
  • Responsive (mobile-ready) design based on Bootstrap.

Setup

  1. Install the dependencies. You will need Python, bibble (pip install bibble), and Jekyll (gem install jekyll).
  2. Fork this repository on GitHub.
  3. Clone the fork to your own machine: git clone git@github.com:yourgroup/research-group-web.git.
  4. Add an "upstream" remote for the original repository so you can stay abreast of bugfixes: git remote add upstream git://github.com/uwsampa/research-group-web.git.
  5. Customize. Start with the _config.yml file, where you enter the name of the site and its URL.
  6. Type make to build the site and then run make serve to view your site.
  7. Keep adding content. See below for instructions for each of the various sections.
  8. Periodically pull from the upstream repository: git pull upstream master.

Publication List

The list of publications is in bib/pubs.bib. Typing make will generate pubs.html, which contains a pretty, sorted HTML-formatted list of papers. The public page, publications.html, also has a link to download the original BibTeX.

News Items and Blog Posts

For both long-form blog posts and short news updates, we use Jekyll's blogging system. To post a new item of either type, you create a file in the _posts directory using the naming convention YYYY-MM-DD-title-for-url.md. The date part of the filename always matters; the title part is currently only used for full blog posts (but is still required for news updates).

The file must begin with YAML front matter. For news updates, use this:

---
layout: post
shortnews: true
---

For full blog posts, use this format:

---
layout: post
title: "Some Great Title Here"
---

And concoct a page title for your post. The body of the post goes after the --- in either case.

You can also customize the icon that is displayed on the news feed. By default it's newspaper-o. We use icons from the FontAwesome icon set.

Projects

To create a project, just create a markdown file in the _projects folder. Here are the things you can put in the YAML frontmatter:

  • title: The project title.
  • notitle: Set this to true if you don't want a title displayed on the project card. Optional.
  • description: The text shown in the project card. It supports markdown.
  • people: The people working on the project. This is a list of keys from the _data/people.yml file.
  • layout: project This sets the layout of the actual project page. It should be set to project.
  • image: The URL of an image for the project. This is shown on both the project page and the project card. Optional.
  • last-updated: Date in the format of YYYY-MM-DD. The project cards are sorted by this, most recent first.
  • status: inactive Set this to inactive if don't want the project to appear on the front page. Just ignore it otherwise.
  • link: Set this to an external URL if this project has a page somewhere else on the web. If you don't have a link:, then the content of this markdown file (below the YAML frontmatter) will be this project's page.
  • no-link: true Set this if you just don't want a project page for your project.

Personnel

People are listed in a YAML file in _data/people.yml. You can list the name, link, bio, and role of each person. Roles (e.g., "Faculty", "Staff", and "Students") are defined in _config.yml.

Building

The requirements for building the site are:

  • Jekyll: run gem install jekyll
  • bibble: available on pip
  • ssh and rsync, only if you want to deploy directly.

make compiles the bibliography and the website content to the _site directory. To preview the site, run `jekyll serve`` and head to http://0.0.0.0:5000.

Deploying to Your Sever

To set up deployments, edit the Makefile and look for the lines where HOST and DIR are defined. Change these to the host where your HTML files should be copied to.

To upload a new version of the site via rsync over ssh, type make deploy. A web hook does this automatically when you push to GitHub. Be aware that the Makefile is configured to have rsync delete stray files from the destination directory.

About

Systems @epfl research group home page.

Resources

Stars

7 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Systems Research Group Website at EPFL

This is a Jekyll-based Web site intended for research groups. Your group should be able to get up and running with minimal fuss.

This project originated at the University of Washington. You can see the machinery working live at our site.

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Features

  • Thanks to Jekyll, content is just text files. So even faculty should be able to figure it out.
  • Publications list generated from BibTeX.
  • Personnel list. Organize your professors, students, staff, and alumni.
  • Combined news stream and blog posts.
  • Easily extensible navigation bar.
  • Responsive (mobile-ready) design based on Bootstrap.

Setup

  1. Install the dependencies. You will need Python, bibble (pip install bibble), and Jekyll (gem install jekyll).
  2. Fork this repository on GitHub.
  3. Clone the fork to your own machine: git clone git@github.com:yourgroup/research-group-web.git.
  4. Add an "upstream" remote for the original repository so you can stay abreast of bugfixes: git remote add upstream git://github.com/uwsampa/research-group-web.git.
  5. Customize. Start with the _config.yml file, where you enter the name of the site and its URL.
  6. Type make to build the site and then run make serve to view your site.
  7. Keep adding content. See below for instructions for each of the various sections.
  8. Periodically pull from the upstream repository: git pull upstream master.

Publication List

The list of publications is in bib/pubs.bib. Typing make will generate pubs.html, which contains a pretty, sorted HTML-formatted list of papers. The public page, publications.html, also has a link to download the original BibTeX.

News Items and Blog Posts

For both long-form blog posts and short news updates, we use Jekyll's blogging system. To post a new item of either type, you create a file in the _posts directory using the naming convention YYYY-MM-DD-title-for-url.md. The date part of the filename always matters; the title part is currently only used for full blog posts (but is still required for news updates).

The file must begin with YAML front matter. For news updates, use this:

---
layout: post
shortnews: true
---

For full blog posts, use this format:

---
layout: post
title: "Some Great Title Here"
---

And concoct a page title for your post. The body of the post goes after the --- in either case.

You can also customize the icon that is displayed on the news feed. By default it's newspaper-o. We use icons from the FontAwesome icon set.

Projects

To create a project, just create a markdown file in the _projects folder. Here are the things you can put in the YAML frontmatter:

  • title: The project title.
  • notitle: Set this to true if you don't want a title displayed on the project card. Optional.
  • description: The text shown in the project card. It supports markdown.
  • people: The people working on the project. This is a list of keys from the _data/people.yml file.
  • layout: project This sets the layout of the actual project page. It should be set to project.
  • image: The URL of an image for the project. This is shown on both the project page and the project card. Optional.
  • last-updated: Date in the format of YYYY-MM-DD. The project cards are sorted by this, most recent first.
  • status: inactive Set this to inactive if don't want the project to appear on the front page. Just ignore it otherwise.
  • link: Set this to an external URL if this project has a page somewhere else on the web. If you don't have a link:, then the content of this markdown file (below the YAML frontmatter) will be this project's page.
  • no-link: true Set this if you just don't want a project page for your project.

Personnel

People are listed in a YAML file in _data/people.yml. You can list the name, link, bio, and role of each person. Roles (e.g., "Faculty", "Staff", and "Students") are defined in _config.yml.

Building

The requirements for building the site are:

  • Jekyll: run gem install jekyll
  • bibble: available on pip
  • ssh and rsync, only if you want to deploy directly.

make compiles the bibliography and the website content to the _site directory. To preview the site, run `jekyll serve`` and head to http://0.0.0.0:5000.

Deploying to Your Sever

To set up deployments, edit the Makefile and look for the lines where HOST and DIR are defined. Change these to the host where your HTML files should be copied to.

To upload a new version of the site via rsync over ssh, type make deploy. A web hook does this automatically when you push to GitHub. Be aware that the Makefile is configured to have rsync delete stray files from the destination directory.

About

Systems @epfl research group home page.

Resources

Stars

7 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages