Static homepage content for HackPrinceton. GitHub Pages is configured to
deploy this site out of the master
branch.
This repo uses Jekyll as its static site engine. Install Jekyll and the necessary plugins, as well as stylesheet dependencies, by running the following commands:
git submodule update --init --recursive
gem install bundler
bundle install
More detailed installation instructions are available on the Jekyll website.
To start a local server for the site, run this command:
bundle exec jekyll serve
This will start a development server at localhost:4000
. It will
automatically reload when you save changes, unless you modify _config.yml
,
in which case you must manually restart the server. In some cases, you may
also need to restart the server after modifying data files in _data
.
All Sass files are compiled automatically, so you do not need to manually
compile them into CSS. To add any new Sass files to the build, save it into
the _sass
directory and append an @import
entry to css/style.scss
.
Shared styles are imported via a Git submodule from the
styles repo.
There is a mini-api for use in bebo-mobile:
GET /api/pages.json
: Returns a list of pages and their urls. Each item in the list has atitle
andurl
key, and may have achildren
key, with a list of child items with the same schema described earlier (but no further children).
The current way the active page selection works, every page and subpage should
have unique names. This will prevent the accidental marking as activeof an item
for /guide
on /dayof/guide
, for example. Why this bug exists? Because, it
would seem, it is weirdly hard to do a simple startsWith
in Liquid templating:
https://stackoverflow.com/a/37026674
For HackPrinceton organizers, you can contribute to this site by adding and modifying pages as files. The page url is the same as the page filename, minus the extension. We use Markdown for the site--here is a reference if you need help getting started with the language.
Normally, the approval flow for page changes is the Github Flow. Making changes in this way is entirely possible in the browser, which the link above describes. A developer will verify that formatting is correct, but you will be responsible for finding someone to approve your content.
Alternatively, reach out to @casey-chow about getting a SiteLeaf account, which allows you to make changes from a nice GUI, but will make it more difficult on our end to approve your changes.
The content on this site is licensed under the Creative Commons Attribution- ShareAlike 4.0 International License. The source code is licensed under the MIT License.