How the Site Manual works
The WILL Site Manual was designed and written for three distinct audiences: Content creators, Project or website section owners, and site managers (including developers and designers). The Site Managers section contains documentation on how the site was built in the CMS. A deep understanding of the site architecture can be attained by studying this site manual, along with the user guide for ExpressionEngine.
This site manual is hosted as a repository on GitHub, and served as a project of the GitHub organization willpublicmedia. It uses Jekyll to create pages, which makes it easy to use includes for page elements like navigation and the footer. GitHub works natively with Jekyll on the server-side, so you don't need to install anything locally other than git.
As further development is done with the WILL website, please keep the Site Manual up to date.
Here are the basic commands to update the Site Manual via git and GitHub.
The Master branch is of course Master, but the sitemanual is served to the web via the branch gh-pages. For the skinny on how this works see https://help.github.com/articles/user-organization-and-project-pages/
So gh-pages serves the sitemanual but I prefer to update the Master branch and then push those changes to gh-pages. Once Master is up to date, this command pushes Master to gh-pages
Assuming you have cloned the Master branch to a local directory, you can simply edit the files using your favorite text editor and save them locally. Here are the basic commands to update the local git repository and then push them to the Master branch on GitHub:
git status (optional, it just shows if anything in the local repository has been changed)git add -A (adds all changes to the local git and make them ready to commit)git commit -m "comment about whatever was changed" (creates a new version instance, along with a comment on what changed)git push origin master (pushes the changes to the Master branch on GitHub) Finally, since the Master branch doesn't actually serve the sitemanual we need to do this: git push origin master:gh-pages. That pushes the changes made to the Master branch to the gh-pages branch which serves the actual pages.
All pages are your basic html files. Edit existing pages or create new pages using whatever tool you like. Each page contains three simple includes.
This is one of the great things about using Jekyll: You can use includes inside static html pages without running any scripting language like PHP.
The includes in each page are:
include head.htmlinclude nav.htmlinclude footer.htmlAll includes are contained in the folder _includes. Just open the file to see where they fit.
The top navigation is contained in the nav.html. If adding a new page, make sure to add a link to it in the nav.
In-page navigation is contained in a sidebar which also enables sharing of links to specific sections. Each page has its own unique side navigation since its content is unique to that page. When adding a new section to any page, add a link to it in the side navigation.
This file contains some important variables used by Jekyll. This should never need to be edited, it's just there.