HTML JavaScript Roff CSS Shell Makefile
Latest commit 77f947e Feb 20, 2017 @pronebird pronebird committed with hacksparrow Update app.param example (#784)
Update example to continue route lookup on param validation failure to line up with default router paths behavior. Consider `route.get('/users/:id(\d+)', ...)` which when called as `/users/abc` wouldn't result in 403.
Permalink
Failed to load latest commit information.
2x 3.x warning Sep 7, 2015
_includes Update app.param example (#784) Feb 20, 2017
_layouts Change page layout to fix build Dec 15, 2016
css reduced navigation bar's css top value for tablet and mobile view (#786) Feb 15, 2017
de Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
en Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
es Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
fonts init jekyll Feb 8, 2015
fr Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
images add node interactive section Nov 23, 2016
it Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
ja Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
js Improve documentation menu (#745) Jan 9, 2017
ko Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
pt-br Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
ru Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
sk Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
uk Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
uz Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
zh-cn Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
zh-tw Generator page (all languages): Changed 2nd example to use Pug and ex… Feb 14, 2017
.gitignore Update .gitignore Aug 11, 2016
CNAME init jekyll Feb 8, 2015
CONTRIBUTING.md Add license file and update footers Jun 30, 2016
Gemfile Change page layout to fix build Dec 15, 2016
LICENSE.md Update LICENSE.md Jul 5, 2016
README.md Follow standard style Oct 6, 2016
_config.yml Change page layout to fix build Dec 15, 2016
get-readmes.sh Final cleanup of docs for middleware and util modules Aug 17, 2016
index.md update changelog link Feb 6, 2017
package.json Add eslint Oct 6, 2016

README.md

expressjs.com

This is the repository of the website expressjs.com. It is hosted directly from the repository as a GitHub Pages website.

Local Setup

To preview the website locally:

  1. Install Ruby and Bundler if you don't have them already.

  2. Install the jekyll-redirect-from gem:

$ gem install jekyll-redirect-from
  1. cd to the repository directory and run the following command:
$ cd expressjs.com
$ bundle install

Bundler will look in the Gemfile for which gems to install. The github-pages gem includes the same version of Jekyll and other dependencies as used by GitHub Pages, so that your local setup mirrors GitHub Pages as closely as possible.

Run Jekyll using the following command:

$ bundle exec jekyll serve

Then, load http://localhost:4000/ on your browser.

Formatting

Jekyll uses a variant of Markdown known as Kramdown.

Jekyll uses the Liquid template engine for templating.

You can use http://kramdown.gettalong.org/parser/gfm.html fenced code blocks for JavaScript; for example:

var express = require('express')
var app = express()
app.listen(3000)

The default GitHub Pages syntax highlighting has been disabled in `_config.yml to allow highlighting with prism.js.

Contributing

Feel free to make changes to the template files or the document files. The supporting docs are located in their respective directories, and the API docs are located under the _includes directory.

Please see the Contributors' Guide for more information on contributing to the documentation, including information on contributing translations.

Why use Jekyll instead of an Express-based solution?

Jekyll comes built-in with GitHub Pages. Since we are already using GitHub Pages to host the website, it makes sense to leverage the capabilities it provides. It's all about using the right tool, for the right job, under the right circumstances.