Skip to content

Commit f66cebb

Browse files
docs: Initialize Github Pages (#1)
1 parent 555d0f0 commit f66cebb

34 files changed

+13861
-0
lines changed

.github/workflows/github-pages.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
name: Deploy to GitHub Pages
3+
4+
on:
5+
push:
6+
branches:
7+
- main
8+
9+
jobs:
10+
build:
11+
name: Build Docusaurus
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
with:
16+
fetch-depth: 0
17+
- uses: pnpm/action-setup@v4
18+
name: Install pnpm
19+
with:
20+
run_install: false
21+
22+
- name: Install Node.js
23+
uses: actions/setup-node@v4
24+
with:
25+
node-version: 22
26+
cache: 'pnpm'
27+
cache-dependency-path: 'docs/pnpm-lock.yaml'
28+
29+
- name: Install dependencies
30+
run: |
31+
cd docs/
32+
pnpm install
33+
- name: Build website
34+
run: |
35+
cd docs/
36+
pnpm build
37+
38+
- name: Upload Build Artifact
39+
uses: actions/upload-pages-artifact@v3
40+
with:
41+
path: docs/build
42+
43+
deploy:
44+
name: Deploy to GitHub Pages
45+
needs: build
46+
47+
permissions:
48+
pages: write
49+
id-token: write
50+
51+
environment:
52+
name: github-pages
53+
url: ${{ steps.deployment.outputs.page_url }}
54+
55+
runs-on: ubuntu-latest
56+
steps:
57+
- name: Deploy to GitHub Pages
58+
id: deployment
59+
uses: actions/deploy-pages@v4
60+

docs/.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Dependencies
2+
/node_modules
3+
4+
# Production
5+
/build
6+
7+
# Generated files
8+
.docusaurus
9+
.cache-loader
10+
11+
# Misc
12+
.DS_Store
13+
.env.local
14+
.env.development.local
15+
.env.test.local
16+
.env.production.local
17+
18+
npm-debug.log*
19+
yarn-debug.log*
20+
yarn-error.log*
21+
22+
# React Component Preview
23+
previewConfig.json

docs/.node-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
22

docs/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Germain LEFEBVRE
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

docs/README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Website
2+
3+
This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.
4+
5+
### Installation
6+
7+
```
8+
$ yarn
9+
```
10+
11+
### Local Development
12+
13+
```
14+
$ yarn start
15+
```
16+
17+
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
18+
19+
### Build
20+
21+
```
22+
$ yarn build
23+
```
24+
25+
This command generates static content into the `build` directory and can be served using any static contents hosting service.
26+
27+
### Deployment
28+
29+
Using SSH:
30+
31+
```
32+
$ USE_SSH=true yarn deploy
33+
```
34+
35+
Not using SSH:
36+
37+
```
38+
$ GIT_USER=<Your GitHub username> yarn deploy
39+
```
40+
41+
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.

docs/docs/configuration.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
sidebar_position: 10
3+
---
4+
5+
# Configuration
6+
7+
S3 Streamer is designed to easily integrate with your existing S3-compatible storage solutions.
8+
To get started, you need to configure the application with your AWS credentials and bucket information.
9+
This guide will walk you through the configuration process.
10+
11+
## Configuration File
12+
13+
The configuration file is located in the root directory of the project and is named `.env`.
14+
This file contains all the necessary environment variables required for the application to function correctly.
15+
You can create this file by copying the example file provided:
16+
17+
```bash
18+
cp .env.example .env
19+
```
20+
21+
## Environment Variables
22+
23+
The following environment variables are required for the application to work:
24+
25+
| Variable Name | Description |
26+
|-------------------------|----------------------------------------------------------------------------- |
27+
| `AWS_ACCESS_KEY_ID` | Your AWS access key ID. |
28+
| `AWS_SECRET_ACCESS_KEY` | Your AWS secret access key. |
29+
| `AWS_REGION` | The AWS region where your S3 bucket is located. |
30+
| `AWS_S3_ENDPOINT_URL` | The endpoint URL for your S3-compatible storage solution. |
31+
| `AWS_S3_BUCKET_NAME` | The name of your S3 bucket. |
32+
| `PORT` | The port on which the server will run (default is 3000). |
33+
| `NODE_ENV` | The environment in which the application is running (development/production). |

docs/docs/getting-started.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
sidebar_position: 5
3+
---
4+
5+
# Getting Started
6+
7+
## Requirements
8+
9+
- Node.js (version 22.x or later)
10+
11+
## Run the Application
12+
13+
To get started with S3 Streamer, follow these steps:
14+
15+
```bash
16+
# Clone the repository
17+
git clone https://github.com/germainlefebvre4/S3Streamer
18+
19+
# Setup environment variables
20+
cp .env.example .env
21+
22+
# Configure your AWS credentials
23+
# Edit .env with your S3 details
24+
25+
# Install dependencies
26+
pnpm install
27+
28+
# Start the application
29+
pnpm start
30+
```
31+
32+
Open your web browser and navigate to `http://localhost:3000` to access the S3 Streamer interface.

docs/docs/presentation.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
sidebar_position: 1
3+
---
4+
5+
# Presentation
6+
7+
S3 Streamer is a powerful tool designed to facilitate the streaming of video content directly from Amazon S3 buckets.
8+
It provides a seamless experience for users looking to access and play videos stored in S3, making it an ideal solution for developers and content creators alike.
9+
This documentation will guide you through the installation, configuration, and usage of S3 Streamer, ensuring you can make the most of its features and capabilities.
10+
11+
## Key Features
12+
13+
- **AWS S3**: Seamlessly stream data from Amazon S3 buckets.
14+
- **Listing**: List all available videos in your S3 bucket.
15+
- **Video Player**: Built-in video player for easy playback of streamed content.
16+
- **Compatibility**: Usable with S3-compatible storage solutions.

docs/docs/screenshots.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
sidebar_position: 50
3+
---
4+
5+
# Screenshots
6+
7+
Here are some screenshots of the S3 Streamer application to give you a visual overview of its features and interface.

docs/docusaurus.config.ts

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
import {themes as prismThemes} from 'prism-react-renderer';
2+
import type {Config} from '@docusaurus/types';
3+
import type * as Preset from '@docusaurus/preset-classic';
4+
5+
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
6+
7+
const config: Config = {
8+
title: 'S3 Streamer',
9+
tagline: 'Stream your videos hosted on a S3-compatible Bucket',
10+
favicon: 'img/favicon.ico',
11+
12+
// Set the production url of your site here
13+
url: 'https://germainlefebvre4.github.com',
14+
// Set the /<baseUrl>/ pathname under which your site is served
15+
// For GitHub pages deployment, it is often '/<projectName>/'
16+
baseUrl: '/S3Streamer/',
17+
18+
// GitHub pages deployment config.
19+
// If you aren't using GitHub pages, you don't need these.
20+
organizationName: 'germainlefebvre4', // Usually your GitHub org/user name.
21+
projectName: 'S3Streamer', // Usually your repo name.
22+
23+
onBrokenLinks: 'throw',
24+
onBrokenMarkdownLinks: 'warn',
25+
26+
// Even if you don't use internationalization, you can use this field to set
27+
// useful metadata like html lang. For example, if your site is Chinese, you
28+
// may want to replace "en" with "zh-Hans".
29+
i18n: {
30+
defaultLocale: 'en',
31+
locales: ['en'],
32+
},
33+
34+
presets: [
35+
[
36+
'classic',
37+
{
38+
docs: {
39+
sidebarPath: './sidebars.ts',
40+
// Please change this to your repo.
41+
editUrl:
42+
'https://github.com/germainlefebvre4/S3Streamer/tree/main/s3streamer-docs-v2',
43+
},
44+
theme: {
45+
customCss: './src/css/custom.css',
46+
},
47+
} satisfies Preset.Options,
48+
],
49+
],
50+
51+
themeConfig: {
52+
// Replace with your project's social card
53+
image: 'img/docusaurus-social-card.jpg',
54+
navbar: {
55+
title: 'S3 Streamer',
56+
logo: {
57+
alt: 'S3 Streamer Logo',
58+
src: 'img/logo.svg',
59+
},
60+
items: [
61+
{
62+
type: 'docSidebar',
63+
sidebarId: 'tutorialSidebar',
64+
position: 'right',
65+
label: 'Documentation',
66+
},
67+
{
68+
href: 'https://github.com/germainlefebvre4/S3Streamer',
69+
label: 'GitHub',
70+
position: 'right',
71+
},
72+
],
73+
},
74+
footer: {
75+
style: 'dark',
76+
links: [
77+
{
78+
title: 'Links',
79+
items: [
80+
{
81+
label: 'GitHub',
82+
href: 'https://github.com/germainlefebvre4/S3Streamer',
83+
},
84+
{
85+
label: 'Documentation',
86+
to: '/docs/presentation',
87+
},
88+
],
89+
},
90+
{
91+
title: 'Community',
92+
items: [
93+
{
94+
label: 'GitHub Discussions',
95+
href: 'https://github.com/germainlefebvre4/S3Streamer/discussions',
96+
},
97+
{
98+
label: 'Issues',
99+
href: 'https://github.com/germainlefebvre4/S3Streamer/issues',
100+
},
101+
],
102+
},
103+
],
104+
copyright: `Copyright © ${new Date().getFullYear()} S3 Streamer. Built with Docusaurus.`,
105+
},
106+
prism: {
107+
theme: prismThemes.github,
108+
darkTheme: prismThemes.dracula,
109+
},
110+
} satisfies Preset.ThemeConfig,
111+
};
112+
113+
export default config;

0 commit comments

Comments
 (0)