wip
|
@ -1,8 +1,12 @@
|
||||||
.gitea
|
|
||||||
.vscode
|
|
||||||
assets
|
|
||||||
.editorconfig
|
.editorconfig
|
||||||
.gitatributes
|
.gitattributes
|
||||||
|
.gitea
|
||||||
.gitignore
|
.gitignore
|
||||||
.gitlocal
|
.gitlocal
|
||||||
|
.prettierrc
|
||||||
|
.vscode
|
||||||
|
assets
|
||||||
|
LICENSE
|
||||||
|
node_modules
|
||||||
README.md
|
README.md
|
||||||
|
renovate.json
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
:80 {
|
||||||
|
root * /arkanum-docs
|
||||||
|
encode gzip zstd
|
||||||
|
try_files {path}.html {path} /
|
||||||
|
file_server
|
||||||
|
}
|
|
@ -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.source="https://gitea.ocram85.com/CodeServer/arkanum.git"
|
||||||
LABEL org.opencontainers.image.documentation="https://gitea.ocram85.com/CodeServer/arkanum"
|
LABEL org.opencontainers.image.documentation="https://gitea.ocram85.com/CodeServer/arkanum"
|
||||||
|
|
||||||
|
#region starship
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install starship prompt ****" && \
|
echo "**** install starship prompt ****" && \
|
||||||
curl -sS -o /tmp/install.sh https://starship.rs/install.sh && \
|
curl -sS -o /tmp/install.sh https://starship.rs/install.sh && \
|
||||||
|
@ -26,15 +27,15 @@ RUN \
|
||||||
echo "eval \"\$(starship init bash)\"" >> /etc/bash.bashrc
|
echo "eval \"\$(starship init bash)\"" >> /etc/bash.bashrc
|
||||||
|
|
||||||
ENV STARSHIP_CONFIG=/etc/starship.toml
|
ENV STARSHIP_CONFIG=/etc/starship.toml
|
||||||
|
|
||||||
COPY starship.toml /etc/starship.toml
|
COPY starship.toml /etc/starship.toml
|
||||||
|
#endregion starship
|
||||||
|
|
||||||
|
#region git
|
||||||
ADD gitconfig-system /etc/gitconfig
|
ADD gitconfig-system /etc/gitconfig
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** setup git ****" && \
|
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
|
echo 'source /usr/share/bash-completion/completions/git' >> /etc/bash.bashrc
|
||||||
|
#endregion git
|
||||||
|
|
||||||
ADD arkanum /usr/bin/
|
ADD arkanum /usr/bin/
|
||||||
ADD arkanum-completion /etc/bash_completion.d/
|
ADD arkanum-completion /etc/bash_completion.d/
|
||||||
|
|
|
@ -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
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 106 KiB |
|
@ -6,9 +6,19 @@ function getGuide() {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
text: 'Guide',
|
text: 'Guide',
|
||||||
|
//collapsed: false,
|
||||||
items: [
|
items: [
|
||||||
{ text: 'About', link: '/about' },
|
{ text: 'About', link: 'about' },
|
||||||
{ text: 'Getting Started', link: '/getting-started#Quickstart' },
|
{ 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' },
|
||||||
|
],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
|
@ -50,9 +50,9 @@
|
||||||
--vp-c-default-soft: var(--vp-c-gray-soft);
|
--vp-c-default-soft: var(--vp-c-gray-soft);
|
||||||
|
|
||||||
--vp-c-brand-1: #10b981;
|
--vp-c-brand-1: #10b981;
|
||||||
--vp-c-brand-2: var(--vp-c-indigo-2);
|
--vp-c-brand-2: #0e9d6e;
|
||||||
--vp-c-brand-3: var(--vp-c-indigo-3);
|
--vp-c-brand-3: #11bc84;
|
||||||
--vp-c-brand-soft: var(--vp-c-indigo-soft);
|
--vp-c-brand-soft: rgba(16, 185, 129, 0.14);
|
||||||
|
|
||||||
--vp-c-tip-1: var(--vp-c-brand-1);
|
--vp-c-tip-1: var(--vp-c-brand-1);
|
||||||
--vp-c-tip-2: var(--vp-c-brand-2);
|
--vp-c-tip-2: var(--vp-c-brand-2);
|
||||||
|
@ -94,14 +94,14 @@
|
||||||
--vp-home-hero-name-color: transparent;
|
--vp-home-hero-name-color: transparent;
|
||||||
--vp-home-hero-name-background: -webkit-linear-gradient(
|
--vp-home-hero-name-background: -webkit-linear-gradient(
|
||||||
120deg,
|
120deg,
|
||||||
#10b981 30%,
|
#41d1ff 30%,
|
||||||
#41d1ff
|
#10b981
|
||||||
);
|
);
|
||||||
|
|
||||||
--vp-home-hero-image-background-image: linear-gradient(
|
--vp-home-hero-image-background-image: linear-gradient(
|
||||||
-45deg,
|
-45deg,
|
||||||
#10b981 50%,
|
#47caff 50%,
|
||||||
#47caff 50%
|
#10b981 50%
|
||||||
);
|
);
|
||||||
--vp-home-hero-image-filter: blur(44px);
|
--vp-home-hero-image-filter: blur(44px);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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).
|
|
|
@ -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.
|
|
@ -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}
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Packages
|
||||||
|
|
||||||
|
We already include the following packages while building the Arkanum image:
|
||||||
|
|
||||||
|
| Name | Description |
|
||||||
|
| ----- | ----------- |
|
||||||
|
| `git` | Git VCS |
|
|
@ -0,0 +1,5 @@
|
||||||
|
# :rocket: Starship Prompt
|
||||||
|
|
||||||
|
##
|
||||||
|
|
||||||
|
<<< @/../Dockerfile#starship{Dockerfile:line-numbers}
|
|
@ -1,15 +1,15 @@
|
||||||
# Getting Started
|
# Getting Started
|
||||||
|
|
||||||
## Installation
|
## 🚧 Prerequisites
|
||||||
|
|
||||||
### Prerequisites
|
### ⚙️ Container Runtime
|
||||||
|
|
||||||
Any host with either
|
You need any host with either
|
||||||
|
|
||||||
- Docker CE / EE running
|
- Docker CE / EE running
|
||||||
- or Docker-CE and configured 'swarm' mode.
|
- 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:
|
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)
|
- [Codeberg Packages](https://codeberg.org/codeserver/-/packages/container/arkanum/next)
|
||||||
- Pull Endpoint: `codeberg.org/codeserver/arkanum`
|
- 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.
|
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.
|
> 💡 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.
|
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
|
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:
|
After summon Arkanum your first steps should be to set your username and email in the git config:
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ hero:
|
||||||
alt: Arkanum
|
alt: Arkanum
|
||||||
actions:
|
actions:
|
||||||
- theme: brand
|
- theme: brand
|
||||||
text: 🤖 Get Started
|
text: 🧙 Get Started
|
||||||
link: /guide/about
|
link: /guide/about
|
||||||
- theme: alt
|
- theme: alt
|
||||||
text: View on Gitea
|
text: View on Gitea
|
||||||
|
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 21 KiB |
|
@ -10,7 +10,7 @@
|
||||||
"@types/bun": "latest",
|
"@types/bun": "latest",
|
||||||
"prettier": "^3.1.1",
|
"prettier": "^3.1.1",
|
||||||
"rimraf": "^5.0.5",
|
"rimraf": "^5.0.5",
|
||||||
"vitepress": "^1.0.0-rc.42"
|
"vitepress": "^1.0.0-rc.44"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"typescript": "^5.0.0"
|
"typescript": "^5.0.0"
|
||||||
|
|