First documentation rework
This commit is contained in:
parent
8630bc0ba6
commit
f1e1ad4755
17 changed files with 478 additions and 184 deletions
41
README.md
41
README.md
|
@ -1,29 +1,20 @@
|
|||
# sos!docs
|
||||
Here you can find the StarOpenSource documentation. [Click here to visit the built documentation.](https://docs.staropensource.de)
|
||||
The StarOpenSource Project uses [Docusaurus](https://docusaurus.io) for generating it's project documentation.
|
||||
|
||||
# Commands
|
||||
We use [make](https://www.gnu.org/software/make/).
|
||||
## Installing dependencies
|
||||
```plain
|
||||
$ make install-deps
|
||||
```bash
|
||||
# Installs all required dependencies
|
||||
make install-deps
|
||||
|
||||
# Starts a development server with support for hot reloading
|
||||
make test
|
||||
|
||||
# Build the documentation to 'out/'
|
||||
make build
|
||||
|
||||
# Remove 'out/' directory as well as some of Docusaurus' files
|
||||
make clean
|
||||
|
||||
# If you want to remove node_modules and other pnpm stuff execute this
|
||||
make clean-extra
|
||||
```
|
||||
## Development web server
|
||||
This will start [a development server](http://localhost:3000) that supports hot reloading.
|
||||
```plain
|
||||
$ make test
|
||||
```
|
||||
## Building the documentation
|
||||
This will output the built documentation to `out/`. Simply point a web server to it and you're done.
|
||||
```plain
|
||||
$ make build
|
||||
```
|
||||
## Cleaning the directory
|
||||
This will remove the `out/` directory containing the built website aswell as Docusaurus files.
|
||||
```plain
|
||||
$ make clean
|
||||
```
|
||||
### More cleaning
|
||||
This will remove the `node_modules/` and `pnpm-lock.yaml` directory aswell.
|
||||
```plain
|
||||
$ make clean-extra
|
||||
```
|
|
@ -1,12 +0,0 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# About
|
||||
## ... StarOpenSource
|
||||
**The StarOpenSource Project** aims at developing **ethical** and **open source** applications and tools *without* **ads, tracking or analytics**.
|
||||
<link href="https://sky.staropensource.de/@staropensource"/>
|
||||
<link href="https://sky.staropensource.de/@soscore"/>
|
||||
|
||||
## ... this documentation
|
||||
The **StarOpenSource Documentation** contains specifications used in StarOpenSource projects, information about the project and much more.
|
|
@ -1,20 +1,38 @@
|
|||
---
|
||||
sidebar_position: 2
|
||||
sidebar_position: 1
|
||||
description: "Contains a list of all StarOpenSource projects."
|
||||
---
|
||||
|
||||
# Projects
|
||||
This page lists all projects the StarOpenSource Project or the community are developing or have developed.
|
||||
|
||||
## Projects
|
||||
Projects are sorted in three different categories: *Official*, *Community* and *Infrastructure-related* projects. The latter one being responsible for StarOpenSource's infrastructure.
|
||||
Additionally, projects are assigned one of three different statuses: *Maintained*, *Inactive* (unmaintained or maintenance mode projects, may still recieve some updates) and *Archived* (deprecated, old or unused projects).
|
||||
|
||||
## Official projects
|
||||
### Maintained
|
||||
- The CORE Framework ([repository](https://git.staropensource.de/StarOpenSource/CORE), [distribution repository](https://git.staropensource.de/StarOpenSource/CORE-distrib), [documentation](https://core.staropensource.de))
|
||||
- StarOpenSource Engine ([repository](https://git.staropensource.de/StarOpenSource/Engine), [documentation](https://engine.staropensource.de), [API documentation](https://jd.engine.staropensource.de))
|
||||
### Inactive
|
||||
- CORE Framework ([repository](https://git.staropensource.de/StarOpenSource/CORE), [distribution repository](https://git.staropensource.de/StarOpenSource/CORE-distrib-assetlibrary), [documentation](https://core.staropensource.de)): Plans to be superseeded by the sos!engine and our migration to Java
|
||||
- StarOpenSource UI ([repository](https://git.staropensource.de/StarOpenSource/SUI), [distribution repository](https://git.staropensource.de/StarOpenSource/SUI-distrib), [documentation](https://sui.staropensource.de)): Plans to be superseeded by the sos!engine and our migration to Java
|
||||
- Bessere Tests ([repository](https://git.staropensource.de/StarOpenSource/BessereTests)): Plans to be superseeded by the sos!engine and our migration to Java
|
||||
- Androot ([repository](https://git.staropensource.de/StarOpenSource/androot))
|
||||
### Archived
|
||||
- CORE Manager ([repository](https://git.staropensource.de/StarOpenSource-Archive/core-manager))
|
||||
- sostools ([repository](https://git.staropensource.de/StarOpenSource-Archive/sostools))
|
||||
- Jessist ([repository](https://git.staropensource.de/StarOpenSource-Archive/jessist))
|
||||
- freax ([repository](https://git.staropensource.de))
|
||||
- server-kernel ([repository](https://git.staropensource.de/StarOpenSource-Archive/server-kernel)): It was decided to use upstream instead
|
||||
- CORE Manager ([repository](https://git.staropensource.de/StarOpenSource-Archive/core-manager)): Buggy and flawed
|
||||
- sostools ([repository](https://git.staropensource.de/StarOpenSource-Archive/sostools)): Just no
|
||||
- Jessist ([repository](https://git.staropensource.de/StarOpenSource-Archive/jessist)): Game prototype developed for the GamesTalente competition. Includes bad, uncommented code
|
||||
- FREAX ([repository](https://git.staropensource.de)): Lacking interest and motivation in the project
|
||||
|
||||
## Community projects
|
||||
*none*
|
||||
|
||||
## Infrastructure-related projects
|
||||
### Maintained
|
||||
- soscmd ([repository](https://git.staropensource.de/StarOpenSource-Infrastructure/soscmd))
|
||||
- actions-docker ([repository](https://git.staropensource.de/StarOpenSource/actions-docker))
|
||||
- soscmd ([repository](https://git.staropensource.de/StarOpenSource-Infrastructure/soscmd))
|
||||
- sos!web ([repository](https://git.staropensource.de/StarOpenSource-Infrastructure/website), [view](https://staropensource.de))
|
||||
- sos!docs ([repository](https://git.staropensource.de/StarOpenSource-Infrastructure/website-docs), [view](https://docs.staropensource.de))
|
||||
- sos!/fs/ ([repository](https://git.staropensource.de/StarOpenSource-Infrastructure/website-filesystem), [view](https://fs.staropensource.de))
|
||||
- globalsites ([repository](https://git.staropensource.de/StarOpenSource-Infrastructure/website-globalsites))
|
||||
- redirector ([repository](https://git.staropensource.de/StarOpenSource-Infrastructure/website-redirector), [view](https://z.staropensource.de))
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
"position": 3,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "Contains various StarOpenSource specifications"
|
||||
"description": "Contains specifications for various things."
|
||||
}
|
||||
}
|
||||
|
|
13
docs/specifications/index.md
Normal file
13
docs/specifications/index.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
sidebar_position: 0
|
||||
title: "Explanation"
|
||||
description: "Introduces StarOpenSource's specifications"
|
||||
---
|
||||
|
||||
# Explanation
|
||||
StarOpenSource maintains it's own set of specifications which aim at setting development standards whilst being useful, minimal and distract-free.
|
||||
These are used by StarOpenSource software extensively and embraced by the project.
|
||||
|
||||
## Specifications
|
||||
- **[Versioning (SOSVS)](/specifications/versioning/about)**: Efficient versioning system for different pieces of work
|
||||
- **[Logging (SOSLS)](/specifications/logging/about)**: Useful, pretty and language-independent logging system
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"label": "Logging Specification",
|
||||
"position": 2,
|
||||
"position": 1,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "The StarOpenSource Logging Specification"
|
||||
"description": "Useful, pretty and language-independent logging system"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ description: "Description of the logging specification"
|
|||
---
|
||||
|
||||
# About
|
||||
The **StarOpenSource Logging Specification** *(**SOSLS**)* is used throughout many StarOpenSource projects and provides a template for custom logger implementations.
|
||||
The **StarOpenSource Logging Specification** (or **SOSLS** for short) specifies how an efficient logging infrastructure should look like.
|
||||
|
||||
## Versions
|
||||
<table>
|
||||
|
@ -16,6 +16,11 @@ The **StarOpenSource Logging Specification** *(**SOSLS**)* is used throughout ma
|
|||
<tr>
|
||||
<th>1</th>
|
||||
<th>02.03.2024</th>
|
||||
<th><a href="/specifications/logging/versions/1/">Specification</a></th>
|
||||
<th><a href="/specifications/logging/versions/1/">Spec</a></th>
|
||||
</tr>
|
||||
</table>
|
||||
<tr>
|
||||
<th>2</th>
|
||||
<th>24.08.2024</th>
|
||||
<th><a href="/specifications/logging/versions/2/">Spec</a></th>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
181
docs/specifications/logging/versions/2.md
Normal file
181
docs/specifications/logging/versions/2.md
Normal file
|
@ -0,0 +1,181 @@
|
|||
---
|
||||
sidebar_position: 2
|
||||
title: "2"
|
||||
description: "Logging Specification v2"
|
||||
---
|
||||
|
||||
# Version 2
|
||||
This document aims to outline a unified specification, inspired by various logging implementations.
|
||||
|
||||
|
||||
## Cross-language considerations
|
||||
### Casing
|
||||
This specification assumes that methods are written in CamelCase and enums in CONSTANT_CASE. If the programming language your implementation uses has different conventions, use them instead.
|
||||
### Enums
|
||||
This specification assumes that the programming language your implementation uses supports enums. If it doesn't, use integer constants instead. If that isn't possible, use strings.
|
||||
|
||||
|
||||
## What a good logger needs
|
||||
A good logger implementation needs the following things:
|
||||
- levels, to distinguish message importance
|
||||
- a message's origin, to know from where a message came
|
||||
- the actual log message
|
||||
|
||||
|
||||
## Levels
|
||||
An implementation must provide at least five log levels and may implement an optional one to be able to determine a message's priority.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Method name</th>
|
||||
<th>Printed name</th>
|
||||
<th>Enum name</th>
|
||||
<th>Optional</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Diagnostic</th>
|
||||
<th><code>diag</code></th>
|
||||
<th><code>DIAG</code></th>
|
||||
<th><code>DIAGNOSTIC</code></th>
|
||||
<th>No</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Verbose</th>
|
||||
<th><code>verb</code></th>
|
||||
<th><code>VERB</code></th>
|
||||
<th><code>VERBOSE</code></th>
|
||||
<th>No</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Silent Warning</th>
|
||||
<th><code>sarn</code></th>
|
||||
<th><code>SARN</code></th>
|
||||
<th><code>SILENT_WARNING</code></th>
|
||||
<th>No</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Informational</th>
|
||||
<th><code>info</code></th>
|
||||
<th><code>INFO</code></th>
|
||||
<th><code>INFORMATIONAL</code></th>
|
||||
<th>No</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Warning</th>
|
||||
<th><code>warn</code></th>
|
||||
<th><code>WARN</code></th>
|
||||
<th><code>WARNING</code></th>
|
||||
<th>No</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Error</th>
|
||||
<th><code>error</code></th>
|
||||
<th><code>ERR!</code></th>
|
||||
<th><code>ERROR</code></th>
|
||||
<th>No</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Crash</th>
|
||||
<th><code>crash</code></th>
|
||||
<th><code>CRSH</code></th>
|
||||
<th><code>CRASH</code></th>
|
||||
<th>If the language and/or platform does not provide a good native crash handler</th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
## Format
|
||||
A format is required to represent a log message as well as relevant information in a human way.
|
||||
The logging format shall be minimal but extensible with so-called "format features",
|
||||
which may be chained together. A few optional and required features are listed in this
|
||||
specification. Implementation-specific features may be added, depending on the use case,
|
||||
environment, language and other variables.
|
||||
|
||||
### Default format
|
||||
`[<printed level name> <origin>] <message>`
|
||||
|
||||
### Feature `formatting`
|
||||
The content stays the same but the message is colorized.
|
||||
|
||||
This feature is optional.
|
||||
|
||||
### Feature `runtime`
|
||||
Prepends the time the implementation or application is running in milliseconds. \
|
||||
Example by extending the default: `[<run time in milliseconds>ms] [<printed level name> <origin>] <message>`
|
||||
|
||||
This feature is required.
|
||||
|
||||
### Features `date` & `time`
|
||||
Prepends the date and/or the time to the output. \
|
||||
Example by extending the default: `[<date> [time]] [<printed level name> <origin>] <message>`
|
||||
|
||||
This feature is required unless the language of the implementation does not provide good support for dates and time.
|
||||
|
||||
### Features `methodName` & `lineNumber`
|
||||
Appends the method name and/or line number to the origin.
|
||||
Example by extending the default: `[<printed level name> <origin>#<method name>~<line number>] <message>`
|
||||
|
||||
This feature is required unless the language of the implementation does not provide insufficient or any automatic (ie. without developer intervention on log call) support.
|
||||
|
||||
### All features
|
||||
Below is an example of how the format would look like if all features mentioned in this specification were enabled.
|
||||
#### With placeholders
|
||||
`[<runtime>ms] [<date> <time>] [<printed level name> <origin>#<method name>~<line number>] <message>`
|
||||
#### Filled
|
||||
`[505ms] [03.10.1990 23:23:23] [INFO Test.example#sayHi~42] Hello World!`
|
||||
|
||||
|
||||
## Configuration
|
||||
A logger implementing this specification should be able to
|
||||
be configured by the running application at runtime.
|
||||
This specification lists a few required and optional features.
|
||||
Implementations may provide their own.
|
||||
|
||||
### Minimum level
|
||||
Specifies the minimum allowed log level.
|
||||
Lower levels are forbidden and won't be logged.
|
||||
|
||||
This option is required and must either be an enum, integer or a string (fallback to the next if one is unavailable).
|
||||
|
||||
### Features
|
||||
Specifies a list of enabled features.
|
||||
|
||||
This option is required and must be a comma-separated string or list of strings.
|
||||
|
||||
### Multithreading
|
||||
Specifies that the implementation is multithreaded by accepting
|
||||
log calls, queueing and then processing them on a separate thread.
|
||||
|
||||
This option is optional but recommended.
|
||||
|
||||
### Thread Polling Delay
|
||||
Specifies the time the logging thread shall
|
||||
wait before processing the queue again.
|
||||
This value should be subtracted by the
|
||||
time if took to process all queued messages
|
||||
after all messages have been processed.
|
||||
|
||||
This option is required if multithreading
|
||||
is built into the implementation.
|
||||
|
||||
|
||||
## Placeholders
|
||||
Implementations may allow placeholders to be placed
|
||||
into a log message and replaced during processing.
|
||||
These must be wrapped inside `%`-signs and must
|
||||
allow for optional configuration. Placeholders must
|
||||
allow placeholders to be added and removed dynamically.
|
||||
|
||||
|
||||
## Methods
|
||||
Implementations are required to provide
|
||||
methods for all levels, with each being
|
||||
named after the level's method name.
|
||||
|
||||
Each method must require at least the message
|
||||
to be logged. If required by the language of
|
||||
the implementation, information about the
|
||||
message origin may be required as well.
|
||||
This however should be avoided to not annoy
|
||||
developers and create maintenance burdens.
|
|
@ -3,6 +3,6 @@
|
|||
"position": 1,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "Contains all SOSLS versions"
|
||||
"description": "Versions of this specification"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"label": "Versioning Specification",
|
||||
"position": 1,
|
||||
"label": "Versioning",
|
||||
"position": 0,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "The StarOpenSource Versioning Specification"
|
||||
"description": "Efficient versioning system for different pieces of work"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
sidebar_position: 0
|
||||
description: "Description of the versioning specification"
|
||||
---
|
||||
|
||||
# About
|
||||
The **StarOpenSource Versioning System** *(**SOSVS**)* is used throughout all StarOpenSource projects and is intended as a clear versioning system, compatible with the semantic versioning system.
|
||||
The **StarOpenSource Versioning Specification** (or **SOSVS** for short) specifies a versioning system compatible with the [semantic versioning system](https://semver.org).
|
||||
|
||||
## Versions
|
||||
<table>
|
||||
|
@ -16,6 +16,11 @@ The **StarOpenSource Versioning System** *(**SOSVS**)* is used throughout all St
|
|||
<tr>
|
||||
<th>1</th>
|
||||
<th>02.03.2024</th>
|
||||
<th><a href="/specifications/versioning/versions/1/">Specification</a></th>
|
||||
<th><a href="/specifications/versioning/versions/1/">Spec</a></th>
|
||||
</tr>
|
||||
</table>
|
||||
<tr>
|
||||
<th>2</th>
|
||||
<th>24.08.2024</th>
|
||||
<th><a href="/specifications/versioning/versions/2/">Spec</a></th>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
sidebar_position: 2
|
||||
title: "1"
|
||||
description: "Defines StarOpenSource's versioning system"
|
||||
description: "Versioning Specification v1"
|
||||
---
|
||||
|
||||
# Version 1
|
||||
|
@ -55,7 +55,7 @@ This table compares features between this specification, semantic versioning and
|
|||
<tr>
|
||||
<th>Compatible w/ SemVer</th>
|
||||
<th>Yes</th>
|
||||
<th><a href="https://piped.staropensource.de/watch?v=dQw4w9WgXcQ">⠀⠀⠀⠀⠀⠀⠀⠀⠀</a></th> <!-- Let's rickroll those idiots -->
|
||||
<th><a href="https://youtube.com/watch?v=dQw4w9WgXcQ"> </a></th> <!-- Let's rickroll those idiots -->
|
||||
<th>No</th>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -88,4 +88,4 @@ This table compares features between this specification, semantic versioning and
|
|||
<th>Yes</th>
|
||||
<th>Yes</th>
|
||||
</tr>
|
||||
</table>
|
||||
</table>
|
||||
|
|
85
docs/specifications/versioning/versions/2.md
Normal file
85
docs/specifications/versioning/versions/2.md
Normal file
|
@ -0,0 +1,85 @@
|
|||
---
|
||||
sidebar_position: 2
|
||||
title: "2"
|
||||
description: "Versioning Specification v2"
|
||||
---
|
||||
|
||||
# Version 2
|
||||
|
||||
## Vectors
|
||||
Vectors are integers or strings, which can only contain one piece of information. This specification specifies five distinct vectors.
|
||||
### Release
|
||||
The release vector is an integer and starts at `1`.
|
||||
|
||||
It keeps track of major changes within an application, document or other work.
|
||||
Major changes require a version vector bump. For example, breaking changes require a version vector bump.
|
||||
|
||||
A release vector bump is required, when:
|
||||
- a breaking change is introduced
|
||||
- the public, exported API changes (for applications)
|
||||
|
||||
The release vector may stay at `1` during the initial development, but should be increased once the work is usable and in a good state. [Works and especially applications should not stay on one version indefinitely](https://github.com/gohugoio/hugo/releases).
|
||||
### Type
|
||||
The type vector is a string and must have one of four values: `alpha`, `beta`, `releasecandidate` or `release`.
|
||||
|
||||
This vector identifies how stable the released version is.
|
||||
|
||||
- **alpha** identifies the work as experimental. The work may have many unresolved issues and may change significantly during further development. Usage is not recommended.
|
||||
- **beta** identifies the work as unstable. The work may have a few unresolved issues and may change from time to time during further development. Usage is not recommended.
|
||||
- **releasecandidate** identifies the work as potentially stable. The work may have a few smaller issues but it's shape is final. No new features may be added anymore unless required. Usage only recommended for testers and earlybirds.
|
||||
- **release** identifies the work as tested and stable. The work is finished and can be used without any problems.
|
||||
### Typerelease
|
||||
The typerelease vector is an integer and starts at `0`.
|
||||
|
||||
It keeps track of how many times a specific version type has been released.
|
||||
It resets back to `0` when the release or type vectors change.
|
||||
### Fork
|
||||
The fork vector is a string, can have any value (except for dashes and plus signs) and can be unset.
|
||||
|
||||
It identifies a fork of some other work.
|
||||
|
||||
Example: *Plate* gets forked and it's fork is named *Bowl*. *Bowl*'s fork vector will then be set to `bowl` (which was previously unset) to identify that *Bowl* is a fork of *Plate* with a few modifications.
|
||||
### Companion
|
||||
The companion vector is a string, can have any value and can be unset.
|
||||
|
||||
This vector identifies the version of another work that the work is based on.
|
||||
|
||||
Example: Modification *Improved Metal* (which uses this versioning specification) modifies *Spoon* (which uses [SemVer](https://semver.org)) version *4.1.2*. The companion vector of *Improved Metal* will then be set to `4.1.2`.
|
||||
|
||||
## Format
|
||||
A format is required for vectors to be displayed in.
|
||||
The release, type and typerelease vectors are required, the companion and fork vectors aren't.
|
||||
To leave one of the optional vectors out, simply remove the vector in question and it's separator character in front of it.
|
||||
### Minimal vectors
|
||||
```plain
|
||||
v23-releasecandidate5
|
||||
^ ^ ^
|
||||
| | |
|
||||
| | ------------ Typerelease vector
|
||||
| --------------------------- Type vector
|
||||
----------------------------- Release vector
|
||||
```
|
||||
### All vectors
|
||||
```plain
|
||||
v23-releasecandidate5-somefork+2.5.1
|
||||
^ ^ ^ ^ ^
|
||||
| | | | |
|
||||
| | | | --- Companion vector
|
||||
| | | ----------- Fork vector
|
||||
| | ------------ Typerelease vector
|
||||
| --------------------------- Type vector
|
||||
----------------------------- Release vector
|
||||
```
|
||||
|
||||
### SemVer Compatibility
|
||||
One of this specifications goals is to be compatible with the [semantic versioning system](https://semver.org) 2.0.0. To achieve this, simply use this format instead:
|
||||
```plain
|
||||
23.2.5-somefork+2.5.1
|
||||
^ ^ ^ ^ ^
|
||||
| | | | |
|
||||
| | | | ----- Companion vector (build)
|
||||
| | | ------------- Fork vector (pre-release)
|
||||
| | -------------- Typerelease vector (patch)
|
||||
| --------------- Type vector (minor); alpha is 0, beta is 1, releasecandidate is 2 and release is 3
|
||||
----------------- Release vector (major)
|
||||
```
|
|
@ -3,6 +3,6 @@
|
|||
"position": 1,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "Contains all SOSVS versions"
|
||||
"description": "Versions of this specification"
|
||||
}
|
||||
}
|
||||
|
|
6
docs/welcome.md
Normal file
6
docs/welcome.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
sidebar_position: 0
|
||||
---
|
||||
|
||||
# Welcome
|
||||
... to the StarOpenSource documentation! Here you can find policies regarding the project, specifications, our Terms of Service and more.
|
|
@ -3,126 +3,128 @@ import type {Config} from "@docusaurus/types";
|
|||
import type * as Preset from "@docusaurus/preset-classic";
|
||||
|
||||
const config: Config = {
|
||||
title: "sos!docs",
|
||||
url: "https://docs.staropensource.de",
|
||||
baseUrl: "/",
|
||||
|
||||
favicon: "dist/core.png",
|
||||
trailingSlash: true,
|
||||
i18n: {
|
||||
defaultLocale: "en",
|
||||
locales: ["en"],
|
||||
},
|
||||
noIndex: false,
|
||||
onBrokenLinks: "throw",
|
||||
onBrokenAnchors: "throw",
|
||||
onBrokenMarkdownLinks: "throw",
|
||||
onDuplicateRoutes: "warn",
|
||||
/*
|
||||
onBrokenLinks: "ignore",
|
||||
onBrokenAnchors: "ignore",
|
||||
onBrokenMarkdownLinks: "ignore",
|
||||
onDuplicateRoutes: "ignore",
|
||||
*/
|
||||
tagline: "Documenting StarOpenSource",
|
||||
|
||||
themeConfig: {
|
||||
docs: {
|
||||
sidebar: {
|
||||
hideable: false,
|
||||
autoCollapseCategories: true,
|
||||
}
|
||||
title: "sos!docs",
|
||||
url: "https://docs.staropensource.de",
|
||||
baseUrl: "/",
|
||||
|
||||
favicon: "https://fs.staropensource.de/imgs/StarOpenSource_Transparent.png",
|
||||
trailingSlash: true,
|
||||
i18n: {
|
||||
defaultLocale: "en",
|
||||
locales: [ "en" ],
|
||||
},
|
||||
navbar: {
|
||||
title: "sos!docs",
|
||||
logo: {
|
||||
alt: "sos!docs",
|
||||
src: "https://fs.staropensource.de/imgs/StarOpenSource_Transparent.png",
|
||||
href: '/about',
|
||||
},
|
||||
items: [
|
||||
{
|
||||
type: "docSidebar",
|
||||
sidebarId: "sidebar",
|
||||
position: "left",
|
||||
label: "Documentation",
|
||||
},
|
||||
{
|
||||
href: "https://git.staropensource.de/StarOpenSource/website-docs",
|
||||
label: "Source code",
|
||||
position: "right",
|
||||
},
|
||||
],
|
||||
},
|
||||
footer: {
|
||||
style: "dark",
|
||||
copyright: `Copyright (c) ${new Date().getFullYear()} The StarOpenSource Project & Contributors<br/>Licensed under the CC BY-NC-SA license, version 4.0.`,
|
||||
},
|
||||
prism: {
|
||||
theme: prismThemes.github,
|
||||
darkTheme: prismThemes.dracula,
|
||||
},
|
||||
} satisfies Preset.ThemeConfig,
|
||||
|
||||
presets: [
|
||||
[
|
||||
"classic",
|
||||
{
|
||||
debug: false,
|
||||
|
||||
noIndex: false,
|
||||
onBrokenLinks: "throw",
|
||||
onBrokenAnchors: "throw",
|
||||
onBrokenMarkdownLinks: "throw",
|
||||
onDuplicateRoutes: "warn",
|
||||
/*
|
||||
onBrokenLinks: "ignore",
|
||||
onBrokenAnchors: "ignore",
|
||||
onBrokenMarkdownLinks: "ignore",
|
||||
onDuplicateRoutes: "ignore",
|
||||
*/
|
||||
tagline: "A modular, extensible and easy to use Java game and application engine.",
|
||||
|
||||
themeConfig: {
|
||||
docs: {
|
||||
path:
|
||||
"docs",
|
||||
editUrl: "https://git.staropensource.de/StarOpenSource/website-docs/_edit/develop/",
|
||||
editLocalizedFiles: false,
|
||||
editCurrentVersion: true,
|
||||
routeBasePath: "",
|
||||
tagsBasePath: 'tags',
|
||||
sidebarPath: "./sidebars.ts",
|
||||
sidebarCollapsible: false,
|
||||
sidebarCollapsed: false,
|
||||
showLastUpdateAuthor: true,
|
||||
showLastUpdateTime: true,
|
||||
breadcrumbs: true,
|
||||
includeCurrentVersion: true,
|
||||
|
||||
sidebar: {
|
||||
hideable: true,
|
||||
autoCollapseCategories: true,
|
||||
},
|
||||
},
|
||||
sitemap: {
|
||||
changefreq: "monthly",
|
||||
priority: 0.5,
|
||||
filename: "sitemap.xml"
|
||||
|
||||
navbar: {
|
||||
title: "sos!docs",
|
||||
logo: {
|
||||
alt: "StarOpenSource Logo",
|
||||
src: "https://fs.staropensource.de/imgs/StarOpenSource_Transparent.png",
|
||||
href: '/welcome',
|
||||
},
|
||||
items: [
|
||||
{
|
||||
position: "left",
|
||||
type: "docSidebar",
|
||||
sidebarId: "sidebar",
|
||||
label: "Documentation",
|
||||
},
|
||||
{
|
||||
position: "left",
|
||||
type: "doc",
|
||||
docId: "specifications/index",
|
||||
label: "Specifications",
|
||||
},
|
||||
{
|
||||
position: "right",
|
||||
href: "https://git.staropensource.de/StarOpenSource-Infrastructure/website-docs",
|
||||
label: "Source code",
|
||||
},
|
||||
],
|
||||
},
|
||||
theme: {
|
||||
customCss: "./src/css/custom.css",
|
||||
footer: {
|
||||
style: "dark",
|
||||
copyright: `Copyright (c) ${new Date().getFullYear()} The StarOpenSource Project & Contributors<br/>Licensed under the GNU Affero General Public License version 3<br/>Documentation generated with <a href="https://docusaurus.io">Docusaurus</a>`,
|
||||
},
|
||||
} satisfies Preset.Options,
|
||||
],
|
||||
],
|
||||
|
||||
plugins: [
|
||||
[
|
||||
"@docusaurus/plugin-client-redirects",
|
||||
{
|
||||
fromExtensions: ["html", "htm", "php"],
|
||||
redirects: [
|
||||
{
|
||||
from: ["/", "/index"],
|
||||
to: "/about",
|
||||
},
|
||||
prism: {
|
||||
theme: prismThemes.github,
|
||||
darkTheme: prismThemes.dracula,
|
||||
},
|
||||
} satisfies Preset.ThemeConfig,
|
||||
|
||||
presets: [
|
||||
[
|
||||
"classic", {
|
||||
debug: false,
|
||||
|
||||
docs: {
|
||||
path: "docs",
|
||||
editUrl: "https://git.staropensource.de/StarOpenSource-Infrastructure/website-docs/_edit/develop/",
|
||||
editLocalizedFiles: false,
|
||||
editCurrentVersion: true,
|
||||
routeBasePath: "",
|
||||
tagsBasePath: 'tags',
|
||||
sidebarPath: "./sidebars.ts",
|
||||
sidebarCollapsible: true,
|
||||
sidebarCollapsed: false,
|
||||
showLastUpdateAuthor: true,
|
||||
showLastUpdateTime: true,
|
||||
breadcrumbs: true,
|
||||
includeCurrentVersion: true,
|
||||
},
|
||||
sitemap: {
|
||||
changefreq: "monthly",
|
||||
priority: 0.5,
|
||||
filename: "sitemap.xml",
|
||||
},
|
||||
theme: {
|
||||
customCss: "./src/css/custom.css",
|
||||
},
|
||||
} satisfies Preset.Options,
|
||||
],
|
||||
}
|
||||
],
|
||||
],
|
||||
|
||||
markdown: {
|
||||
format: "detect",
|
||||
mermaid: false,
|
||||
},
|
||||
|
||||
staticDirectories: ["static"],
|
||||
titleDelimiter: "»",
|
||||
baseUrlIssueBanner: true,
|
||||
|
||||
plugins: [
|
||||
[
|
||||
"@docusaurus/plugin-client-redirects",
|
||||
{
|
||||
fromExtensions: ["html", "htm", "php"],
|
||||
redirects: [
|
||||
{
|
||||
from: ["/", "/index"],
|
||||
to: "/welcome",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
],
|
||||
|
||||
markdown: {
|
||||
format: "detect",
|
||||
mermaid: false,
|
||||
},
|
||||
|
||||
staticDirectories: ["static"],
|
||||
titleDelimiter: "»",
|
||||
baseUrlIssueBanner: true,
|
||||
};
|
||||
|
||||
export default config;
|
||||
|
|
16
package.json
16
package.json
|
@ -15,11 +15,11 @@
|
|||
"typecheck": "tsc"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "3.4.0",
|
||||
"@docusaurus/plugin-client-redirects": "^3.4.0",
|
||||
"@docusaurus/plugin-content-docs": "^3.4.0",
|
||||
"@docusaurus/plugin-sitemap": "^3.4.0",
|
||||
"@docusaurus/preset-classic": "3.4.0",
|
||||
"@docusaurus/core": "3.6.3",
|
||||
"@docusaurus/plugin-client-redirects": "^3.6.3",
|
||||
"@docusaurus/plugin-content-docs": "^3.6.3",
|
||||
"@docusaurus/plugin-sitemap": "^3.6.3",
|
||||
"@docusaurus/preset-classic": "3.6.3",
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
"clsx": "^2.0.0",
|
||||
"prism-react-renderer": "^2.3.0",
|
||||
|
@ -27,9 +27,9 @@
|
|||
"react-dom": "^18.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "3.4.0",
|
||||
"@docusaurus/tsconfig": "3.4.0",
|
||||
"@docusaurus/types": "3.4.0",
|
||||
"@docusaurus/module-type-aliases": "3.6.3",
|
||||
"@docusaurus/tsconfig": "3.6.3",
|
||||
"@docusaurus/types": "3.6.3",
|
||||
"@types/node": "^20.11.0",
|
||||
"typescript": "~5.2.2"
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue