WLJS LogoWLJS Notebook

Deploy to GitHub Pages

You can host your interactive notebook on GitHub Pages, allowing everyone to view it, interact with sliders, and import the original notebook with a single click.

Exporting

We assume you have exported your notebook to a standalone HTML file:

Share
HTML File

Exported notebooks do not require any build process — only hosting

Publishing

This process involves creating a repository, uploading your .html documents, and setting up GitHub Pages. Follow these steps:

  1. Create a public repository. If you have git installed, run git init and add your HTML documents. You can organize them into folders and create navigation links using Markdown or HTML cells.

Using GitHub Pages

  1. Open the repository Settings, navigate to Code and automation, and locate Pages.

Using GitHub Actions

Alternatively, you can use GitHub Actions and explicitly select Pages and Static HTML.

Here is a sample configuration file that serves static pages from the build folder and the main branch of the repository:

# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

on:
  # Runs on pushes targeting the default branch
  push:
    branches: ["main"]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
  contents: read
  pages: write
  id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
  group: "pages"
  cancel-in-progress: false

jobs:
  # Single deploy job since we're just deploying
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Setup Pages
        uses: actions/configure-pages@v3
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v1
        with:
          # Upload entire repository
          path: 'build'
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v2

Alternative Hosting Options

There are plenty of alternatives. Search for static HTML hosting.

  • Wasmer
  • Cloudflare
  • Some quick file-sharing services render HTML files by default

On this page