Skip to content
Merged
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
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
# SCM syntax highlighting
pixi.lock linguist-language=YAML linguist-generated=true

# Generated by utils/compare_pkg_completeness.py. Pinning to LF keeps a local
# run on Windows from rewriting every line against what CI generates on Linux.
public/data/*.json text eol=lf linguist-generated=true
11 changes: 11 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,22 @@ on:
branches:
- master
- main
pull_request:
workflow_run:
workflows: ["Update distro tables"]
types: [completed]
jobs:
# PRs only build and lint; deploying stays a default-branch affair.
build:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: prefix-dev/setup-pixi@v0.10.0
- run: pixi run lint
- run: pixi run build-docs
deploy:
if: github.event_name != 'pull_request'
runs-on: ubuntu-latest
# `ghp-import -p` pushes the built site to the gh-pages branch
permissions:
Expand Down
22 changes: 8 additions & 14 deletions .github/workflows/update-package-table.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,11 @@ jobs:
- name: Checkout robostack.github.io
uses: actions/checkout@v4
- uses: prefix-dev/setup-pixi@v0.10.0
# foxy and galactic are end-of-life; public/data/{foxy,galactic}.json are
# committed snapshots and deliberately not regenerated here.
- name: Create table noetic
run: |
pixi run compare-completeness noetic robostack-noetic
# - name: Create table foxy
# run: |
# pixi run compare-completeness foxy robostack
# - name: Create table galactic
# run: |
# pixi run compare-completeness galactic robostack-experimental
- name: Create table humble
run: |
pixi run compare-completeness humble robostack-humble
Expand All @@ -42,14 +38,12 @@ jobs:
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add docs/noetic.md
git add docs/foxy.md
git add docs/galactic.md
git add docs/humble.md
git add docs/jazzy.md
git add docs/kilted.md
git add docs/rolling.md
git add docs/lyrical.md
git add public/data/noetic.json
git add public/data/humble.json
git add public/data/jazzy.json
git add public/data/kilted.json
git add public/data/rolling.json
git add public/data/lyrical.json
git commit -m "Update tables"
continue-on-error: true
- name: Push changes
Expand Down
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
site
# Local design prototype (contains proprietary fonts, not meant to be published)
RoboStack Website/

# pixi environments
.pixi
*.egg-info

# astro
node_modules
dist
.astro
20 changes: 18 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,25 @@
# robostack.github.io

Source files for the [robostack.github.io](https://robostack.github.io/) documentation website.
Source files for the [robostack.github.io](https://robostack.github.io/) website.

The site is built with [Astro](https://astro.build/) and
[Starlight](https://starlight.astro.build/) and has three sections, linked from
the common header:

- the frontpage - `src/pages/index.astro`, composed from the components in
`src/components/home/`
- the package pages - one per distro, generated by `src/pages/[distro].astro`
from `src/data/distros.ts`; the tables render in the browser from
`public/data/<distro>.json`
- the documentation - the Markdown files in `src/content/docs/`

The header is Starlight's own, with the wordmark supplied by the
`src/components/SiteTitle.astro` override; the logo links to the frontpage.

# Run it locally

```
pixi run serve
```
Open server on http://127.0.0.1:8000/

Open server on http://localhost:4321/
50 changes: 50 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// @ts-check
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';

export default defineConfig({
site: 'https://robostack.github.io',
// Published URLs are `GettingStarted.html`, not `GettingStarted/`. Don't change this.
build: { format: 'file' },
integrations: [
starlight({
title: 'RoboStack',
description:
'Run any ROS distro in an isolated, per-project environment. On Linux, macOS and Windows.',
favicon: '/favicon.svg',
social: [
{
icon: 'github',
label: 'GitHub',
href: 'https://github.com/RoboStack/robostack.github.io',
},
{ icon: 'discord', label: 'Discord', href: 'https://discord.gg/kKV8ZxyzY4' },
],
editLink: {
baseUrl: 'https://github.com/RoboStack/robostack.github.io/edit/master/',
},
customCss: ['./src/styles/custom.css'],
components: {
SiteTitle: './src/components/SiteTitle.astro',
PageTitle: './src/components/PageTitle.astro',
},
sidebar: [
// Slugs are set explicitly in each page's frontmatter to keep the
// published mixed-case URLs (`GettingStarted.html`, `FAQ.html`, ...).
{ label: 'Getting Started', slug: 'GettingStarted' },
{
label: 'Alternative to Pixi',
items: [
{ label: 'Micromamba', slug: 'micromamba' },
{ label: 'Conda', slug: 'conda' },
],
},
{ label: 'Packages', link: '/lyrical.html' },
{ label: 'JupyterRos', slug: 'JupyterRos' },
{ label: 'Support', slug: 'support' },
{ label: 'Contributing', slug: 'Contributing' },
{ label: 'FAQ', slug: 'FAQ' },
],
}),
],
});
Loading
Loading