We welcome contributions from any current or former UC Berkeley course staff or instructors by submitting a pull request and requesting a review from any of our [maintainers]({% link about.md }) If you're not sure what to work on or would like to submit a bug report, see our open GitHub issues.
See README.md
Don't reinvent the wheel! Many features come out-of-the-box since this website uses the just-the-docs Jekyll theme. If you want to have things like callouts, tables of contents, etc. check their documentation first.
When creating a new page, make sure that it goes in the appropriate category.
Page titles should match their file names, which will also be used as the slug
for the page. For example, if your page is titled "A New Page Title," your
Markdown file should be named a-new-page-title.md so that the slug for that
page is /a-new-page-title. Be aware that renaming titles and files
will break existing downstream links and having consistency is useful for organization!
Liquid is a template language. Liquid tags look like {% tag_name ... %} and you can read more about how they work with Jekyll here.
Some tags you may find useful:
We use GitHub Actions for continuous integration status checks, such as running web accessiblity tests and code style checks/linters/autoformatters.
Most of the linters in .github/workflows/linters.yml are powered by reviewdog.
Run bundle exec rubocop to run Rubocop. To autocorrect certain errors, run bundle exec rubocop --autocorrect.
To run web accessibility tests, run bundle exec rspec.