Hi, Welcome to the contributing guide for the bugzilla.org website. We are very eager to take any and all contributions from you, and to aid you in successfully contributing to this codebase.
You can find the canonical git repository here: https://github.com/bugzilla/bugzilla.github.io/
This is a jekyll based website, using the Bugzilla theme.
We are available on various instant messaging platforms, as well as more traditional mailing list, use the links below to get in contact if you need or want to.
- Matrix: https://matrix.to/#/#bugzilla:mozilla.org
- IRC: https://web.libera.chat/#/#bugzilla
- Discord: https://discord.gg/ZhN6uBA
- Mailing Lists: https://lists.bugzilla.org/listinfo/developers
To submit changes for review, create a pull request on the site's GitHub, if your PR contains UI changes, please include a screenshot before and after, so that it's easier for us to review the changes.
Bugs in this repo need to be reported to the Mozilla Bugzilla under Bugzilla
product and bugzilla.org
component.
You can do so here: https://bugzilla.mozilla.org/enter_bug.cgi?component=bugzilla.org&product=Bugzilla
The link below lists all the currently reported bugs against the bugzilla.org
component on Mozilla Bugzilla.
https://bugzilla.mozilla.org/buglist.cgi?product=Bugzilla&resolution=---&component=bugzilla.org&list_id=16192324
Those bugs still need fixing and we would appreciate any pull requests fixing them.
You will need to install git
, ruby
, gem
and bundler
first, then, to gather the remaining dependencies, run:
git clone https://github.com/bugzilla/bugzilla.github.io
cd bugzilla.github.io
bundle config set path 'vendor/bundle'
bundle install
To build the site, run
bundle exec jekyll build
To serve the site on your local machine, run:
bundle exec jekyll serve
and visit http://127.0.0.1:4000/ to see it in your browser
Various parts of this site are stored as data used for generation of pages. This section of the guide explains how to update those.
Pages for the blog are stored under _posts
directory.
To create a new post, create a file called yyyy-mm-dd-kebab-case-title.md
, replacing the parts to fit the contents, and fill it out as lined out below:
---
title: Title of the post
date: 2022-08-28
author: justdave # Nickname from _developers, or don't include author line at all to make it display "Bugzilla Developers" instead
categories:
- Releases
- Security
---
The post content in __Markdown__
Pages for the release information are stored under _releases
directory.
To create a new release, create a file called x.y.z.html
, replacing the parts to fit the contents, and fill it out as lined out below:
---
version: # Release tag name in vcs
branch: # Branch in the vcs
date: # Date of release tag in vcs
advisory:
- version: # Version in the branch for which the advisory was released
url: # Filename version for advisory in _security
mode: # {trunk,current,old} currently maintained branch (remove the line from the unmaintained releases!)
rc: # {True,False} You can also just remove the line when unused
---
Contents of the Release Notes
Pages for the security advisories are stored under _security
directory.
To create a new release, create a file called x.y.z.md
, replacing the parts to fit the contents, and fill it out as lined out below:
---
title: "x.x.x, y.y.y and zzz Security Advisory" # vulnerable versions
versions: ["x.x.x+1", "y.y.y+1", "z.z.z+1"] # array of fixed versions
date: yyyy-mm-dd
bugs:
- summary: |-
A short summary
class: Type of a security vulnerability
affected: Bugzilla x.x.x, y.y.y and zzz
fixed-in: x.x.x+1, y.y.y+1 and zzz+1
description: |-
A long description
references: https://bugzilla.mozilla.org/show_bug.cgi?id=xxx
cve: CVE-yyyy-xxxx
reported-by: Reporter
fixed-by: Fixer
---
Pages for the developer profiles are stored under _developers
directory.
---
nickname: # Nickname
firstname: # First name
lastname: # Last name
image: # File located under /assets/img/developers/
irc: # IRC nickname
location: # City, State (if applicable), Country
dayjob: # Current dayjob
role: # Role within Bugzilla
former: # Shows up to note that they are no longer doing their function and labels them as former developers
---
Installation list is stored in _data/installation-list.csv
.
"name","orgurl","bzurl","cat","logo"
"Organization Name","URL for the main page of the organization","URL for the Bugzilla of the organization","Optional category","Optional logo to show up on the homepage (_includes/free-software-logos/*.svg)"
Social media and contact list is stored in _data/socials.csv
.
"name","icon","url"
"Name of the social media","Icon for the social media (_includes/icons/)","URL for the social media"
Navigation is stored in _data/nav.yml
.
- link: # URL for the page
title: # Display more info on hover
name: # Display name
links: # An array of subitems
- link: # URL for the subitem
title: # Display more info on hover on the subitem
name: # Display name for the subitem