This commit is contained in:
OCram85 2024-03-01 12:03:30 +01:00
parent 910f3d5a36
commit 127a9dbc48
21 changed files with 147 additions and 74 deletions

View File

@ -1,8 +1,12 @@
.gitea
.vscode
assets
.editorconfig
.gitatributes
.gitattributes
.gitea
.gitignore
.gitlocal
.prettierrc
.vscode
assets
LICENSE
node_modules
README.md
renovate.json

6
Caddyfile Normal file
View File

@ -0,0 +1,6 @@
:80 {
root * /arkanum-docs
encode gzip zstd
try_files {path}.html {path} /
file_server
}

View File

@ -17,6 +17,7 @@ LABEL org.opencontainers.image.url="https://gitea.ocram85.com/CodeServer/arkanum
LABEL org.opencontainers.image.source="https://gitea.ocram85.com/CodeServer/arkanum.git"
LABEL org.opencontainers.image.documentation="https://gitea.ocram85.com/CodeServer/arkanum"
#region starship
RUN \
echo "**** install starship prompt ****" && \
curl -sS -o /tmp/install.sh https://starship.rs/install.sh && \
@ -26,15 +27,15 @@ RUN \
echo "eval \"\$(starship init bash)\"" >> /etc/bash.bashrc
ENV STARSHIP_CONFIG=/etc/starship.toml
COPY starship.toml /etc/starship.toml
#endregion starship
#region git
ADD gitconfig-system /etc/gitconfig
RUN \
echo "**** setup git ****" && \
# using prepared systemwide config file instead.
#git config --system credential.helper store && \
echo 'source /usr/share/bash-completion/completions/git' >> /etc/bash.bashrc
#endregion git
ADD arkanum /usr/bin/
ADD arkanum-completion /etc/bash_completion.d/

15
Dockerfile.vitepress Normal file
View File

@ -0,0 +1,15 @@
FROM oven/bun:1 as builder
USER bun
WORKDIR /app
COPY --chown=bun:bun package*.json bun.lockdb ./
ENV NODE_ENV=production
RUN bun install --frozen-lockfile --production \
&& bun run --bun docs:build
FROM caddy:2.7.6-alpine as prod
COPY --from=builder /app/dist /arkanum-docs/
COPY Caddyfile /etc/caddy
HEALTHCHECK --interval=15s --timeout=3s \
CMD wget --no-verbose --tries=1 --spider http://localhost:80/ || exit 1

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 106 KiB

BIN
bun.lockb

Binary file not shown.

View File

@ -6,9 +6,19 @@ function getGuide() {
return [
{
text: 'Guide',
//collapsed: false,
items: [
{ text: 'About', link: '/about' },
{ text: 'Getting Started', link: '/getting-started#Quickstart' },
{ text: 'About', link: 'about' },
{ text: 'Getting Started', link: 'getting-started' },
{
text: 'Components',
items: [
{ text: 'Base Images', link: 'components/base-images' },
{ text: 'Included Packages', link: 'components/packages' },
{ text: 'Starship Prompt', link: 'components/starship' },
{ text: 'Git', link: 'components/git' },
],
},
],
},
]

View File

@ -50,9 +50,9 @@
--vp-c-default-soft: var(--vp-c-gray-soft);
--vp-c-brand-1: #10b981;
--vp-c-brand-2: var(--vp-c-indigo-2);
--vp-c-brand-3: var(--vp-c-indigo-3);
--vp-c-brand-soft: var(--vp-c-indigo-soft);
--vp-c-brand-2: #0e9d6e;
--vp-c-brand-3: #11bc84;
--vp-c-brand-soft: rgba(16, 185, 129, 0.14);
--vp-c-tip-1: var(--vp-c-brand-1);
--vp-c-tip-2: var(--vp-c-brand-2);
@ -94,14 +94,14 @@
--vp-home-hero-name-color: transparent;
--vp-home-hero-name-background: -webkit-linear-gradient(
120deg,
#10b981 30%,
#41d1ff
#41d1ff 30%,
#10b981
);
--vp-home-hero-image-background-image: linear-gradient(
-45deg,
#10b981 50%,
#47caff 50%
#47caff 50%,
#10b981 50%
);
--vp-home-hero-image-filter: blur(44px);
}

View File

@ -1,49 +0,0 @@
---
outline: deep
---
# Runtime API Examples
This page demonstrates usage of some of the runtime APIs provided by VitePress.
The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:
```md
<script setup>
import { useData } from 'vitepress'
const { theme, page, frontmatter } = useData()
</script>
## Results
### Theme Data
<pre>{{ theme }}</pre>
### Page Data
<pre>{{ page }}</pre>
### Page Frontmatter
<pre>{{ frontmatter }}</pre>
```
<script setup>
import { useData } from 'vitepress'
const { site, theme, page, frontmatter } = useData()
</script>
## Results
### Theme Data
<pre>{{ theme }}</pre>
### Page Data
<pre>{{ page }}</pre>
### Page Frontmatter
<pre>{{ frontmatter }}</pre>
## More
Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata).

View File

@ -0,0 +1,19 @@
# Base Images
## Coder/code-server
Arkanum is build on top of the [code-server](https://github.com/coder/code-server) project. This project
provides the base ability to run VS Code remotely and accessible by any browser instead of the need for a local
installation.
The folks from [linuxserver.io](https://www.linuxserver.io/) build and maintainer super reliable container images
for all kind of software. And so they also did for the code-server project.
We also took their [code-server image](https://hub.docker.com/r/linuxserver/code-server) as our base for further
customizing and tailoring arkanum.
## gitpod-io/openvscode-server <Badge type="info" text="planned for arkanum v2++" />
> [!NOTE] 💬 NOTE
> We plan to also build Arkanum with the openvscode-server base. This could enable us to install Arkanum as
> PWA with our own branding like the product logo.

View File

@ -0,0 +1,52 @@
# Git
## 🔱 Config files
The git configuration is usually done in these 3 different contexts:
- system wide config
- `/etc/gitconfig`
- global _(per user)_ config
- `~/.gitconfig`
- local _(per repository)_
- `<repo-root>/.git/config`
The final config will be merged in this order.
> [!TIP] 💡 TIP
> You can display the final values with `git config --list`
## 📄 Included Config
We already modified the default system config file:
| Key | Section | Description |
| --------------- | ---------------- | ------------------------------------------------------------------------------------ |
| `editor` | **[core]** | Defines code-server as git edit to open files. |
| `autcrlf` | **[core]** | Disables automatic line ending conversion. Should be handeled by the editor |
| `helper` | **[credential]** | Enables saving plain credentials for git remotes. |
| `filesEncoding` | **[i18n]** | Sets _utf-8_ as default encoding. |
| `default` | **[push]** | Uses _simple_ branch name matching strategy. |
| `lg1` | **[alias]** | Adds alternate log output layout in graph style |
| `lg2` | **[alias]** | Adds extended graph log layout. |
| `cfetch` | **[alias]** | Adds alias for fetch with _--prune_ and _--tags_ . _cfetch_ stands for _clean fetch_ |
There are also some [Phabricator](https://en.wikipedia.org/wiki/Phabricator) workflow inspired helpers:
| Key | Section | Description |
| ------------------ | ----------- | ------------------------------------------------------------------------------ |
| `feature <branch>` | **[alias]** | Starts a new feature branch from updates master and checks out the new branch. |
| `wip` | **[alias]** | Stages all current changes and creates a wip _(work in progress)_ commit. |
| `squish` | **[alias]** | Takes all open workdir changes and add them to the latest commit. |
| `pod` | **[alias]** | Tries to push current branch to _origin/dev_. |
| `poc <branch>` | **[alias]** | Takes current branch and tries to push it to a new remote one. |
::: details **/etc/gitconfig**
<<< @/../gitconfig-system{ini:line-numbers}
:::
## Git bash Completion
Git bash completion is already enabled in the arkanum image:
<<< @/../Dockerfile#git{Dockerfile}

View File

@ -0,0 +1,7 @@
# Packages
We already include the following packages while building the Arkanum image:
| Name | Description |
| ----- | ----------- |
| `git` | Git VCS |

View File

@ -0,0 +1,5 @@
# :rocket: Starship Prompt
##
<<< @/../Dockerfile#starship{Dockerfile:line-numbers}

View File

@ -1,15 +1,15 @@
# Getting Started
## Installation
## 🚧 Prerequisites
### Prerequisites
### ⚙️ Container Runtime
Any host with either
You need any host with either
- Docker CE / EE running
- or Docker-CE and configured 'swarm' mode.
### 1. ⚡ Get the image 📦
### 📦 Get the image
You can download the image from the gitea embedded container registry: `gitea.ocram85.com/codeserver/arkanum` with these tags:
@ -28,7 +28,9 @@ The container images are also published to these registries:
- [Codeberg Packages](https://codeberg.org/codeserver/-/packages/container/arkanum/next)
- Pull Endpoint: `codeberg.org/codeserver/arkanum`
### 2.a Run as Docker Swarm Stack
## 🏗️ Installation
### Run as Docker Swarm Stack
This example shows how to run arkanum as an additional swarm stack.
@ -86,7 +88,8 @@ networks:
```
> 💡 NOTE: For advanced config with additional environment variables see [linuxserver/docker-code-server](https://github.com/linuxserver/docker-code-server) help.
### 2.b Use Docker-Compose
### Use Docker-Compose
This is a basic example for a `docker-compose` file from the [linuxserver/docker-code-server](https://github.com/linuxserver/docker-code-server) project.
@ -116,7 +119,7 @@ services:
restart: unless-stopped
```
### 3. 🦶 First Steps
## 🦶 First Steps
After summon Arkanum your first steps should be to set your username and email in the git config:

View File

@ -11,7 +11,7 @@ hero:
alt: Arkanum
actions:
- theme: brand
text: 🤖 Get Started
text: 🧙 Get Started
link: /guide/about
- theme: alt
text: View on Gitea

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View File

@ -10,7 +10,7 @@
"@types/bun": "latest",
"prettier": "^3.1.1",
"rimraf": "^5.0.5",
"vitepress": "^1.0.0-rc.42"
"vitepress": "^1.0.0-rc.44"
},
"peerDependencies": {
"typescript": "^5.0.0"