-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Jekyll to site #60
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really hyped for this change overall! Noticing some build issues and had a few nits; otherwise lgtm 👍
# image is located at `/assets/images/speakers` | ||
# note: the first speaker must have active: true | ||
|
||
- name: Amy Nelson |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Love me some YAML 😍
Closing this PR since it can't cleanly sit on top of master. I'm making a new branch called |
Note: we could merge this after the Summit
What
Jekyll is a light framework that allows you to extract repeated html to individual files and separate an element's data from its html. I've added Jekyll to the site, note that its not too big of a change. It mostly means I've changed our folder structure and extracted repeated parts of pages to individual files.
Why
Changes
node_modules/
and package.json -> replaced withGemfile
and_config.yml
jekyll serve
- files are auto compressed and SASS auto generated with hot reloadingBelow are the folders than contain the majority of the site's content and their use:
_data/
Speakers, team members, and nav items are represented as lists in
_data/
. That way don't have to repeat or edit html elements when modifying these entities, we just change the actual data and render each element like so:_includes/
HTML elements that persist across the entire site like the navbar, footer, and head tags are kept as individual files in
_includes/
and "included" into_layouts/main.html
. That way, editing every footer across the site means editing just a single file:/_includes/footer.html
.pages/
As shown in the section above,
{{ content }}
is the page specific html which remains the same as before. For example inpages/coalition.html
, the file is prefixed with:This means when the user goes to
impactlabs.io/coalition
then the content inpages/coalition.html
will be inserted in the place of{{ content }}
in_layouts/main.html
.Setup
bundle install
jekyll serve
Layout
TODO
Jekyll
works for everyone