This repository is a collection of pages and data files that are used by Github Pages to build a jekyll
site for KnoxDevs based on a template developed by mmistakes.
The _data
clusters and images for the corresponding clusters have been moved to a separate repository that is maintained separately for the KnoxDevs Directory and the Directory Images. You will have to add the remotes upon cloning as described in the directions below.
Check out the Contributing Guide.
Note that if you want to add information about yourself as a blogger or organizer (or wish to add other information to the directory, such as information about a conference), head over to the directory repository.
TL;DR
- fork and clone the github repo
- Add the subtrees to the KnoxDevs Directory and KnoxDevs Directory Media repositories with the following commands:
git remote add -f directory https://github.com/KnoxDevs/directory.git
git merge -s ours --no-commit --allow-unrelated-histories directory/master
git pull -s subtree -Xsubtree=_data directory master
git remote add -f directory_images https://github.com/KnoxDevs/directory_images.git
git merge -s ours --no-commit --allow-unrelated-histories directory_images/master
git pull -s subtree -Xsubtree=assets/cluster_images directory_images master
- add your contribution to a new branch named
<username>/<feature-name>
- install jekyll OR run a one liner Docker command and skip to 5.
- install jekyll ruby dependencies using
bundle install
- serve locally
bundle exec jekyll serve
- install jekyll ruby dependencies using
- check that your addition is served properly
- submit a PR where the two or so files you are changing can easily be seen. Some tips for good PRs are in that guide
- profit.
Submit an Issue above. As we get better at managing this repo, that's where feature requests can be handled.
Here's the general structure:
.
├── _config.yml
├── _data/ **actually a subtree of the KnoxDevs Directory**
├── _layouts/
├── _pages/
├── .forestry/
├── .migrations/
├── assets/
├── cluster_images/ **actually a subtree of the KnoxDevs Directory Images**
├── icons/
└── images/
└── index.md
By using remote_theme
in _config.yml
, we avoid cluttering this repository with an _includes
, _sass
, and javascript and css files. The objective was to keep the repository as simple as possible and use the chosen theme directly. If more customization is needed, all of theme elements from mmistakes can be incorporated if desired.
This folder contains all of the clusters (stored in .yml
files) associated with bloggers, groups, organizers, and much more. This folder is actually a subtree from a separate repository. If you want to make a change to one of the cluster subsets, please do so at the KnoxDevs Directory repository.
This folder only contains the default.html template where some customizations were made for the cards used predominately throughout the website. The minimal-mistakes theme uses much more layouts than that, but again, the remote theme is referenced every time Github rebuilds the website on a new push.
This folder contains the markdown files used for each page. These markdown files also contain a mix of html
and liquid
tags to acheive the customization desired (mainly for the cards). This website has four (plus the home page which is at the top-level index.md
). This may change as new features / or new decisions are implemented.
Forestry.io is a CMS for static site builders. Much of the customization that can be done via straight code and pull requests can be done somewhat GUI style through this CMS. A Forestry account has been set up for this website and via this CMS, pull requests are automatically accepted. This feature may be removed if desired.
Previously, the knoxdevs.com website used json
files to represent data like bloggers. This is a folder that is completely unnecessary to the function of the website, but contains the python
files used to convert the old json
file to many .yml
files, 1 for each blogger. At the time, this made more since than a separate repository for the work, at the cost of a few more bytes having to be cloned...
.
├── assets/
├── cluster_images/
├── icons/
└── images/
This folder contains all of the images (and potentially javascript files for future extension of this website) used by the website for logos, icons, and headshots. There is a subfolder labeled cluster_images
that is actually a subtree of a separate repository. Go to the KnoxDevs Directory Images repository to see the inner ordering structure that mirrors the _data
folder.
Icons and images related to sponsors and the main page header
Note that this folder does not have a _
preceding the name. This folder is publically accessible from the website.
This folder is an idea for the future to provide an api where one could easily queue all of the data stored in this repo in a developer friendly way. It is imagined that a travis.ci
build tool could rebuild a combined .yml
or .json
file each time a push to master
is done.