<commit_before># Express OpenID Connect Secured Jekyll

An example of securing a Jekyll powered website with Express using OpenID Connect.

## Usage requirements

- Node.js
- Ruby v2
- `gem install bundler`
- HTTPS is required for the `express-session` cookie, unless the `EXPRESS_INSECURE` environment variable is set to `"true"`.

## Usage quickstart

```
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/ritterim/express-openid-connect-secured-jekyll/master/install.rb)"
```

## Manual usage

- Copy **package.json** and **server.js** from this repository into the Jekyll site.
- Create **.env** in the Jekyll site using **.env.example** as a template.
- Add the following `exclude` items in the Jekyll site **_config.yml**:
  - **node_modules/**
  - **package.json**
  - **server.js**
- Add **node_modules/** to **.gitignore** if the target is a Git repository and it does not already contain this entry.
- Deploy the Jekyll blog as a Node.js application.

## Public URLs

Set the `PUBLIC_URLS` environment variable using a comma or semicolon delimited string.

- Specifying `/assets` will everything under that path.
- Matches are case insensitive.
- **NOTE: Specifying a url of `/` will make the entire site public.**
<commit_msg>Add Node.js version note<commit_after># Express OpenID Connect Secured Jekyll

An example of securing a Jekyll powered website with Express using OpenID Connect.

## Usage requirements

- Node.js (use v6 or later)
- Ruby v2
- `gem install bundler`
- HTTPS is required for the `express-session` cookie, unless the `EXPRESS_INSECURE` environment variable is set to `"true"`.

## Usage quickstart

```
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/ritterim/express-openid-connect-secured-jekyll/master/install.rb)"
```

## Manual usage

- Copy **package.json** and **server.js** from this repository into the Jekyll site.
- Create **.env** in the Jekyll site using **.env.example** as a template.
- Add the following `exclude` items in the Jekyll site **_config.yml**:
  - **node_modules/**
  - **package.json**
  - **server.js**
- Add **node_modules/** to **.gitignore** if the target is a Git repository and it does not already contain this entry.
- Deploy the Jekyll blog as a Node.js application.

## Public URLs

Set the `PUBLIC_URLS` environment variable using a comma or semicolon delimited string.

- Specifying `/assets` will everything under that path.
- Matches are case insensitive.
- **NOTE: Specifying a url of `/` will make the entire site public.**

{'fraction_non_alphanumeric': 0.11650099403578529, 'fraction_numerical': 0.0011928429423459245, 'mean_word_length': 4.062374245472837, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '436447', 'n_tokens_mistral': 779, 'n_tokens_neox': 742, 'n_words': 307}