Skip to content

Commit

Permalink
Merge pull request #6 from Norse-IoT/jekyllification
Browse files Browse the repository at this point in the history
Migrating Norse IoT to Jekyll
  • Loading branch information
cassiancc authored Feb 24, 2025
2 parents 3971717 + 7e07ff4 commit 38cab15
Show file tree
Hide file tree
Showing 31 changed files with 1,068 additions and 1,248 deletions.
64 changes: 64 additions & 0 deletions .github/workflows/jekyll.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@086ffb1a2090c870a3f881cc91ea83aa4243d408 # v1.161.0
with:
ruby-version: '3.1' # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 0 # Increment this number if you need to re-download cached gems
- name: Setup Pages
id: pages
uses: actions/configure-pages@v4
- name: Build with Jekyll
# Outputs to the './_site' directory by default
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v3

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@

.DS_Store
_site
.sass-cache
.jekyll-cache
.jekyll-metadata
vendor
Gemfile.lock
Empty file removed .nojekyll
Empty file.
26 changes: 26 additions & 0 deletions 404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
permalink: /404.html
layout: page
---

<style type="text/css" media="screen">
#error.container {
margin: 10px auto;
max-width: 600px;
text-align: center;
min-height: 55vh;
}
h1 {
margin: 30px 0;
font-size: 4em;
line-height: 1;
letter-spacing: -1px;
}
</style>

<div id="error" class="container">
<h1>404</h1>

<p><strong>Page not found :(</strong></p>
<p>The requested page could not be found.</p>
</div>
33 changes: 33 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
# gem "jekyll", "~> 4.3.4"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
end

# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data"
end

# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1", :platforms => [:mingw, :x64_mingw, :mswin]

# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
# do not have a Java counterpart.
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,25 @@
# norseiot.club
This repo is the official website of the Norse IoT Club. As a student-driven club, we believe in making it accessible for students to edit. Members of the club are encouraged to make changes to the site with the goal to improve our club's presence.

## Installing

norseiot.club is a Jekyll website hosted through GitHub Pages. To edit the site locally, you need [Jekyll](https://jekyllrb.com/docs/installation/) installed. With Jekyll installed, you can clone the site and edit it with a live preview.

```bash
git clone https://github.com/Norse-IoT/norse-iot.github.io.git
cd norse-iot.github.io
bundle install
```

For a live preview, run:
```bash
bundle exec jekyll serve
```

## Libraries
- Font Awesome 4, used under the SIL OFL 1.1 License https://fontawesome.com/v4/license/
- Bootstrap v5.1.3, used under the [MIT License](https://github.com/twbs/bootstrap/blob/main/LICENSE)
- Font Awesome 4, used under the [SIL OFL 1.1 License](https://fontawesome.com/v4/license/)
- Universal Smooth Scroll, used under the [MIT License](https://github.com/CristianDavideConte/universalSmoothScroll/blob/master/LICENSE)

## Credits
- Chris Brewer and Jonathan Makunga, for the initial site design.
Expand Down
54 changes: 54 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
#
# If you need help with YAML syntax, here are some quick references for you:
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
# https://learnxinyminutes.com/docs/yaml/
#
# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.

title: Norse IoT Club
email: [email protected]
description: >- # this means to ignore newlines until "baseurl:"
The Norse IoT club is focused on student-led research and projects concerning Internet of Things devices and applications. We hope to foster a community for students, faculty, alumni, and industry professionals who are enthusiastic about the opportunities IoT has to offer.
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: norseiot
github_username: norseiot

# Build settings
theme: minima
plugins:
- jekyll-feed

# Exclude from processing.
# The following items will not be processed, by default.
# Any item listed under the `exclude:` key here will be automatically added to
# the internal "default list".
#
# Excluded items can be processed by explicitly listing the directories or
# their entries' file path in the `include:` list.
#
exclude:
- .sass-cache/
- .jekyll-cache/
- gemfiles/
- Gemfile
- Gemfile.lock
- node_modules/
- vendor/bundle/
- vendor/cache/
- vendor/gems/
- vendor/ruby/
- README.md
31 changes: 31 additions & 0 deletions _includes/current-leadership.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<!-- Four columns of officers -->
<div class="row mt-5">
{%- include officer.html
name = "Zack Sargent"
position = "President"
img = "/images/president_sargent.avif"
email = "[email protected]"
bio = "Zack Sargent is the current President of the Norse IoT Club. At NKU, he studies Computer
Science. Zack also leads the Cybersecurity Training division of NKU's Cybersecurity club,
NKCyber. He is passionate about computers and cybersecurity, and has practical work
experience from GE and Fifth Third Bank."
-%}

{%- include officer.html
name = "Aaron Milner"
position = "Vice President"
img = "/images/vp_milner.avif"
email = "[email protected]"
bio = "Aaron Milner currently serves as Vice President of the club, and is a freshman studying in
the College of Informatics."
-%}

{%- include officer.html
name = "Samuel Lunnemann"
position = "Secretary"
img = "/images/sec_lunnemann.avif"
email = "[email protected]"
bio = "Samuel Lunnemann currently serves as Secretary of the club, and is a freshman studying in
the College of Informatics."
-%}
</div><!-- end .row -->
32 changes: 32 additions & 0 deletions _includes/footer.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<footer class="container">
<p id="end-block" class="float-end">
<span id="theme-container">
</span>
<a class="social" href="#top"><i class="fa fa-arrow-up"></i></a>

</p>
<p id="social-block">
<span class="item">&copy; <span id="year">2022-2024</span> Norse IoT Club</span>
· <a href="https://norseiot.club/bylaws" class="item">Club Bylaws</a>
· <a class="social item" target="_blank" href="https://github.com/norse-iot"><i
class="fa fa-github"></i></a>
· <a class="social item" target="_blank" href="https://instagram.com/norseiot"><i
class="fa fa-instagram"></i></a>
· <a class="social item" target="_blank" href="https://discord.gg/H5FjtpE3pH"><svg
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 127.14 96.36">
<g id="图层_2" data-name="图层 2">
<g id="Discord_Logos" data-name="Discord Logos">
<g id="Discord_Logo_-_Large_-_White" data-name="Discord Logo - Large - White">
<path
d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z" />
</g>
</g>
</g>
</svg></a>
· <a class="social item" target="_blank" href="https://www.linkedin.com/company/norse-iot/"><i
class="fa fa-linkedin"></i></a>
· <a class="social item" target="_blank"
href="https://nku.campusgroups.com/feeds?type=club&type_id=35576&tab=home"><img id="campusgroups"
style="height:28px;" src="/images/cg.avif" alt=""></a>
</p>
</footer>
8 changes: 8 additions & 0 deletions _includes/header-link.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

<li class="nav-item">
<a id="{{include.href | slugify}}" class="nav-link
{% if page.permalink == include.href %}
active
{%-endif-%}
" href="{{include.href}}">{{include.name}}</a>
</li>
46 changes: 46 additions & 0 deletions _includes/header.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<header id="header">
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="/#top">
{%include logo.html%}
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse"
aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav me-auto mb-2 mb-md-0">
{%- include header-link.html
href="/"
name = "Home"
-%}
{%- include header-link.html
href="/projects/"
name = "Project Showcase"
-%}
{%- include header-link.html
href="/officers/"
name = "Officers"
-%}
{%- include header-link.html
href="https://wiki.norseiot.club"
name = "Wiki"
-%}
<!--<li class="nav-item">
<a class="nav-link disabled">Disabled</a>
</li>-->
<!--
<li class="nav-item">
<a class="social-header" target="_blank" href="https://github.com/norse-iot"><i class="fa fa-github"></i></a>
<a class="social-header" target="_blank" href="https://instagram.com/norseiot"><i class="fa fa-instagram"></i></a>
<a class="social-header" target="_blank" href="https://twitter.com/norseiot"><i class="fa fa-twitter"></i></a>
<a class="social-header" target="_blank" href="https://www.linkedin.com/company/norse-iot/"><i class="fa fa-linkedin"></i></a>
</li>-->
</ul>
<form class="d-flex">
<a href="https://nku.campusgroups.com/IoT/club_signup" class="btn btn-warning">Join Now!</a>
</form>
</div>
</div>
</nav>
</header>
Loading

0 comments on commit 38cab15

Please sign in to comment.