public | ||
src | ||
.dockerignore | ||
.gitignore | ||
astro.config.mjs | ||
config.json | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
package.json | ||
README.md | ||
TODO.md | ||
tsconfig.json |
ButterflyVu
ButterflyVu is a documentation template built on the Astro Web Framework.Running
bun
will be used overnpm
in instructions.
Requirements
- Git
- Bun 1 2
1. SudoVanilla recommends using the Bun package manager for Astro projects.
2. If you plan to use Bun, NodeJS is not required to be installed, which is why it's not listed as a requirement. If you use i18n in Astro, then NodeJS will be required. (Tested)
Clone Repository
Start by cloning the repository to somewhere on your device using the git
command:
git clone https://ark.sudovanilla.org/korbs/butterflyvu/
cd ./butterflyvu/
Install Packages
Install required packages so you can run the project:
bun install
Run
Run the website with the run command:
bun start
The website should start running at http://localhost:2014.
If the website is not running and an error appears, troubleshoot the problem by reading the error and try again. If the problem persist, submit an issue.
Hosting
Requirements
It is expected for the server admin to use the Docker method, as it is recommended, so please install the Docker Engine.
- Install Docker Engine for Windows (WSL Method)
- Install Docker Engine for macOS (Homebrew Method)
- Install Docker Engine for Linux
SudoVanilla does NOT recommend using the Docker Desktop application, as it is proprietary software.
Docker Compose (Recommended)
A Docker Compose file is provided that can be used without needing to clone the repository. Download the file to it's folder somewhere on your disk and run it.
services:
butterflyvu:
image: ark.sudovanilla.org/korbs/butterlyvu:amd64
volumes:
- ./config.json:/app/config.json
- ./docs/:/app/src/content/docs/
- ./dists/:/app/dist/
nginx:
image: nginx:latest
restart: always
ports:
- 4242:80
volumes:
- ./dists/:/usr/share/nginx/html/
Overriding Components
Since ButterflyVu is written in Astro and the site is built during each startup in Docker, overriding the components is easy. Now for, overriding the header will be shown, it's pretty much the same basics for other components.
This also works for any other part of ButterflyVu, such as for the layouts and styles. This will be expanded on once the ButterflyVu documentations are written on it's own site, ironic that it hasn't been built yet, right?
Header
In the docker-compose.yml
file, add a path to the volumes
section to your custom header:
- ./components/Header.astro:/app/src/components/global/Header.astro
The file must be an .astro
file, anything else like .jsx
will not work.
If you already have the custom header written and it's ready for showtime, just run the Docker image again and the new header will be built with the site.
A SudoVanilla Project