This repository contains the source files for the Prebid.js documentation site at Prebid.org.
Please see the sections below for more information:
Thanks in advance for your contribution!
For smaller changes, such as fixing a typo or adding a new section to an existing page, submit a pull request.
For larger changes such as reorganizing the site and moving/removing content, you may want to open an issue so we can discuss the work beforehand. This is a good idea because:
- We want to value your time, so you don't do unnecessary work
- We want to value our users' time; we don't want to break links and bookmarks for users
All docs are under the license shown in the LICENSE
file in this directory.
The site is hosted on GitHub pages, and uses Jekyll to generate the HTML. Jekyll is written in the Ruby language.
- follow the instructions at jekyllrb.com/docs/installation/ for your OS
- gem install github-pages
- start Jekyll as described below
For CSS, the site uses Laravel Mix to build CSS from Sass (scss-flavored) source files. Under the hood Laravel Mix uses Webpack.
- follow the instructions at /nodejs.dev to install Node.js for your OS
npm ci
to install packages for building assets- build assets as described below
The markdown files are linted via markdownlint-cli. VSCode supports the .markdownlintignore file. You may need to configure the disabled rules specified in .markdownlint.json directly in your project settings. You can invoke linting in CLI via
markdownlint --config .markdownlint.json --ignore-path .markdownlintignore "**/*.md"
Before submitting a pull request, you should run the site locally to make sure your edits actually work.
To get started editing the site and seeing your changes, clone this repo and enter the following commands in your terminal:
JEKYLL_ENV=production bundle exec jekyll serve --watch --incremental
You should see output that looks something like this:
Configuration file: /Users/me/git/prebid.github.io/_config.yml
Source: /Users/me/git/prebid.github.io
Destination: /Users/me/git/prebid.github.io/_site
Incremental build: disabled. Enable with --incremental
Generating...
done in 13.596 seconds.
Auto-regeneration: enabled for '/Users/me/git/prebid.github.io'
Configuration file: /Users/me/git/prebid.github.io/_config.yml
Server address: http://127.0.0.1:8080/
Server running... press ctrl-c to stop.
...
...
Open the Server address
URL in your browser, and you should see a locally running copy of the site.
npm run dev
to build unminified CSS for developmentnpm run prod
to build minified CSS for productionnpm run watch
to use Browsersync to rebuild CSS on demand and reload the browser
Please don't submit PRs to the Prebid.org downloads page. That page gets updated in tandem with the Prebid.js release process.
The Downloads page is generated from the Markdown bidder adapter docs, so the process for updating is:
- Your adapter code is merged into Prebid.js
- Your bidder docs PR is submitted over here to the docs site
- Your adapter code is included with a release
- Once your adapter code is actually released, we merge the adapter docs PR, and the Downloads page is automagically updated with a checkbox to include your adapter.
This means an adaptor is not available to download from Prebid.org as soon as the code gets merged into Prebid.js - it will be available after the next release (usually in a couple of weeks).
Many thanks to the following people who have submitted content to Prebid.org. We really appreciate the help!