Back to templates

Template details

starling.utdallas.edu

Development repository for the STARLinG Lab's webpage. Built with Jekyll, jQuery, and the minimal-mistakes Jekyll theme.

About this template

The StARLinG Lab website template (starling.utdallas.edu) is a Jekyll-based academic research lab site that generates a static HTML website from YAML data files and Markdown pages, built on the minimal-mistakes theme and maintained by Alexander L. Hayes and Harsha Kokel. The repository is the development source for the StARLinG Lab's public webpage at UT Dallas.

What is the StARLinG Lab website template?

This is a development repository for the StARLinG Lab's webpage, a static site generated with Jekyll, jQuery, and the minimal-mistakes Jekyll theme. It takes structured data — publications in /_data/publication.yml, lab member profiles in /_data/authors.yml, and navigation in /_data/_navigation.yml — and produces a complete static site in a _site folder that is published to an Apache server. The project is licensed under Creative Commons Attribution 4.0 International, while the underlying minimal-mistakes theme and Jekyll themselves are MIT-licensed.

Key Features

  • Jekyll static generation — Runs with bundle exec jekyll serve for local development and outputs a _site folder for production with JEKYLL_ENV=production bundle exec jekyll build.
  • minimal-mistakes theme — Built on the widely used Jekyll theme by Michael Rose, which provides the visual layout and components out of the box.
  • YAML-driven content management — Publication, author, and navigation data live in YAML files under /_data/, so content edits don't require touching HTML.
  • News and gallery sections — News items are added as files in /_news/, and gallery photos are listed in /_pages/photo-gallery.md.
  • SemVer release workflow — The README documents tagging releases (e.g. v1.0.7) and building a production version, then deploying by copying the _site folder to /var/www on the target server.
  • jQuery homepage enhancement — A random student loader on the homepage uses jQuery and JSON, based on a technique from James W. Thorne.

Who is it for?

  • Academic lab maintainers — Graduate students or staff responsible for a research group's website who need a low-maintenance static site that separates content (YAML/Markdown) from presentation.
  • Jekyll users — Developers seeking a working example of minimal-mistakes configured with data files, custom navigation, a news collection, and a production build/deploy pipeline.
  • University departments at UT Dallas — The template is specific to the StARLinG Lab but can be adapted for any lab that needs a similar online presence on Apache hosting.

What can you do with this template?

  • Lab members: Edit /_data/authors.yml to add or update member bios, photos, and links; the homepage's random student loader reflects the data automatically.
  • Researchers: Append new entries to /_data/publication.yml to keep the publications list current without rebuilding page templates.
  • Site deployers: Follow the documented scp and sudo steps to move a built _site folder to the server's /var/www directory, backing up the previous version first.

How does it work?

The quick-start guide installs Ruby and RubyGems, clones the repository, runs bundle install and then bundle exec jekyll serve, and views the site at 127.0.0.1:4000. For production, maintainers tag the repo with a SemVer version, build with Jekyll, and deploy the resulting _site folder over SSH to the starling.utdallas.edu Apache server.

FAQ

Is this template free to use?

The repository is licensed under a Creative Commons Attribution 4.0 International License, so it is free to use with attribution. The integrated minimal-mistakes theme and Jekyll are distributed under the MIT License, and the StARLinG logo is used with permission from designer Gautam Kunapuli.

How do I add a new news item?

Create a new file inside the /_news/ directory. The README identifies this as the single location for news updates, and Jekyll will pick it up on the next build.

What data files power the site?

Publications are stored in /_data/publication.yml, lab member details in /_data/authors.yml, and top navigation in /_data/_navigation.yml. Editing these YAML files is the intended way to update site content.

How do I run the site locally?

Install Ruby and RubyGems, clone the repository, then run gem install jekyll bundler, bundle install, and bundle exec jekyll serve. The site is available at 127.0.0.1:4000.

How is a production build created?

Make sure your branch is even with master, tag the current state with a SemVer version like v1.0.7, then run JEKYLL_ENV=production bundle exec jekyll build. The generated _site folder is deployed to the Apache server.