Most recent build can be seen on the staging server
Content can be uploaded to the admin panel
Code for Chicago is developing a new website for Cannabis Equity Illinois Coalition
Design System on Figma
Design Working File on Figma
Site layout on Google Docs
This project is being developed with Jekyll/Forestry and uses HTML, SCSS, Markdown and Liquid.
Dependency
We're using Jekyll Picture Tag to generate responsive images. It needs libvips, on Linux sudo apt install libvips-dev
.
- Get Jekyll running on your local machine by following their guide
- Make sure you have your ssh key setup
- Clone this repository
git clone [email protected]:Code-For-Chicago/ceic-jekyll.git
- cd into the directory
cd ceic-jekyll
- Install dependencies with
bundle install
- Start the local server with
bundle exec jekyll serve
- check site at http://localhost:4000/
- to use live reload
bundle exec jekyll serve -l
(changes to _config.yml require a manual restart)
If you are new to Jekyll(I was) they have an excellent Step by Step Tutorial. I strongly recommend going through it, it took me a couple hours and was well worth it. We use their structure as a guide for this project.
Thank you for joining up and helping us develop this site for an amazing non-profit!
We have few coding and workflow conventions we ask all contributors to follow, in order to maintain a clean, well documented code base. This site could be a nice portfolio piece that some devs may use during job search etc. Please read through them and feel free to discuss if you have any suggestions on how to improve them.
It's not the end of world of course, we can always revert the commit, but the workflow I use is:
- create a new branch with a meaningful name
git branch amazing-feature
- switch to it with
git switch amazing-feature
- do your amazing work in the new branch with meaningful commits
git add .
andgit commit -m 'added excellent api connection for amazing feature'
- check if master has diverged
git pull origin master
, merge it backgit merge master
and deal with any conflicts - push the branch to the repo
git push -u origin amazing-feature
and make a pull request - One other developer should look over the changes and approve or suggest changes
If you see a merge request and want to approve it:
- pull the branch and test it to make sure it doesn't break the build and all the new code works as intended
- do a code review and suggest changes if needed
- approve the merge request after any needed changes are resolved
After merging delete the branch git branch -d amazing-feature
to keep our repo pruned, new features can go in new well named branches
We don't do big formal reviews, but productive discussions between developers is encouraged especially when merging. Please give and receive suggestions with grace. It is not personal, we have all written good and bad code at times and another person's eye can sometimes see what we missed.
Please use two spaces when indenting.
YAML forbids tabs and Jekyll really likes YAML (tbh, I like tabs, but I prefer consistency)
We should make a choice for consistency. If a majority prefer 4, we can change. I just chose 2, cause I find 4 makes for very long lines ¯\_(ツ)_/¯
Well documented code (and readmes :) helps with maintenance and getting new developers (and sometimes future you) up to speed quickly and pleasantly. Assume the reader can program and has read the Step by Step Tutorial, but is a recent graduate and new to the project.
- make sure all dependencies are clearly documented
- test that all steps work on a clean environment (like say a fresh Ubuntu install)
Please try to keep the names of classes, images etc. in a consistent format.
We'd like to keep all the code in master branch as close to production as possible. Feel free to keep a personal branch(s) to play around in when testing etc. When you are ready: create a new branch, write only the code needed, test it, document it, make meaningful commits and then make a merge request.
Complete the first issue. Yes it's silly, but it lets a new dev test out the whole dev flow and all the tech works.
Look through the issues, and assign one to yourself. Or create an issue if you see something else that needs fixing.