diff --git a/.gitea/workflows/docs-build.yml b/.gitea/workflows/docs-build.yml
new file mode 100644
index 0000000..8601921
--- /dev/null
+++ b/.gitea/workflows/docs-build.yml
@@ -0,0 +1,66 @@
+name: Documentation Build
+
+on:
+ push:
+ branches:
+ - 'main'
+
+env:
+ TZ: 'Europe/Berlin'
+ LANG: 'de'
+ CONFIGURATION: 'Release'
+ GITEA_SERVER_URL: ${{ gitea.server_url }}
+
+jobs:
+ build-test-deploy:
+ runs-on: server-runner
+ defaults:
+ run:
+ shell: bash
+ steps:
+ - name: Checkout repository code
+ uses: actions/checkout@v6
+ with:
+ fetch-depth: 0
+
+ - name: Setup dotnet
+ uses: actions/setup-dotnet@v5
+ with:
+ dotnet-version: 10.x
+ cache: false
+
+ - name: Restore dependencies
+ run: |
+ set -ex
+ dotnet restore -v q
+ echo "CI_SERVER_HOST=${GITEA_SERVER_URL#https://}" >> "$GITEA_ENV"
+
+ - name: Setup tools
+ run: |
+ set -ex
+ dotnet tool install dotnet-reportgenerator-globaltool --tool-path /dotnet-tools
+ dotnet tool install docfx --tool-path /dotnet-tools
+
+ - name: Build solution
+ run: |
+ set -ex
+ shopt -s globstar
+ mkdir /artifacts
+ dotnet build -c ${CONFIGURATION} --no-restore --nologo
+ mv ./**/*.nupkg /artifacts/ || true
+ mv ./**/*.snupkg /artifacts/ || true
+
+ - name: Test solution
+ run: |
+ set -ex
+ dotnet test -c ${CONFIGURATION} --no-build --nologo
+
+ - name: Publish documentation
+ env:
+ DOCFX_SOURCE_REPOSITORY_URL: 'https://gitea.am-wd.de/am-wd/common'
+ run: |
+ set -ex
+ /dotnet-tools/docfx metadata docs/docfx.json
+ /dotnet-tools/docfx build docs/docfx.json
+ tar -C "${{ gitea.workspace }}/docs/_site" -czf "/artifacts/docs.tar.gz" .
+ curl -sSL --no-progress-meter --user "${{ secrets.DOCS_DEPLOY_USER }}:${{ secrets.DOCS_DEPLOY_PASS }}" -F docs=common -F dump=@/artifacts/docs.tar.gz "${{ vars.DOCS_DEPLOY_URL }}"
\ No newline at end of file
diff --git a/.gitea/workflows/release-build.yml b/.gitea/workflows/release-build.yml
index 5858993..53269ca 100644
--- a/.gitea/workflows/release-build.yml
+++ b/.gitea/workflows/release-build.yml
@@ -15,6 +15,9 @@ env:
jobs:
build-test-deploy:
runs-on: ubuntu
+ defaults:
+ run:
+ shell: bash
steps:
- name: Checkout repository code
uses: actions/checkout@v6
@@ -58,4 +61,4 @@ jobs:
- name: Publish packages
run: |
set -ex
- dotnet nuget push -k "${{ secrets.BAGET_APIKEY }}" -s https://nuget.am-wd.de/v3/index.json --skip-duplicate /artifacts/*.nupkg
+ dotnet nuget push -k "${{ secrets.BAGET_APIKEY }}" -s https://nuget.am-wd.de/v3/index.json --skip-duplicate /artifacts/*.nupkg
\ No newline at end of file
diff --git a/docs/docfx.json b/docs/docfx.json
new file mode 100644
index 0000000..97a49dd
--- /dev/null
+++ b/docs/docfx.json
@@ -0,0 +1,65 @@
+{
+ "$schema": "https://raw.githubusercontent.com/dotnet/docfx/main/schemas/docfx.schema.json",
+ "metadata": [
+ {
+ "src": [
+ {
+ "src": "../",
+ "files": [
+ "src/AMWD.Common/bin/Release/netstandard2.0/amwd-common.dll",
+ "src/AMWD.Common.AspNetCore/bin/Release/net8.0/amwd-common-aspnetcore.dll",
+ "src/AMWD.Common.EntityFrameworkCore/bin/Release/net8.0/amwd-common-efcore.dll",
+ "src/AMWD.Common.MessagePack/bin/Release/netstandard2.0/amwd-common-msgpack.dll",
+ "src/AMWD.Common.Test/bin/Release/netstandard2.0/amwd-common-test.dll"
+ ]
+ }
+ ],
+ "dest": "api",
+ "outputFormat": "apiPage"
+ }
+ ],
+ "build": {
+ "content": [
+ {
+ "files": [ "**/*.{md,yml}" ],
+ "exclude": [ "_site/**", "obj/**" ]
+ }
+ ],
+ "resource": [
+ {
+ "files": [ "images/**" ],
+ "exclude": [ "_site/**", "obj/**" ]
+ }
+ ],
+ "output": "_site",
+ "template": [ "default", "modern", "templates/amwd" ],
+ "postProcessors": ["ExtractSearchIndex"],
+ "globalMetadata": {
+ "_appName": "AM.WD Common",
+ "_appTitle": "A collection of commonly used extensions, etc.",
+ "_appFooter": "© AM.WD — Docs generated using docfx.",
+ "_appLogoPath": "images/logo.svg",
+ "_appFaviconPath": "images/favicon.ico",
+ "_disableBreadcrumb": true,
+ "_disableContribution": true,
+ "_enableSearch": true,
+ "_enableNewTab": true,
+ "pdf": false
+ },
+ "markdownEngineName": "markdig",
+ "markdownEngineProperties": {
+ "alerts": {
+ "TODO": "alert alert-secondary"
+ }
+ },
+ "sitemap": {
+ "baseUrl": "https://docs.am-wd.de/common",
+ "priority": 0.5,
+ "changefreq": "weekly"
+ },
+ "noLangKeyword": false,
+ "keepFileLink": false,
+ "cleanupCacheHistory": false,
+ "disableGitFeatures": true
+ }
+}
\ No newline at end of file
diff --git a/docs/images/favicon.ico b/docs/images/favicon.ico
new file mode 100644
index 0000000..d383eac
Binary files /dev/null and b/docs/images/favicon.ico differ
diff --git a/docs/images/logo.svg b/docs/images/logo.svg
new file mode 100644
index 0000000..70920a1
--- /dev/null
+++ b/docs/images/logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 0000000..c4d64ab
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,18 @@
+---
+_layout: landing
+---
+
+# AM.WD Common
+
+Over many years, I copied many lines of code over and over again.
+So I deciced it was time to change something!
+
+I started my own NuGet package and it grew over time.
+
+Now I have my own packages with many extensions and "improvements" for my everyday use.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/templates/amwd/public/main.css b/docs/templates/amwd/public/main.css
new file mode 100644
index 0000000..057f8d0
--- /dev/null
+++ b/docs/templates/amwd/public/main.css
@@ -0,0 +1,3 @@
+#logo {
+ margin-right: 8px;
+}
\ No newline at end of file
diff --git a/docs/toc.yml b/docs/toc.yml
new file mode 100644
index 0000000..02dd0a3
--- /dev/null
+++ b/docs/toc.yml
@@ -0,0 +1,6 @@
+- name: API
+ href: api/
+- name: Git
+ href: https://gitea.am-wd.de/am-wd/common
+- name: NuGet
+ href: https://nuget.am-wd.de/?q=AMWD.Common