Skip to content

Commit d4116a4

Browse files
committed
Add astro docs website
0 parents  commit d4116a4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+14671
-0
lines changed

.github/workflows/deploy.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
# Trigger the workflow every time you push to the `main` branch
5+
push:
6+
branches: [ main ]
7+
# Allows you to run this workflow manually from the Actions tab on GitHub.
8+
workflow_dispatch:
9+
10+
# Allow this job to clone the repo and create a page deployment
11+
permissions:
12+
contents: read
13+
pages: write
14+
id-token: write
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout your repository using git
21+
uses: actions/checkout@v4
22+
23+
- name: Setup Node.js
24+
uses: actions/setup-node@v4
25+
with:
26+
node-version: '20'
27+
cache: 'npm'
28+
29+
- name: Install dependencies
30+
run: npm ci
31+
32+
- name: Build Astro site
33+
run: npm run build
34+
35+
- name: Upload artifact
36+
uses: actions/upload-pages-artifact@v3
37+
with:
38+
path: ./dist
39+
40+
deploy:
41+
needs: build
42+
runs-on: ubuntu-latest
43+
environment:
44+
name: github-pages
45+
url: ${{ steps.deployment.outputs.page_url }}
46+
steps:
47+
- name: Deploy to GitHub Pages
48+
id: deployment
49+
uses: actions/deploy-pages@v4
50+

.gitignore

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# build output
2+
dist/
3+
# generated types
4+
.astro/
5+
6+
# dependencies
7+
node_modules/
8+
9+
# logs
10+
npm-debug.log*
11+
yarn-debug.log*
12+
yarn-error.log*
13+
pnpm-debug.log*
14+
15+
16+
# environment variables
17+
.env
18+
.env.production
19+
20+
# macOS-specific files
21+
.DS_Store

.vscode/extensions.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"recommendations": ["astro-build.astro-vscode"],
3+
"unwantedRecommendations": []
4+
}

.vscode/launch.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"command": "./node_modules/.bin/astro dev",
6+
"name": "Development server",
7+
"request": "launch",
8+
"type": "node-terminal"
9+
}
10+
]
11+
}

README.md

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# llms.py Documentation
2+
3+
[![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build)
4+
5+
Official documentation website for [llms.py](https://github.com/ServiceStack/llms) - a lightweight OpenAI compatible CLI and server gateway for multiple LLMs.
6+
7+
## About llms.py
8+
9+
llms.py is a super lightweight CLI tool and OpenAI-compatible server that acts as a configurable gateway over multiple Large Language Model (LLM) providers. It supports text, image, and audio generation, allowing you to seamlessly mix and match local models with premium cloud LLMs.
10+
11+
## 📚 Documentation Structure
12+
13+
The documentation is organized into four main sections:
14+
15+
### Getting Started
16+
- Installation
17+
- Quick Start
18+
- API Keys
19+
- Configuration
20+
21+
### Features
22+
- Web UI
23+
- Multi-Modal Support
24+
- Server Mode
25+
- Analytics & Metrics
26+
27+
### Guides
28+
- CLI Usage
29+
- Use Cases
30+
- Docker Deployment
31+
- GitHub OAuth Setup
32+
- Troubleshooting
33+
34+
### Reference
35+
- Providers
36+
- API Reference
37+
- Changelog
38+
39+
## 🚀 Project Structure
40+
41+
```
42+
.
43+
├── docs/ # Original markdown files
44+
├── src/
45+
│ └── content/
46+
│ └── docs/
47+
│ ├── index.mdx # Home page
48+
│ ├── getting-started/
49+
│ ├── features/
50+
│ ├── guides/
51+
│ └── reference/
52+
├── astro.config.mjs # Starlight configuration
53+
└── CONVERSION_SUMMARY.md # Detailed conversion notes
54+
```
55+
56+
## 🧞 Commands
57+
58+
All commands are run from the root of the project, from a terminal:
59+
60+
| Command | Action |
61+
| :------------------------ | :----------------------------------------------- |
62+
| `npm install` | Installs dependencies |
63+
| `npm run dev` | Starts local dev server at `localhost:4321` |
64+
| `npm run build` | Build your production site to `./dist/` |
65+
| `npm run preview` | Preview your build locally, before deploying |
66+
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
67+
| `npm run astro -- --help` | Get help using the Astro CLI |
68+
69+
## 🚀 Deployment
70+
71+
This site is automatically deployed to GitHub Pages when changes are pushed to the `main` branch.
72+
73+
### Initial Setup
74+
75+
To enable GitHub Pages deployment for the first time:
76+
77+
1. Go to your repository settings on GitHub
78+
2. Navigate to **Settings****Pages**
79+
3. Under **Source**, select **GitHub Actions**
80+
4. Push to the `main` branch or manually trigger the workflow from the **Actions** tab
81+
82+
The site will be deployed to `https://llmspy.org` (or your configured custom domain).
83+
84+
### Manual Deployment
85+
86+
You can also manually trigger a deployment:
87+
1. Go to the **Actions** tab in your GitHub repository
88+
2. Select the **Deploy to GitHub Pages** workflow
89+
3. Click **Run workflow**
90+
91+
## 📝 Content Sources
92+
93+
The documentation was converted from three original markdown files:
94+
- `docs/intro.md` - Introduction and overview
95+
- `docs/guide.md` - Comprehensive usage guide
96+
- `docs/ui.md` - Web UI documentation
97+
98+
These were reorganized into 18 focused documentation pages for better navigation and discoverability.
99+
100+
## 🔗 Links
101+
102+
- **llms.py GitHub**: [github.com/ServiceStack/llms](https://github.com/ServiceStack/llms)
103+
- **PyPI Package**: [pypi.org/project/llms-py](https://pypi.org/project/llms-py/)
104+
- **Starlight Docs**: [starlight.astro.build](https://starlight.astro.build/)
105+
106+
## 📄 License
107+
108+
Documentation content is licensed under the same license as llms.py.
109+
110+
## 👀 Want to learn more?
111+
112+
Check out [Starlight’s docs](https://starlight.astro.build/), read [the Astro documentation](https://docs.astro.build), or jump into the [Astro Discord server](https://astro.build/chat).

astro.config.mjs

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
// @ts-check
2+
import { defineConfig } from 'astro/config';
3+
import starlight from '@astrojs/starlight';
4+
import react from '@astrojs/react';
5+
6+
// https://astro.build/config
7+
export default defineConfig({
8+
site: 'https://llmspy.org',
9+
integrations: [
10+
react(),
11+
starlight({
12+
title: 'llms.py',
13+
logo: {
14+
src: './src/assets/logo.svg',
15+
alt: 'llms.py logo'
16+
},
17+
social: [
18+
{ icon: 'github', label: 'GitHub', href: 'https://github.com/ServiceStack/llms' }
19+
],
20+
customCss: [
21+
'./src/styles/custom.css',
22+
],
23+
components: {
24+
Header: './src/components/Header.astro',
25+
Footer: './src/components/Footer.astro',
26+
},
27+
sidebar: [
28+
{
29+
label: 'Getting Started',
30+
items: [
31+
{ label: 'Installation', slug: 'getting-started/installation' },
32+
{ label: 'Quick Start', slug: 'getting-started/quick-start' },
33+
{ label: 'API Keys', slug: 'getting-started/api-keys' },
34+
{ label: 'Configuration', slug: 'getting-started/configuration' },
35+
],
36+
},
37+
{
38+
label: 'Features',
39+
items: [
40+
{ label: 'Web UI', slug: 'features/web-ui' },
41+
{ label: 'Server Mode', slug: 'features/server-mode' },
42+
{ label: 'Analytics & Metrics', slug: 'features/analytics' },
43+
],
44+
},
45+
{
46+
label: 'Multi-Modal',
47+
items: [
48+
{ label: 'Images', slug: 'multimodal/images' },
49+
{ label: 'Audio', slug: 'multimodal/audio' },
50+
{ label: 'Files', slug: 'multimodal/files' },
51+
],
52+
},
53+
{
54+
label: 'Guides',
55+
items: [
56+
{ label: 'CLI Usage', slug: 'guides/cli-usage' },
57+
{ label: 'Use Cases', slug: 'guides/use-cases' },
58+
{ label: 'Docker Deployment', slug: 'guides/docker' },
59+
{ label: 'GitHub OAuth Setup', slug: 'guides/github-oauth' },
60+
{ label: 'Troubleshooting', slug: 'guides/troubleshooting' },
61+
],
62+
},
63+
{
64+
label: 'Reference',
65+
items: [
66+
{ label: 'Providers', slug: 'reference/providers' },
67+
{ label: 'API Reference', slug: 'reference/api' },
68+
{ label: 'Changelog', slug: 'reference/changelog' },
69+
],
70+
},
71+
],
72+
}),
73+
],
74+
});

0 commit comments

Comments
 (0)