Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Deploy docs to GitHub Pages

on:
push:
branches:
- main
pull_request:

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: docs/package-lock.json

- name: Install dependencies
run: npm ci
working-directory: docs

- name: Build website
run: npm run build
working-directory: docs

- name: Upload build artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/build

deploy:
name: Deploy to GitHub Pages
needs: build
if: github.ref == 'refs/heads/main'
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,20 @@ venv/
.pixi/
.venv-unit/
tools/

# Docs (Docusaurus)
docs/node_modules/
docs/build/
docs/.docusaurus/
docs/.cache-loader/
AGENT.md
AGENTS.md

# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
49 changes: 49 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Nebari Data Science Pack Documentation

This directory contains the [Docusaurus](https://docusaurus.io/) site for the Nebari Data Science pack. The site is written in TypeScript.

## Prerequisites

- Node.js `>= 20` (enforced by the `engines` field in `package.json`).
- npm (bundled with Node.js).

## Install

```bash
cd docs
npm install
```

## Local development

```bash
npm start
```

Starts the Docusaurus dev server with hot reload on http://localhost:3000/.

## Production build

```bash
npm run build
```

Emits static files to `docs/build/`. The search index is generated as part of the production build.

## Preview the production build

```bash
npm run serve
```

Serves the contents of `docs/build/` locally so you can verify the production output, including search.

## Type checking

```bash
npm run typecheck
```

## CI

The [`Docs` workflow](../.github/workflows/docs.yml) builds the site for every pull request and push to `main` that touches `docs/`.
10 changes: 10 additions & 0 deletions docs/docs/introduction.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Introduction
description: Documentation for the Nebari Data Science pack.
slug: /
sidebar_position: 1
last_update:
date: 2026-06-04
---

# Nebari Data Science Pack
119 changes: 119 additions & 0 deletions docs/docusaurus.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
import {themes as prismThemes} from 'prism-react-renderer';
import type {Config} from '@docusaurus/types';
import type * as Preset from '@docusaurus/preset-classic';

const lightCodeTheme = prismThemes.github;
const darkCodeTheme = prismThemes.dracula;

const config: Config = {
title: 'Nebari Data Science Pack',
tagline: 'Deploy JupyterHub with jhub-apps on Nebari',
favicon: 'img/favicon.ico',

future: {
v4: true,
},

url: 'https://nebari-dev.github.io',
baseUrl: '/nebari-data-science-pack/',

organizationName: 'nebari-dev',
projectName: 'nebari-data-science-pack',

onBrokenLinks: 'throw',

i18n: {
defaultLocale: 'en',
locales: ['en'],
},

markdown: {
mermaid: true,
},

themes: ['@docusaurus/theme-mermaid'],

plugins: [
[
require.resolve('@easyops-cn/docusaurus-search-local'),
{
indexBlog: false,
docsRouteBasePath: '/',
},
],
],

presets: [
[
'classic',
{
docs: {
routeBasePath: '/',
sidebarPath: './sidebars.ts',
sidebarCollapsible: true,
showLastUpdateTime: true,
editUrl:
'https://github.com/nebari-dev/nebari-data-science-pack/edit/main/docs/docs/',
},
blog: false,
theme: {
customCss: './src/css/custom.css',
},
} satisfies Preset.Options,
],
],

themeConfig: {
colorMode: {
defaultMode: 'light',
disableSwitch: false,
respectPrefersColorScheme: true,
},
docs: {
sidebar: {
hideable: true,
autoCollapseCategories: true,
},
},
navbar: {
title: 'Nebari Data Science Pack',
logo: {
alt: 'Nebari logo',
src: 'img/logo.svg',
},
items: [
{
href: 'https://github.com/nebari-dev/nebari-data-science-pack',
label: 'GitHub',
position: 'right',
},
],
},
footer: {
style: 'dark',
links: [
{
title: 'Source',
items: [
{
label: 'GitHub',
href: 'https://github.com/nebari-dev/nebari-data-science-pack',
},
{
label: 'Nebari',
href: 'https://nebari.dev',
},
],
},
],
copyright: `Copyright © ${new Date().getFullYear()} Nebari contributors.`,
},
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
additionalLanguages: ['bash', 'yaml', 'toml', 'python'],
},
} satisfies Preset.ThemeConfig,
};

export default config;
Loading
Loading