generated from nhcarrigan/template
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 85564d6373 | |||
|
ddaeb72638
|
|||
| 0ece797eee | |||
| caffb14deb | |||
|
9bdd7b8fa9
|
|||
| 5116bca086 | |||
| cc28f94a7a | |||
| 9013d181b4 | |||
| c2e25035e2 | |||
| c5a329d104 | |||
| d0401ad611 | |||
| 6b55719c04 |
+3
-2
@@ -12,8 +12,8 @@
|
|||||||
"bash"
|
"bash"
|
||||||
],
|
],
|
||||||
"ignoreRegExpList": [
|
"ignoreRegExpList": [
|
||||||
"```[\\s\\S]*?```", // Ignores multi-line code blocks in Markdown
|
"```[\\s\\S]*?```",
|
||||||
"`[^`\n]+`" // Ignores inline code blocks
|
"`[^`\n]+`"
|
||||||
],
|
],
|
||||||
"ignoreWords": [
|
"ignoreWords": [
|
||||||
"nhcarrigan",
|
"nhcarrigan",
|
||||||
@@ -101,6 +101,7 @@
|
|||||||
"Nederlands",
|
"Nederlands",
|
||||||
"Neurodivergence",
|
"Neurodivergence",
|
||||||
"Nomena",
|
"Nomena",
|
||||||
|
"NSFW",
|
||||||
"Nymira",
|
"Nymira",
|
||||||
"OFAC",
|
"OFAC",
|
||||||
"Ollama",
|
"Ollama",
|
||||||
|
|||||||
+15
-6
@@ -8,22 +8,31 @@ on:
|
|||||||
- main
|
- main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
ci:
|
||||||
name: Lint and Test
|
name: CI
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source Files
|
- name: Checkout Source Files
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Use Node.js v22
|
- name: Use Node.js v24
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 22
|
node-version: 24
|
||||||
|
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v2
|
uses: pnpm/action-setup@v2
|
||||||
with:
|
with:
|
||||||
version: 9
|
version: 10
|
||||||
|
|
||||||
|
- name: Ensure Dependencies are Pinned
|
||||||
|
uses: naomi-lgbt/dependency-pin-check@main
|
||||||
|
with:
|
||||||
|
language: javascript
|
||||||
|
dev-dependencies: true
|
||||||
|
peer-dependencies: true
|
||||||
|
optional-dependencies: true
|
||||||
|
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: pnpm install
|
run: pnpm install
|
||||||
@@ -35,4 +44,4 @@ jobs:
|
|||||||
run: pnpm run build
|
run: pnpm run build
|
||||||
|
|
||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: pnpm run test
|
run: pnpm run test
|
||||||
|
|||||||
+136
-100
@@ -1,4 +1,4 @@
|
|||||||
name: Security Scan
|
name: Security Scan and Upload
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -6,136 +6,172 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
schedule:
|
schedule:
|
||||||
# Run weekly on Mondays at 00:00 UTC
|
|
||||||
- cron: '0 0 * * 1'
|
- cron: '0 0 * * 1'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
continue_on_error: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
security:
|
security-audit:
|
||||||
name: Security Audit
|
name: Security & DefectDojo Upload
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
# --- AUTO-SETUP PROJECT ---
|
||||||
|
- name: Ensure DefectDojo Product Exists
|
||||||
|
env:
|
||||||
|
DD_URL: ${{ secrets.DD_URL }}
|
||||||
|
DD_TOKEN: ${{ secrets.DD_TOKEN }}
|
||||||
|
PRODUCT_NAME: ${{ github.repository }}
|
||||||
|
PRODUCT_TYPE_ID: 1
|
||||||
|
run: |
|
||||||
|
sudo apt-get install jq -y > /dev/null
|
||||||
|
|
||||||
|
echo "Checking connection to $DD_URL..."
|
||||||
|
|
||||||
|
# Check if product exists - capture HTTP code to debug connection issues
|
||||||
|
RESPONSE=$(curl --write-out "%{http_code}" --silent --output /tmp/response.json \
|
||||||
|
-H "Authorization: Token $DD_TOKEN" \
|
||||||
|
"$DD_URL/api/v2/products/?name=$PRODUCT_NAME")
|
||||||
|
|
||||||
|
# If response is not 200, print error
|
||||||
|
if [ "$RESPONSE" != "200" ]; then
|
||||||
|
echo "::error::Failed to query DefectDojo. HTTP Code: $RESPONSE"
|
||||||
|
cat /tmp/response.json
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
COUNT=$(cat /tmp/response.json | jq -r '.count')
|
||||||
|
|
||||||
|
if [ "$COUNT" = "0" ]; then
|
||||||
|
echo "Creating product '$PRODUCT_NAME'..."
|
||||||
|
curl -s -X POST "$DD_URL/api/v2/products/" \
|
||||||
|
-H "Authorization: Token $DD_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{ "name": "'"$PRODUCT_NAME"'", "description": "Auto-created by Gitea Actions", "prod_type": '$PRODUCT_TYPE_ID' }'
|
||||||
|
else
|
||||||
|
echo "Product '$PRODUCT_NAME' already exists."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- 1. TRIVY (Dependencies & Misconfig) ---
|
||||||
- name: Install Trivy
|
- name: Install Trivy
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install wget apt-transport-https gnupg lsb-release -y
|
sudo apt-get install wget apt-transport-https gnupg lsb-release -y
|
||||||
wget -qO /tmp/trivy-key.asc https://aquasecurity.github.io/trivy-repo/deb/public.key
|
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
|
||||||
sudo apt-key add /tmp/trivy-key.asc
|
|
||||||
echo "deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/trivy.list
|
echo "deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/trivy.list
|
||||||
sudo apt-get update
|
sudo apt-get update && sudo apt-get install trivy -y
|
||||||
sudo apt-get install trivy -y
|
|
||||||
|
|
||||||
- name: Run Trivy comprehensive security scan
|
- name: Run Trivy (FS Scan)
|
||||||
uses: aquasecurity/trivy-action@master
|
|
||||||
with:
|
|
||||||
scan-type: 'fs'
|
|
||||||
scan-ref: '.'
|
|
||||||
scanners: 'vuln,misconfig'
|
|
||||||
format: 'table'
|
|
||||||
output: 'trivy-results.txt'
|
|
||||||
severity: 'CRITICAL,HIGH,MEDIUM,LOW,UNKNOWN'
|
|
||||||
# Fail on any vulnerability found
|
|
||||||
exit-code: '1'
|
|
||||||
# Don't ignore unfixed vulnerabilities
|
|
||||||
ignore-unfixed: false
|
|
||||||
# Skip database update to speed up scans (uses cached DB)
|
|
||||||
skip-db-update: false
|
|
||||||
# Skip setup since we installed Trivy manually
|
|
||||||
skip-setup-trivy: true
|
|
||||||
|
|
||||||
- name: Display Trivy scan results
|
|
||||||
if: always()
|
|
||||||
run: |
|
run: |
|
||||||
if [ -f trivy-results.txt ]; then
|
trivy fs . --scanners vuln,misconfig --format json --output trivy-results.json --exit-code 0
|
||||||
echo "=== Trivy Security Scan Results ==="
|
|
||||||
cat trivy-results.txt
|
- name: Upload Trivy to DefectDojo
|
||||||
else
|
env:
|
||||||
echo "No Trivy scan results found"
|
DD_URL: ${{ secrets.DD_URL }}
|
||||||
|
DD_TOKEN: ${{ secrets.DD_TOKEN }}
|
||||||
|
run: |
|
||||||
|
echo "Uploading Trivy results..."
|
||||||
|
# Generate today's date in YYYY-MM-DD format
|
||||||
|
TODAY=$(date +%Y-%m-%d)
|
||||||
|
|
||||||
|
HTTP_CODE=$(curl --write-out "%{http_code}" --output response.txt --silent -X POST "$DD_URL/api/v2/import-scan/" \
|
||||||
|
-H "Authorization: Token $DD_TOKEN" \
|
||||||
|
-F "active=true" \
|
||||||
|
-F "verified=true" \
|
||||||
|
-F "scan_type=Trivy Scan" \
|
||||||
|
-F "engagement_name=CI/CD Pipeline" \
|
||||||
|
-F "product_name=${{ github.repository }}" \
|
||||||
|
-F "scan_date=$TODAY" \
|
||||||
|
-F "auto_create_context=true" \
|
||||||
|
-F "file=@trivy-results.json")
|
||||||
|
|
||||||
|
if [[ "$HTTP_CODE" != "200" && "$HTTP_CODE" != "201" ]]; then
|
||||||
|
echo "::error::Upload Failed with HTTP $HTTP_CODE"
|
||||||
|
echo "--- SERVER RESPONSE ---"
|
||||||
|
cat response.txt
|
||||||
|
echo "-----------------------"
|
||||||
exit 1
|
exit 1
|
||||||
|
else
|
||||||
|
echo "Upload Success!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# --- 2. GITLEAKS (Secrets) ---
|
||||||
- name: Install Gitleaks
|
- name: Install Gitleaks
|
||||||
run: |
|
run: |
|
||||||
wget -O /tmp/gitleaks.tar.gz https://github.com/gitleaks/gitleaks/releases/download/v8.30.0/gitleaks_8.30.0_linux_x64.tar.gz
|
wget -qO gitleaks.tar.gz https://github.com/gitleaks/gitleaks/releases/download/v8.18.0/gitleaks_8.18.0_linux_x64.tar.gz
|
||||||
tar -xzf /tmp/gitleaks.tar.gz -C /tmp
|
tar -xzf gitleaks.tar.gz
|
||||||
sudo mv /tmp/gitleaks /usr/local/bin/
|
sudo mv gitleaks /usr/local/bin/ && chmod +x /usr/local/bin/gitleaks
|
||||||
sudo chmod +x /usr/local/bin/gitleaks
|
|
||||||
gitleaks version
|
|
||||||
|
|
||||||
# We remove the Trivy cache to avoid false positives
|
- name: Run Gitleaks
|
||||||
- name: Run Gitleaks secret scan
|
run: gitleaks detect --source . -v --report-path gitleaks-results.json --report-format json --no-git || true
|
||||||
run: |
|
|
||||||
rm -rf .cache/trivy
|
|
||||||
gitleaks detect --source . --report-path gitleaks-results.json --report-format json --no-git
|
|
||||||
|
|
||||||
- name: Display Gitleaks scan results
|
- name: Upload Gitleaks to DefectDojo
|
||||||
if: always()
|
env:
|
||||||
|
DD_URL: ${{ secrets.DD_URL }}
|
||||||
|
DD_TOKEN: ${{ secrets.DD_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
if [ -f gitleaks-results.json ]; then
|
echo "Uploading Gitleaks results..."
|
||||||
echo "=== Gitleaks Secret Scan Results ==="
|
TODAY=$(date +%Y-%m-%d)
|
||||||
cat gitleaks-results.json
|
|
||||||
|
HTTP_CODE=$(curl --write-out "%{http_code}" --output response.txt --silent -X POST "$DD_URL/api/v2/import-scan/" \
|
||||||
|
-H "Authorization: Token $DD_TOKEN" \
|
||||||
|
-F "active=true" \
|
||||||
|
-F "verified=true" \
|
||||||
|
-F "scan_type=Gitleaks Scan" \
|
||||||
|
-F "engagement_name=CI/CD Pipeline" \
|
||||||
|
-F "product_name=${{ github.repository }}" \
|
||||||
|
-F "scan_date=$TODAY" \
|
||||||
|
-F "auto_create_context=true" \
|
||||||
|
-F "file=@gitleaks-results.json")
|
||||||
|
|
||||||
|
if [[ "$HTTP_CODE" != "200" && "$HTTP_CODE" != "201" ]]; then
|
||||||
|
echo "::error::Upload Failed with HTTP $HTTP_CODE"
|
||||||
|
echo "--- SERVER RESPONSE ---"
|
||||||
|
cat response.txt
|
||||||
|
echo "-----------------------"
|
||||||
|
exit 1
|
||||||
else
|
else
|
||||||
echo "No secrets detected by Gitleaks"
|
echo "Upload Success!"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Install Semgrep
|
# --- 3. SEMGREP (SAST) ---
|
||||||
|
- name: Install Semgrep (via pipx)
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get install pipx
|
sudo apt-get install pipx -y
|
||||||
pipx ensurepath
|
|
||||||
export PATH="$HOME/.local/bin:$PATH"
|
|
||||||
pipx install semgrep
|
pipx install semgrep
|
||||||
semgrep --version
|
# Add pipx binary path to GITHUB_PATH so next steps can see 'semgrep'
|
||||||
|
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
- name: Run Semgrep static analysis
|
- name: Run Semgrep
|
||||||
run: |
|
run: semgrep scan --config=p/security-audit --config=p/owasp-top-ten --json --output semgrep-results.json . || true
|
||||||
export PATH="$HOME/.local/bin:$PATH"
|
|
||||||
semgrep --config p/security-audit \
|
|
||||||
--config p/owasp-top-ten \
|
|
||||||
--config p/ci \
|
|
||||||
--config p/r2c-security-audit \
|
|
||||||
--config p/cwe-top-25 \
|
|
||||||
--output semgrep-results.txt \
|
|
||||||
.
|
|
||||||
|
|
||||||
- name: Display Semgrep scan results
|
- name: Upload Semgrep to DefectDojo
|
||||||
if: always()
|
env:
|
||||||
|
DD_URL: ${{ secrets.DD_URL }}
|
||||||
|
DD_TOKEN: ${{ secrets.DD_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
if [ -f semgrep-results.txt ]; then
|
echo "Uploading Semgrep results..."
|
||||||
echo "=== Semgrep Static Analysis Results ==="
|
TODAY=$(date +%Y-%m-%d)
|
||||||
cat semgrep-results.txt
|
|
||||||
|
HTTP_CODE=$(curl --write-out "%{http_code}" --output response.txt --silent -X POST "$DD_URL/api/v2/import-scan/" \
|
||||||
|
-H "Authorization: Token $DD_TOKEN" \
|
||||||
|
-F "active=true" \
|
||||||
|
-F "verified=true" \
|
||||||
|
-F "scan_type=Semgrep JSON Report" \
|
||||||
|
-F "engagement_name=CI/CD Pipeline" \
|
||||||
|
-F "product_name=${{ github.repository }}" \
|
||||||
|
-F "scan_date=$TODAY" \
|
||||||
|
-F "auto_create_context=true" \
|
||||||
|
-F "file=@semgrep-results.json")
|
||||||
|
|
||||||
|
if [[ "$HTTP_CODE" != "200" && "$HTTP_CODE" != "201" ]]; then
|
||||||
|
echo "::error::Upload Failed with HTTP $HTTP_CODE"
|
||||||
|
echo "--- SERVER RESPONSE ---"
|
||||||
|
cat response.txt
|
||||||
|
echo "-----------------------"
|
||||||
|
exit 1
|
||||||
else
|
else
|
||||||
echo "No Semgrep scan results found"
|
echo "Upload Success!"
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v6
|
|
||||||
with:
|
|
||||||
go-version: 'stable' # Latest stable version
|
|
||||||
|
|
||||||
- name: Install OSV Scanner
|
|
||||||
run: |
|
|
||||||
export PATH="$HOME/go/bin:$PATH"
|
|
||||||
go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latest
|
|
||||||
|
|
||||||
- name: Run OSV Scanner
|
|
||||||
run: |
|
|
||||||
export PATH="$HOME/go/bin:$PATH"
|
|
||||||
osv-scanner scan source --format table --output osv-results.txt -r .
|
|
||||||
|
|
||||||
- name: Display OSV Scanner scan results
|
|
||||||
if: always()
|
|
||||||
run: |
|
|
||||||
if [ -f osv-results.txt ]; then
|
|
||||||
echo "=== OSV Scanner Results ==="
|
|
||||||
cat osv-results.txt
|
|
||||||
else
|
|
||||||
echo "No OSV Scanner scan results found"
|
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# Package Manager Configuration
|
||||||
|
# Force pnpm usage - breaks npm/yarn intentionally
|
||||||
|
node-linker=pnpm
|
||||||
|
|
||||||
|
# Security: Disable all lifecycle scripts
|
||||||
|
ignore-scripts=true
|
||||||
|
enable-pre-post-scripts=false
|
||||||
|
|
||||||
|
# Security: Require packages to be 10+ days old before installation
|
||||||
|
minimum-release-age=14400
|
||||||
|
|
||||||
|
# Security: Verify package integrity hashes
|
||||||
|
verify-store-integrity=true
|
||||||
|
|
||||||
|
# Security: Enforce strict trust policies
|
||||||
|
trust-policy=strict
|
||||||
|
|
||||||
|
# Security: Strict peer dependency resolution
|
||||||
|
strict-peer-dependencies=true
|
||||||
|
|
||||||
|
# Performance: Use symlinks for node_modules
|
||||||
|
symlink=true
|
||||||
|
|
||||||
|
# Lockfile: Ensure lockfile is not modified during install
|
||||||
|
frozen-lockfile=false
|
||||||
@@ -1,47 +1,29 @@
|
|||||||
# Astro Starter Kit: Minimal
|
# docs
|
||||||
|
|
||||||
```sh
|
Documentation for NHCarrigan projects.
|
||||||
npm create astro@latest -- --template minimal
|
|
||||||
```
|
|
||||||
|
|
||||||
[](https://stackblitz.com/github/withastro/astro/tree/latest/examples/minimal)
|
## Live Version
|
||||||
[](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/minimal)
|
|
||||||
[](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/minimal/devcontainer.json)
|
|
||||||
|
|
||||||
> π§βπ **Seasoned astronaut?** Delete this file. Have fun!
|
This page is currently deployed. [View the live website.](https://docs.nhcarrigan.com)
|
||||||
|
|
||||||
## π Project Structure
|
## Feedback and Bugs
|
||||||
|
|
||||||
Inside of your Astro project, you'll see the following folders and files:
|
If you have feedback or a bug report, please [log a ticket on our forum](https://support.nhcarrigan.com).
|
||||||
|
|
||||||
```text
|
## Contributing
|
||||||
/
|
|
||||||
βββ public/
|
|
||||||
βββ src/
|
|
||||||
β βββ pages/
|
|
||||||
β βββ index.astro
|
|
||||||
βββ package.json
|
|
||||||
```
|
|
||||||
|
|
||||||
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
|
If you would like to contribute to the project, you may create a Pull Request containing your proposed changes and we will review it as soon as we are able! Please review our [contributing guidelines](CONTRIBUTING.md) first.
|
||||||
|
|
||||||
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
|
## Code of Conduct
|
||||||
|
|
||||||
Any static assets, like images, can be placed in the `public/` directory.
|
Before interacting with our community, please read our [Code of Conduct](CODE_OF_CONDUCT.md).
|
||||||
|
|
||||||
## π§ Commands
|
## License
|
||||||
|
|
||||||
All commands are run from the root of the project, from a terminal:
|
This software is licensed under our [global software license](https://docs.nhcarrigan.com/#/license).
|
||||||
|
|
||||||
| Command | Action |
|
Copyright held by Naomi Carrigan.
|
||||||
| :------------------------ | :----------------------------------------------- |
|
|
||||||
| `npm install` | Installs dependencies |
|
|
||||||
| `npm run dev` | Starts local dev server at `localhost:4321` |
|
|
||||||
| `npm run build` | Build your production site to `./dist/` |
|
|
||||||
| `npm run preview` | Preview your build locally, before deploying |
|
|
||||||
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
|
|
||||||
| `npm run astro -- --help` | Get help using the Astro CLI |
|
|
||||||
|
|
||||||
## π Want to learn more?
|
## Contact
|
||||||
|
|
||||||
Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
|
We may be contacted through our [Chat Server](http://chat.nhcarrigan.com) or via email at `contact@nhcarrigan.com`
|
||||||
|
|||||||
+1
-1
@@ -22,6 +22,6 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"cspell": "9.4.0",
|
"cspell": "9.4.0",
|
||||||
"gray-matter": "4.0.3",
|
"gray-matter": "4.0.3",
|
||||||
"vitest": "4.0.15"
|
"vitest": "4.0.18"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+75
-49
@@ -34,8 +34,8 @@ importers:
|
|||||||
specifier: 4.0.3
|
specifier: 4.0.3
|
||||||
version: 4.0.3
|
version: 4.0.3
|
||||||
vitest:
|
vitest:
|
||||||
specifier: 4.0.15
|
specifier: 4.0.18
|
||||||
version: 4.0.15(yaml@2.8.2)
|
version: 4.0.18(yaml@2.8.2)
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
@@ -627,111 +627,131 @@ packages:
|
|||||||
resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
|
resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-arm64@1.2.3':
|
'@img/sharp-libvips-linux-arm64@1.2.3':
|
||||||
resolution: {integrity: sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==}
|
resolution: {integrity: sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-arm@1.0.5':
|
'@img/sharp-libvips-linux-arm@1.0.5':
|
||||||
resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
|
resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-arm@1.2.3':
|
'@img/sharp-libvips-linux-arm@1.2.3':
|
||||||
resolution: {integrity: sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==}
|
resolution: {integrity: sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-ppc64@1.2.3':
|
'@img/sharp-libvips-linux-ppc64@1.2.3':
|
||||||
resolution: {integrity: sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==}
|
resolution: {integrity: sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-s390x@1.2.3':
|
'@img/sharp-libvips-linux-s390x@1.2.3':
|
||||||
resolution: {integrity: sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==}
|
resolution: {integrity: sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-x64@1.0.4':
|
'@img/sharp-libvips-linux-x64@1.0.4':
|
||||||
resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
|
resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-x64@1.2.3':
|
'@img/sharp-libvips-linux-x64@1.2.3':
|
||||||
resolution: {integrity: sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==}
|
resolution: {integrity: sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linuxmusl-arm64@1.2.3':
|
'@img/sharp-libvips-linuxmusl-arm64@1.2.3':
|
||||||
resolution: {integrity: sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==}
|
resolution: {integrity: sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@img/sharp-libvips-linuxmusl-x64@1.2.3':
|
'@img/sharp-libvips-linuxmusl-x64@1.2.3':
|
||||||
resolution: {integrity: sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==}
|
resolution: {integrity: sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@img/sharp-linux-arm64@0.33.5':
|
'@img/sharp-linux-arm64@0.33.5':
|
||||||
resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
|
resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linux-arm64@0.34.4':
|
'@img/sharp-linux-arm64@0.34.4':
|
||||||
resolution: {integrity: sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==}
|
resolution: {integrity: sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linux-arm@0.33.5':
|
'@img/sharp-linux-arm@0.33.5':
|
||||||
resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
|
resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linux-arm@0.34.4':
|
'@img/sharp-linux-arm@0.34.4':
|
||||||
resolution: {integrity: sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==}
|
resolution: {integrity: sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linux-ppc64@0.34.4':
|
'@img/sharp-linux-ppc64@0.34.4':
|
||||||
resolution: {integrity: sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==}
|
resolution: {integrity: sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linux-s390x@0.34.4':
|
'@img/sharp-linux-s390x@0.34.4':
|
||||||
resolution: {integrity: sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==}
|
resolution: {integrity: sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linux-x64@0.33.5':
|
'@img/sharp-linux-x64@0.33.5':
|
||||||
resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
|
resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linux-x64@0.34.4':
|
'@img/sharp-linux-x64@0.34.4':
|
||||||
resolution: {integrity: sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==}
|
resolution: {integrity: sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-arm64@0.34.4':
|
'@img/sharp-linuxmusl-arm64@0.34.4':
|
||||||
resolution: {integrity: sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==}
|
resolution: {integrity: sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-x64@0.34.4':
|
'@img/sharp-linuxmusl-x64@0.34.4':
|
||||||
resolution: {integrity: sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==}
|
resolution: {integrity: sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@img/sharp-wasm32@0.34.4':
|
'@img/sharp-wasm32@0.34.4':
|
||||||
resolution: {integrity: sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==}
|
resolution: {integrity: sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==}
|
||||||
@@ -857,56 +877,67 @@ packages:
|
|||||||
resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==}
|
resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm-musleabihf@4.52.5':
|
'@rollup/rollup-linux-arm-musleabihf@4.52.5':
|
||||||
resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==}
|
resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm64-gnu@4.52.5':
|
'@rollup/rollup-linux-arm64-gnu@4.52.5':
|
||||||
resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==}
|
resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm64-musl@4.52.5':
|
'@rollup/rollup-linux-arm64-musl@4.52.5':
|
||||||
resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==}
|
resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-linux-loong64-gnu@4.52.5':
|
'@rollup/rollup-linux-loong64-gnu@4.52.5':
|
||||||
resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==}
|
resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==}
|
||||||
cpu: [loong64]
|
cpu: [loong64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-ppc64-gnu@4.52.5':
|
'@rollup/rollup-linux-ppc64-gnu@4.52.5':
|
||||||
resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==}
|
resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-riscv64-gnu@4.52.5':
|
'@rollup/rollup-linux-riscv64-gnu@4.52.5':
|
||||||
resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==}
|
resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==}
|
||||||
cpu: [riscv64]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-riscv64-musl@4.52.5':
|
'@rollup/rollup-linux-riscv64-musl@4.52.5':
|
||||||
resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==}
|
resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==}
|
||||||
cpu: [riscv64]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-linux-s390x-gnu@4.52.5':
|
'@rollup/rollup-linux-s390x-gnu@4.52.5':
|
||||||
resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==}
|
resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-x64-gnu@4.52.5':
|
'@rollup/rollup-linux-x64-gnu@4.52.5':
|
||||||
resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==}
|
resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-x64-musl@4.52.5':
|
'@rollup/rollup-linux-x64-musl@4.52.5':
|
||||||
resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==}
|
resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-openharmony-arm64@4.52.5':
|
'@rollup/rollup-openharmony-arm64@4.52.5':
|
||||||
resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==}
|
resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==}
|
||||||
@@ -1131,11 +1162,11 @@ packages:
|
|||||||
'@ungap/structured-clone@1.2.0':
|
'@ungap/structured-clone@1.2.0':
|
||||||
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
|
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
|
||||||
|
|
||||||
'@vitest/expect@4.0.15':
|
'@vitest/expect@4.0.18':
|
||||||
resolution: {integrity: sha512-Gfyva9/GxPAWXIWjyGDli9O+waHDC0Q0jaLdFP1qPAUUfo1FEXPXUfUkp3eZA0sSq340vPycSyOlYUeM15Ft1w==}
|
resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==}
|
||||||
|
|
||||||
'@vitest/mocker@4.0.15':
|
'@vitest/mocker@4.0.18':
|
||||||
resolution: {integrity: sha512-CZ28GLfOEIFkvCFngN8Sfx5h+Se0zN+h4B7yOsPVCcgtiO7t5jt9xQh2E1UkFep+eb9fjyMfuC5gBypwb07fvQ==}
|
resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
msw: ^2.4.9
|
msw: ^2.4.9
|
||||||
vite: ^6.0.0 || ^7.0.0-0
|
vite: ^6.0.0 || ^7.0.0-0
|
||||||
@@ -1145,20 +1176,20 @@ packages:
|
|||||||
vite:
|
vite:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@vitest/pretty-format@4.0.15':
|
'@vitest/pretty-format@4.0.18':
|
||||||
resolution: {integrity: sha512-SWdqR8vEv83WtZcrfLNqlqeQXlQLh2iilO1Wk1gv4eiHKjEzvgHb2OVc3mIPyhZE6F+CtfYjNlDJwP5MN6Km7A==}
|
resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==}
|
||||||
|
|
||||||
'@vitest/runner@4.0.15':
|
'@vitest/runner@4.0.18':
|
||||||
resolution: {integrity: sha512-+A+yMY8dGixUhHmNdPUxOh0la6uVzun86vAbuMT3hIDxMrAOmn5ILBHm8ajrqHE0t8R9T1dGnde1A5DTnmi3qw==}
|
resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==}
|
||||||
|
|
||||||
'@vitest/snapshot@4.0.15':
|
'@vitest/snapshot@4.0.18':
|
||||||
resolution: {integrity: sha512-A7Ob8EdFZJIBjLjeO0DZF4lqR6U7Ydi5/5LIZ0xcI+23lYlsYJAfGn8PrIWTYdZQRNnSRlzhg0zyGu37mVdy5g==}
|
resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==}
|
||||||
|
|
||||||
'@vitest/spy@4.0.15':
|
'@vitest/spy@4.0.18':
|
||||||
resolution: {integrity: sha512-+EIjOJmnY6mIfdXtE/bnozKEvTC4Uczg19yeZ2vtCz5Yyb0QQ31QWVQ8hswJ3Ysx/K2EqaNsVanjr//2+P3FHw==}
|
resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==}
|
||||||
|
|
||||||
'@vitest/utils@4.0.15':
|
'@vitest/utils@4.0.18':
|
||||||
resolution: {integrity: sha512-HXjPW2w5dxhTD0dLwtYHDnelK3j8sR8cWIaLxr22evTyY6q8pRCjZSmhRWVjBaOVXChQd6AwMzi9pucorXCPZA==}
|
resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==}
|
||||||
|
|
||||||
'@volar/kit@2.4.27':
|
'@volar/kit@2.4.27':
|
||||||
resolution: {integrity: sha512-ilZoQDMLzqmSsImJRWx4YiZ4FcvvPrPnFVmL6hSsIWB6Bn3qc7k88J9yP32dagrs5Y8EXIlvvD/mAFaiuEOACQ==}
|
resolution: {integrity: sha512-ilZoQDMLzqmSsImJRWx4YiZ4FcvvPrPnFVmL6hSsIWB6Bn3qc7k88J9yP32dagrs5Y8EXIlvvD/mAFaiuEOACQ==}
|
||||||
@@ -2767,9 +2798,6 @@ packages:
|
|||||||
tinybench@2.9.0:
|
tinybench@2.9.0:
|
||||||
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
|
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
|
||||||
|
|
||||||
tinyexec@1.0.1:
|
|
||||||
resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==}
|
|
||||||
|
|
||||||
tinyexec@1.0.2:
|
tinyexec@1.0.2:
|
||||||
resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==}
|
resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
@@ -3004,18 +3032,18 @@ packages:
|
|||||||
vite:
|
vite:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
vitest@4.0.15:
|
vitest@4.0.18:
|
||||||
resolution: {integrity: sha512-n1RxDp8UJm6N0IbJLQo+yzLZ2sQCDyl1o0LeugbPWf8+8Fttp29GghsQBjYJVmWq3gBFfe9Hs1spR44vovn2wA==}
|
resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==}
|
||||||
engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
|
engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@edge-runtime/vm': '*'
|
'@edge-runtime/vm': '*'
|
||||||
'@opentelemetry/api': ^1.9.0
|
'@opentelemetry/api': ^1.9.0
|
||||||
'@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
|
'@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
|
||||||
'@vitest/browser-playwright': 4.0.15
|
'@vitest/browser-playwright': 4.0.18
|
||||||
'@vitest/browser-preview': 4.0.15
|
'@vitest/browser-preview': 4.0.18
|
||||||
'@vitest/browser-webdriverio': 4.0.15
|
'@vitest/browser-webdriverio': 4.0.18
|
||||||
'@vitest/ui': 4.0.15
|
'@vitest/ui': 4.0.18
|
||||||
happy-dom: '*'
|
happy-dom: '*'
|
||||||
jsdom: '*'
|
jsdom: '*'
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
@@ -3232,7 +3260,7 @@ snapshots:
|
|||||||
'@antfu/install-pkg@1.1.0':
|
'@antfu/install-pkg@1.1.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
package-manager-detector: 1.3.0
|
package-manager-detector: 1.3.0
|
||||||
tinyexec: 1.0.1
|
tinyexec: 1.0.2
|
||||||
|
|
||||||
'@antfu/utils@9.2.0': {}
|
'@antfu/utils@9.2.0': {}
|
||||||
|
|
||||||
@@ -4340,43 +4368,43 @@ snapshots:
|
|||||||
|
|
||||||
'@ungap/structured-clone@1.2.0': {}
|
'@ungap/structured-clone@1.2.0': {}
|
||||||
|
|
||||||
'@vitest/expect@4.0.15':
|
'@vitest/expect@4.0.18':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@standard-schema/spec': 1.0.0
|
'@standard-schema/spec': 1.0.0
|
||||||
'@types/chai': 5.2.3
|
'@types/chai': 5.2.3
|
||||||
'@vitest/spy': 4.0.15
|
'@vitest/spy': 4.0.18
|
||||||
'@vitest/utils': 4.0.15
|
'@vitest/utils': 4.0.18
|
||||||
chai: 6.2.1
|
chai: 6.2.1
|
||||||
tinyrainbow: 3.0.3
|
tinyrainbow: 3.0.3
|
||||||
|
|
||||||
'@vitest/mocker@4.0.15(vite@6.4.1(yaml@2.8.2))':
|
'@vitest/mocker@4.0.18(vite@6.4.1(yaml@2.8.2))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/spy': 4.0.15
|
'@vitest/spy': 4.0.18
|
||||||
estree-walker: 3.0.3
|
estree-walker: 3.0.3
|
||||||
magic-string: 0.30.21
|
magic-string: 0.30.21
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
vite: 6.4.1(yaml@2.8.2)
|
vite: 6.4.1(yaml@2.8.2)
|
||||||
|
|
||||||
'@vitest/pretty-format@4.0.15':
|
'@vitest/pretty-format@4.0.18':
|
||||||
dependencies:
|
dependencies:
|
||||||
tinyrainbow: 3.0.3
|
tinyrainbow: 3.0.3
|
||||||
|
|
||||||
'@vitest/runner@4.0.15':
|
'@vitest/runner@4.0.18':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/utils': 4.0.15
|
'@vitest/utils': 4.0.18
|
||||||
pathe: 2.0.3
|
pathe: 2.0.3
|
||||||
|
|
||||||
'@vitest/snapshot@4.0.15':
|
'@vitest/snapshot@4.0.18':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/pretty-format': 4.0.15
|
'@vitest/pretty-format': 4.0.18
|
||||||
magic-string: 0.30.21
|
magic-string: 0.30.21
|
||||||
pathe: 2.0.3
|
pathe: 2.0.3
|
||||||
|
|
||||||
'@vitest/spy@4.0.15': {}
|
'@vitest/spy@4.0.18': {}
|
||||||
|
|
||||||
'@vitest/utils@4.0.15':
|
'@vitest/utils@4.0.18':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/pretty-format': 4.0.15
|
'@vitest/pretty-format': 4.0.18
|
||||||
tinyrainbow: 3.0.3
|
tinyrainbow: 3.0.3
|
||||||
|
|
||||||
'@volar/kit@2.4.27(typescript@5.9.3)':
|
'@volar/kit@2.4.27(typescript@5.9.3)':
|
||||||
@@ -6710,8 +6738,6 @@ snapshots:
|
|||||||
|
|
||||||
tinybench@2.9.0: {}
|
tinybench@2.9.0: {}
|
||||||
|
|
||||||
tinyexec@1.0.1: {}
|
|
||||||
|
|
||||||
tinyexec@1.0.2: {}
|
tinyexec@1.0.2: {}
|
||||||
|
|
||||||
tinyglobby@0.2.15:
|
tinyglobby@0.2.15:
|
||||||
@@ -6876,15 +6902,15 @@ snapshots:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
vite: 6.4.1(yaml@2.8.2)
|
vite: 6.4.1(yaml@2.8.2)
|
||||||
|
|
||||||
vitest@4.0.15(yaml@2.8.2):
|
vitest@4.0.18(yaml@2.8.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/expect': 4.0.15
|
'@vitest/expect': 4.0.18
|
||||||
'@vitest/mocker': 4.0.15(vite@6.4.1(yaml@2.8.2))
|
'@vitest/mocker': 4.0.18(vite@6.4.1(yaml@2.8.2))
|
||||||
'@vitest/pretty-format': 4.0.15
|
'@vitest/pretty-format': 4.0.18
|
||||||
'@vitest/runner': 4.0.15
|
'@vitest/runner': 4.0.18
|
||||||
'@vitest/snapshot': 4.0.15
|
'@vitest/snapshot': 4.0.18
|
||||||
'@vitest/spy': 4.0.15
|
'@vitest/spy': 4.0.18
|
||||||
'@vitest/utils': 4.0.15
|
'@vitest/utils': 4.0.18
|
||||||
es-module-lexer: 1.7.0
|
es-module-lexer: 1.7.0
|
||||||
expect-type: 1.2.2
|
expect-type: 1.2.2
|
||||||
magic-string: 0.30.21
|
magic-string: 0.30.21
|
||||||
|
|||||||
+86507
-1342
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 4.9 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 6.0 MiB |
@@ -1,5 +1,6 @@
|
|||||||
export const navigation = [
|
export const navigation = [
|
||||||
{
|
{
|
||||||
|
// #region About Us
|
||||||
label: "About Us",
|
label: "About Us",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [
|
items: [
|
||||||
@@ -49,6 +50,8 @@ export const navigation = [
|
|||||||
},
|
},
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Legal Information
|
||||||
{
|
{
|
||||||
label: "Legal Information",
|
label: "Legal Information",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -115,6 +118,8 @@ export const navigation = [
|
|||||||
},
|
},
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Community Policies
|
||||||
{
|
{
|
||||||
label: "Community Policies",
|
label: "Community Policies",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -143,8 +148,14 @@ export const navigation = [
|
|||||||
label: "Community Feedback and Participation Policy",
|
label: "Community Feedback and Participation Policy",
|
||||||
link: "/community/feedback",
|
link: "/community/feedback",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "Fan Art Guidelines",
|
||||||
|
link: "/community/fan-art",
|
||||||
|
}
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Development Documentation
|
||||||
{
|
{
|
||||||
label: "Development Documentation",
|
label: "Development Documentation",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -183,6 +194,8 @@ export const navigation = [
|
|||||||
}
|
}
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Mentorship Programme
|
||||||
{
|
{
|
||||||
label: "Mentorship Programme",
|
label: "Mentorship Programme",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -279,6 +292,8 @@ export const navigation = [
|
|||||||
}
|
}
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Project Documentation
|
||||||
{
|
{
|
||||||
label: "Project Documentation",
|
label: "Project Documentation",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -715,6 +730,8 @@ export const navigation = [
|
|||||||
},
|
},
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Staff Guidelines
|
||||||
{
|
{
|
||||||
label: "Staff Guidelines",
|
label: "Staff Guidelines",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -807,6 +824,10 @@ export const navigation = [
|
|||||||
label: "Documentation and Transparency Training for Staff",
|
label: "Documentation and Transparency Training for Staff",
|
||||||
link: "/staff/training/documentation-transparency",
|
link: "/staff/training/documentation-transparency",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "Support Forum Moderation Training for Staff",
|
||||||
|
link: "/staff/training/forum-moderation",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: "Harassment and Bullying Response Training for Staff",
|
label: "Harassment and Bullying Response Training for Staff",
|
||||||
link: "/staff/training/harassment-bullying-response",
|
link: "/staff/training/harassment-bullying-response",
|
||||||
@@ -835,6 +856,8 @@ export const navigation = [
|
|||||||
},
|
},
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region Miscellaneous Documents
|
||||||
{
|
{
|
||||||
label: "Miscellaneous Documents",
|
label: "Miscellaneous Documents",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
@@ -853,11 +876,21 @@ export const navigation = [
|
|||||||
}
|
}
|
||||||
].sort((a, b) => a.label.localeCompare(b.label)),
|
].sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
|
// #endregion
|
||||||
|
// #region External Links
|
||||||
{
|
{
|
||||||
label: "Sitemap",
|
label: "Discord",
|
||||||
link: "https://sitemap.nhcarrigan.com",
|
link: "https://chat.nhcarrigan.com",
|
||||||
attrs: {
|
attrs: {
|
||||||
target: "_blank",
|
target: "_blank",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "Support Forum",
|
||||||
|
link: "https://support.nhcarrigan.com",
|
||||||
|
attrs: {
|
||||||
|
target: "_blank",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
// #endregion
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -135,9 +135,9 @@ Our code repositories are all self-hosted. Git accounts are only granted to Team
|
|||||||
- Issue tracking
|
- Issue tracking
|
||||||
- Source code for all of our products
|
- Source code for all of our products
|
||||||
- Best for: Viewing source code and documentation
|
- Best for: Viewing source code and documentation
|
||||||
- **Bug Reports and Feature Requests**: To report bugs or request features, please use our Discord forum channels:
|
- **Bug Reports and Feature Requests**: To report bugs or request features, please use our support forum:
|
||||||
- `#bug-reports` forum channel for bug reports
|
- [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) for bug reports
|
||||||
- `#feature-requests` forum channel for feature requests
|
- [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) for feature requests
|
||||||
|
|
||||||
### 2.3. Etiquette and Best Practices
|
### 2.3. Etiquette and Best Practices
|
||||||
|
|
||||||
@@ -237,10 +237,10 @@ We offer several email addresses for specific types of inquiries. Please use the
|
|||||||
### 5.2. Billing and Financial Matters
|
### 5.2. Billing and Financial Matters
|
||||||
|
|
||||||
:::tip[Preferred Method]{icon=message}
|
:::tip[Preferred Method]{icon=message}
|
||||||
We encourage you to use the **#billing-questions** Discord forum channel for billing inquiries. This allows for public discussion and faster responses. If you need to share sensitive financial information, you can ask staff to make your thread private, or contact us via email for complete confidentiality.
|
We encourage you to use the [**Billing Questions**](https://support.nhcarrigan.com/c/billing-questions/13) category on our support forum for billing inquiries. This allows for public discussion and faster responses. If you need to share sensitive financial information, you can ask staff to make your thread private, or contact us via email for complete confidentiality.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
- **Discord Forum:** `#billing-questions` (preferred for most inquiries)
|
- **Support Forum:** [Billing Questions](https://support.nhcarrigan.com/c/billing-questions/13) (preferred for most inquiries)
|
||||||
- Email: billing@nhcarrigan.com (for highly sensitive financial information requiring complete confidentiality)
|
- Email: billing@nhcarrigan.com (for highly sensitive financial information requiring complete confidentiality)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Questions about payments or invoices
|
- Questions about payments or invoices
|
||||||
@@ -251,10 +251,10 @@ We encourage you to use the **#billing-questions** Discord forum channel for bil
|
|||||||
### 5.3. Technical Support
|
### 5.3. Technical Support
|
||||||
|
|
||||||
:::tip[Preferred Method]{icon=message}
|
:::tip[Preferred Method]{icon=message}
|
||||||
We encourage you to use the **#technical-support** Discord forum channel for support inquiries. This allows for public discussion and faster responses. If you need to share sensitive information, you can ask staff to make your thread private, or contact us via email for complete confidentiality.
|
We encourage you to use the [**Technical Support**](https://support.nhcarrigan.com/c/technical-support/5) category on our support forum for support inquiries. This allows for public discussion and faster responses. If you need to share sensitive information, you can ask staff to make your thread private, or contact us via email for complete confidentiality.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
- **Discord Forum:** `#technical-support` (preferred for most inquiries)
|
- **Support Forum:** [Technical Support](https://support.nhcarrigan.com/c/technical-support/5) (preferred for most inquiries)
|
||||||
- Email: support@nhcarrigan.com
|
- Email: support@nhcarrigan.com
|
||||||
- Use for:
|
- Use for:
|
||||||
- Assistance with using our software or services
|
- Assistance with using our software or services
|
||||||
@@ -296,10 +296,10 @@ This form helps ensure we collect all necessary information to investigate and a
|
|||||||
### 5.6. Legal Inquiries
|
### 5.6. Legal Inquiries
|
||||||
|
|
||||||
:::tip[Preferred Method]{icon=message}
|
:::tip[Preferred Method]{icon=message}
|
||||||
We encourage you to use the **#legal-notices** Discord forum channel for legal inquiries. This allows for public discussion and transparency. If you need to share sensitive legal information, you can ask staff to make your thread private, or contact us via email for urgent matters requiring immediate confidentiality.
|
We encourage you to use the [**Legal Notices**](https://support.nhcarrigan.com/c/legal-notices/12) category on our support forum for legal inquiries. This allows for public discussion and transparency. If you need to share sensitive legal information, you can ask staff to make your thread private, or contact us via email for urgent matters requiring immediate confidentiality.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
- **Discord Forum:** `#legal-notices` (preferred for most inquiries)
|
- **Support Forum:** [Legal Notices](https://support.nhcarrigan.com/c/legal-notices/12) (preferred for most inquiries)
|
||||||
- Email: legal@nhcarrigan.com (for urgent legal matters requiring immediate confidentiality)
|
- Email: legal@nhcarrigan.com (for urgent legal matters requiring immediate confidentiality)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Legal questions or concerns
|
- Legal questions or concerns
|
||||||
@@ -309,7 +309,18 @@ We encourage you to use the **#legal-notices** Discord forum channel for legal i
|
|||||||
|
|
||||||
### 5.7. Feedback and Suggestions
|
### 5.7. Feedback and Suggestions
|
||||||
|
|
||||||
- Email: feedback@nhcarrigan.com
|
:::tip[Preferred Method]{icon=message}
|
||||||
|
We encourage you to use our support forum for different types of feedback:
|
||||||
|
- [**Community Feedback**](https://support.nhcarrigan.com/c/community-feedback/8) for general feedback about our community, services, events, and initiatives
|
||||||
|
- [**Policy Ideation**](https://support.nhcarrigan.com/c/policy-ideation/9) for suggestions about community policies and governance
|
||||||
|
- [**Accessibility Feedback**](https://support.nhcarrigan.com/c/accessibility-feedback/10) for reporting accessibility barriers and improvement suggestions
|
||||||
|
:::
|
||||||
|
|
||||||
|
- **Support Forum:**
|
||||||
|
- [Community Feedback](https://support.nhcarrigan.com/c/community-feedback/8) (preferred for general feedback)
|
||||||
|
- [Policy Ideation](https://support.nhcarrigan.com/c/policy-ideation/9) (preferred for policy suggestions)
|
||||||
|
- [Accessibility Feedback](https://support.nhcarrigan.com/c/accessibility-feedback/10) (preferred for accessibility matters)
|
||||||
|
- Email: feedback@nhcarrigan.com (if you prefer email communication)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Providing feedback on our work or projects
|
- Providing feedback on our work or projects
|
||||||
- Suggesting improvements or new features
|
- Suggesting improvements or new features
|
||||||
@@ -319,10 +330,10 @@ We encourage you to use the **#legal-notices** Discord forum channel for legal i
|
|||||||
### 5.8. Press/Media Inquiries
|
### 5.8. Press/Media Inquiries
|
||||||
|
|
||||||
:::tip[Preferred Method]{icon=message}
|
:::tip[Preferred Method]{icon=message}
|
||||||
We encourage you to use the **#press-inquiries** Discord forum channel for media inquiries. This allows for public discussion and community visibility. If you need to share sensitive information, you can ask staff to make your thread private, or contact us via email for highly sensitive media matters requiring complete confidentiality.
|
We encourage you to use the [**Press Inquiries**](https://support.nhcarrigan.com/c/press-inquiries/14) category on our support forum for media inquiries. This allows for public discussion and community visibility. If you need to share sensitive information, you can ask staff to make your thread private, or contact us via email for highly sensitive media matters requiring complete confidentiality.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
- **Discord Forum:** `#press-inquiries` (preferred for most inquiries)
|
- **Support Forum:** [Press Inquiries](https://support.nhcarrigan.com/c/press-inquiries/14) (preferred for most inquiries)
|
||||||
- Email: press@nhcarrigan.com (for highly sensitive media matters requiring complete confidentiality)
|
- Email: press@nhcarrigan.com (for highly sensitive media matters requiring complete confidentiality)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Requesting comment regarding news
|
- Requesting comment regarding news
|
||||||
@@ -341,10 +352,10 @@ We encourage you to use the **#press-inquiries** Discord forum channel for media
|
|||||||
### 5.10. Marketing Inquiries
|
### 5.10. Marketing Inquiries
|
||||||
|
|
||||||
:::tip[Preferred Method]{icon=message}
|
:::tip[Preferred Method]{icon=message}
|
||||||
We encourage you to use the **#marketing-proposals** Discord forum channel for marketing inquiries. This allows for public discussion and community input. If you need to share highly confidential business information, you can ask staff to make your thread private, or contact us via email for proposals requiring complete privacy.
|
We encourage you to use the [**Marketing Proposals**](https://support.nhcarrigan.com/c/marketing-proposals/15) category on our support forum for marketing inquiries. This allows for public discussion and community input. If you need to share highly confidential business information, you can ask staff to make your thread private, or contact us via email for proposals requiring complete privacy.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
- **Discord Forum:** `#marketing-proposals` (preferred for most inquiries)
|
- **Support Forum:** [Marketing Proposals](https://support.nhcarrigan.com/c/marketing-proposals/15) (preferred for most inquiries)
|
||||||
- Email: marketing@nhcarrigan.com (for highly confidential business proposals requiring complete privacy)
|
- Email: marketing@nhcarrigan.com (for highly confidential business proposals requiring complete privacy)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Marketing collaboration proposals
|
- Marketing collaboration proposals
|
||||||
@@ -364,10 +375,10 @@ We encourage you to use the **#marketing-proposals** Discord forum channel for m
|
|||||||
### 5.12. Partnerships
|
### 5.12. Partnerships
|
||||||
|
|
||||||
:::tip[Preferred Method]{icon=message}
|
:::tip[Preferred Method]{icon=message}
|
||||||
We encourage you to use the **#partnership-requests** Discord forum channel for partnership inquiries. This allows for public discussion and community input on potential partnerships. If you need to share sensitive business information, you can ask staff to make your thread private, or contact us via email if you need complete confidentiality from the start.
|
We encourage you to use the [**Partnership Requests**](https://support.nhcarrigan.com/c/partnership-requests/11) category on our support forum for partnership inquiries. This allows for public discussion and community input on potential partnerships. If you need to share sensitive business information, you can ask staff to make your thread private, or contact us via email if you need complete confidentiality from the start.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
- **Discord Forum:** `#partnership-requests` (preferred for most inquiries)
|
- **Support Forum:** [Partnership Requests](https://support.nhcarrigan.com/c/partnership-requests/11) (preferred for most inquiries)
|
||||||
- Email: partners@nhcarrigan.com (if you need complete confidentiality from the start)
|
- Email: partners@nhcarrigan.com (if you need complete confidentiality from the start)
|
||||||
- Use for:
|
- Use for:
|
||||||
- Requesting a collaboration between our organisation and yours
|
- Requesting a collaboration between our organisation and yours
|
||||||
|
|||||||
@@ -0,0 +1,186 @@
|
|||||||
|
---
|
||||||
|
title: Fan Art Guidelines
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Introduction and Purpose
|
||||||
|
|
||||||
|
### 1.1. Welcome to Our Fan Art Community!
|
||||||
|
|
||||||
|
Are you interested in creating art for our lovely Naomi? We absolutely love seeing creative interpretations of our characters and would be thrilled to feature your work! These guidelines will help you understand what we're looking for and how to submit your creations.
|
||||||
|
|
||||||
|
### 1.2. Scope
|
||||||
|
|
||||||
|
These guidelines apply to:
|
||||||
|
- Fan art of Naomi and her various designs
|
||||||
|
- Fan art of Original Characters (OCs) shared in our #characters channel (Naomi's OCs)
|
||||||
|
- Any artistic interpretations of our characters and community
|
||||||
|
|
||||||
|
## 2. Content Guidelines
|
||||||
|
|
||||||
|
### 2.1. Content Standards
|
||||||
|
|
||||||
|
#### 2.1.1. Family-Friendly Public Submissions
|
||||||
|
|
||||||
|
For art that will be shared in our public spaces (such as our fan art channel), we maintain family-friendly standards:
|
||||||
|
|
||||||
|
**(a)** **No Obscene or NSFW Content**: Public submissions must be appropriate for all audiences. We want to show your work off to everyone!
|
||||||
|
|
||||||
|
**(b)** **Original Works Only**: Please no AI-generated content. We want to see your original works! If Naomi wanted AI-generated art, she would generate it herself.
|
||||||
|
|
||||||
|
**(c)** **Creative Freedom**: You are free to give Naomi whatever outfit you would like. Refer to our reference channel for reference images to get an idea of her style.
|
||||||
|
|
||||||
|
#### 2.1.2. NSFW Content Policy
|
||||||
|
|
||||||
|
We understand that some artists may wish to create mature content featuring our characters. We have the following policy for such works:
|
||||||
|
|
||||||
|
**(a)** **DM Submission Required**: NSFW works must be sent to us via direct message (DM) only. Do not post NSFW content in any public channels.
|
||||||
|
|
||||||
|
**(b)** **Private Appreciation**: While we appreciate all artistic interpretations, NSFW works will not be shared in our public spaces as we are a family-friendly community.
|
||||||
|
|
||||||
|
**(c)** **Respectful Content**: Even for private submissions, we reserve the right to decline content that we find inappropriate or that violates our community standards.
|
||||||
|
|
||||||
|
**(d)** **Recognition**: Accepted NSFW submissions will still qualify for the role!
|
||||||
|
|
||||||
|
### 2.2. Original Characters (OCs)
|
||||||
|
|
||||||
|
We have a dedicated **#characters** channel where Naomi shares her Original Characters! You are welcome and encouraged to create fan art of these OCs as well. When creating art of Naomi's OCs:
|
||||||
|
|
||||||
|
**(a)** **Respect Character Design**: Please respect the original character designs and creator intentions.
|
||||||
|
|
||||||
|
**(b)** **Follow Same Guidelines**: All content guidelines (family-friendly for public, NSFW via DM only) apply to OC fan art as well.
|
||||||
|
|
||||||
|
## 3. Reference Materials and Resources
|
||||||
|
|
||||||
|
### 3.1. Available Reference Materials
|
||||||
|
|
||||||
|
#### 3.1.1. Reference Images
|
||||||
|
|
||||||
|
We maintain reference images in our Discord reference channel. These images can help you understand Naomi's style, color palette, and design elements.
|
||||||
|
|
||||||
|
### 3.2. Important Disclaimer About Reference Materials
|
||||||
|
|
||||||
|
:::warning[AI-Generated Reference Materials Disclaimer]
|
||||||
|
**Please be aware that our current reference sheets and other visual assets are AI-generated. This is a temporary situation.**
|
||||||
|
|
||||||
|
We operate at a significant loss and do not currently have the budget to commission proper, human-created art for all of our reference materials. However, we are committed to replacing these AI-generated assets with proper commissioned art as funds become available.
|
||||||
|
|
||||||
|
**How You Can Help:**
|
||||||
|
|
||||||
|
- **Financial Support**: If you would like to help us replace our AI-generated assets with proper art, you can donate at [donate.nhcarrigan.com](https://donate.nhcarrigan.com). All donations help us work toward commissioning proper reference art.
|
||||||
|
|
||||||
|
- **Art Donations**: We would be absolutely thrilled to accept donated art to replace our AI-generated assets! If you're interested in creating reference art or other assets for us, please reach out via DM to discuss.
|
||||||
|
|
||||||
|
We appreciate your understanding and patience as we work to improve our resources. Our goal is to have all human-created, properly commissioned art, and we're working toward that goal every day.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## 4. Submission Process
|
||||||
|
|
||||||
|
### 4.1. How to Submit Your Art
|
||||||
|
|
||||||
|
#### 4.1.1. Public Submissions (Family-Friendly Content)
|
||||||
|
|
||||||
|
To submit family-friendly fan art for public sharing:
|
||||||
|
|
||||||
|
1. **Create Your Art**: Follow the guidelines above to ensure your work meets our standards.
|
||||||
|
|
||||||
|
2. **DM Your Submission**: Send your artwork to Naomi directly via DM.
|
||||||
|
|
||||||
|
3. **Review Process**: If accepted, your art will be shared in our fan art channel (with full credit - you will be tagged in the post).
|
||||||
|
|
||||||
|
4. **Recognition**: Accepted submissions will receive a special role recognizing your contribution!
|
||||||
|
|
||||||
|
#### 4.1.2. Private Submissions (NSFW Content)
|
||||||
|
|
||||||
|
For NSFW works:
|
||||||
|
|
||||||
|
1. **DM Only**: Send your NSFW artwork directly to Naomi via DM.
|
||||||
|
|
||||||
|
2. **Private Appreciation**: These works will be appreciated privately and will not be shared in public spaces.
|
||||||
|
|
||||||
|
3. **No Public Sharing**: Please do not post NSFW content in any public channels, even if you think it might be acceptable.
|
||||||
|
|
||||||
|
4. **Recognition**: Accepted submissions will still qualify for the role!
|
||||||
|
|
||||||
|
### 4.2. What Happens After Submission
|
||||||
|
|
||||||
|
#### 4.2.1. Review Timeline
|
||||||
|
|
||||||
|
We review submissions as quickly as possible, but please be patient. We want to give each piece the attention it deserves!
|
||||||
|
|
||||||
|
#### 4.2.2. Acceptance and Sharing
|
||||||
|
|
||||||
|
If your public submission is accepted:
|
||||||
|
- Your art will be posted in our fan art channel
|
||||||
|
- You will be tagged and credited in the post
|
||||||
|
- You will receive a special role recognizing your contribution
|
||||||
|
- We may share your work on other platforms (with credit)
|
||||||
|
|
||||||
|
#### 4.2.3. If Your Submission Isn't Accepted
|
||||||
|
|
||||||
|
If we decline a submission, we'll do our best to explain why. Common reasons include:
|
||||||
|
- Content doesn't meet our family-friendly standards (for public submissions)
|
||||||
|
- Quality concerns (though we appreciate all skill levels!)
|
||||||
|
- Copyright or intellectual property issues
|
||||||
|
- Other community guideline violations
|
||||||
|
|
||||||
|
We're always happy to provide feedback and work with artists to create content that fits our community!
|
||||||
|
|
||||||
|
## 5. Rights and Permissions
|
||||||
|
|
||||||
|
### 5.1. Artist Rights and Rights Transfer
|
||||||
|
|
||||||
|
**(a)** **Rights Transfer**: By submitting your art to us, you transfer the rights to your creation to us. This transfer occurs upon submission and acceptance of your work.
|
||||||
|
|
||||||
|
**(b)** **Credit Always Given**: We will always credit you when sharing your work, even though rights have been transferred.
|
||||||
|
|
||||||
|
**(c)** **Usage Rights**: Once rights are transferred, we have the right to use, display, share, and distribute your submitted artwork in our community spaces and on other platforms with proper credit.
|
||||||
|
|
||||||
|
### 5.2. Character Rights
|
||||||
|
|
||||||
|
**(a)** **Character Ownership**: Naomi and other official characters remain the property of NHCarrigan.
|
||||||
|
|
||||||
|
**(b)** **Fan Art Rights**: Creating fan art is generally considered fair use, but please be respectful of the characters and community.
|
||||||
|
|
||||||
|
**(c)** **Commercial Use**: If you're interested in commercial use of our characters, please contact us to discuss licensing.
|
||||||
|
|
||||||
|
## 6. Community Support and Appreciation
|
||||||
|
|
||||||
|
### 6.1. We Love Your Art!
|
||||||
|
|
||||||
|
We genuinely appreciate every piece of art created for our community. Whether it's a quick sketch or a detailed masterpiece, your creativity and effort mean the world to us!
|
||||||
|
|
||||||
|
### 6.2. Growing Together
|
||||||
|
|
||||||
|
We're always working to improve our resources and support for artists. As we grow and develop better reference materials (see our disclaimer above), we hope to make it even easier for artists to create amazing fan art!
|
||||||
|
|
||||||
|
### 6.3. Questions or Concerns?
|
||||||
|
|
||||||
|
If you have any questions about these guidelines, the submission process, or anything else related to fan art, please don't hesitate to reach out via DM or ask in our community channels!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary: Quick Reference
|
||||||
|
|
||||||
|
**β
DO:**
|
||||||
|
- Create original, family-friendly art for public sharing
|
||||||
|
- DM your submissions to Naomi
|
||||||
|
- Feel free to be creative with outfits and styles
|
||||||
|
- Create art of Naomi's OCs from our #characters channel
|
||||||
|
- Send NSFW works via DM only (they won't be shared publicly)
|
||||||
|
|
||||||
|
**β DON'T:**
|
||||||
|
- Submit AI-generated content
|
||||||
|
- Post NSFW content in public channels
|
||||||
|
- Disrespect character designs when making OC fan art
|
||||||
|
- Submit content that violates our community standards
|
||||||
|
|
||||||
|
**π Remember:**
|
||||||
|
- Reference materials are currently AI-generated (temporary!)
|
||||||
|
- You can help us get proper art by donating or creating art donations
|
||||||
|
- By submitting art, you transfer rights to your creation to us
|
||||||
|
- We always credit artists when sharing their work
|
||||||
|
- Questions? Just ask!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Thank you for your interest in creating art for our community! We can't wait to see what you create!*
|
||||||
@@ -44,10 +44,10 @@ This Policy operates within our comprehensive legal and policy framework, incorp
|
|||||||
#### 2.1.1. Daily and Ongoing Feedback Channels
|
#### 2.1.1. Daily and Ongoing Feedback Channels
|
||||||
|
|
||||||
**Open Communication Channels:**
|
**Open Communication Channels:**
|
||||||
- Dedicated feedback forum channels accessible to all community members for ongoing input and suggestions
|
- Dedicated feedback forum categories accessible to all community members for ongoing input and suggestions
|
||||||
- Community: `#community-feedback` forum channel on Discord
|
- Community: [Community Feedback](https://support.nhcarrigan.com/c/community-feedback/8) category on our support forum
|
||||||
- Products: `#bug-reports` or `#feature-requests` forum channel on Discord
|
- Products: [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) or [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) categories on our support forum
|
||||||
- Policies: `#policy-ideation` forum channel on Discord
|
- Policies: [Policy Ideation](https://support.nhcarrigan.com/c/policy-ideation/9) category on our support forum
|
||||||
- Direct messaging opportunities with community leadership for individual concerns and suggestions
|
- Direct messaging opportunities with community leadership for individual concerns and suggestions
|
||||||
- Public discussion forums for community-wide conversation about policies and improvements
|
- Public discussion forums for community-wide conversation about policies and improvements
|
||||||
|
|
||||||
|
|||||||
@@ -363,7 +363,7 @@ For questions or support:
|
|||||||
|
|
||||||
### 4.10. Issue Reporting
|
### 4.10. Issue Reporting
|
||||||
|
|
||||||
Please report bugs in the #bug-reports forum channel and feature requests in the #feature-requests forum channel on our Discord community.
|
Please report bugs in the [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) category and feature requests in the [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) category on our support forum.
|
||||||
|
|
||||||
Include:
|
Include:
|
||||||
- Clear description of the issue or feature
|
- Clear description of the issue or feature
|
||||||
|
|||||||
@@ -76,8 +76,8 @@ Cordelia has a distinctive personality:
|
|||||||
|
|
||||||
### Support and Feedback
|
### Support and Feedback
|
||||||
|
|
||||||
- **Bug Reports**: Post in the #bug-reports forum channel on our Discord community
|
- **Bug Reports**: Post in the [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) category on our support forum
|
||||||
- **Feature Requests**: Post in the #feature-requests forum channel on our Discord community
|
- **Feature Requests**: Post in the [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) category on our support forum
|
||||||
- **General Support**: Visit the [chat server](https://chat.nhcarrigan.com)
|
- **General Support**: Visit the [chat server](https://chat.nhcarrigan.com)
|
||||||
- **Contact**: Email `contact@nhcarrigan.com`
|
- **Contact**: Email `contact@nhcarrigan.com`
|
||||||
|
|
||||||
@@ -264,7 +264,7 @@ src/
|
|||||||
|
|
||||||
### Contribution Process
|
### Contribution Process
|
||||||
|
|
||||||
1. **Issue Creation**: Post detailed bug reports or feature requests in the appropriate Discord forum channel (#bug-reports or #feature-requests)
|
1. **Issue Creation**: Post detailed bug reports or feature requests in the appropriate support forum category ([Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) or [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7))
|
||||||
2. **Discussion**: Discuss approach before starting work
|
2. **Discussion**: Discuss approach before starting work
|
||||||
3. **Implementation**: Follow coding standards and patterns
|
3. **Implementation**: Follow coding standards and patterns
|
||||||
4. **Testing**: Test thoroughly in development environment
|
4. **Testing**: Test thoroughly in development environment
|
||||||
|
|||||||
@@ -647,7 +647,7 @@ When contributing, keep security in mind:
|
|||||||
|
|
||||||
If you need help contributing:
|
If you need help contributing:
|
||||||
|
|
||||||
- Post in the #bug-reports or #feature-requests forum channels on our Discord community
|
- Post in the [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) or [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) categories on our support forum
|
||||||
- Join the [Chat Server](https://chat.nhcarrigan.com)
|
- Join the [Chat Server](https://chat.nhcarrigan.com)
|
||||||
- Email: `contact@nhcarrigan.com`
|
- Email: `contact@nhcarrigan.com`
|
||||||
|
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ If you encounter bugs or have feature requests:
|
|||||||
- Chat Server: [https://chat.nhcarrigan.com](https://chat.nhcarrigan.com)
|
- Chat Server: [https://chat.nhcarrigan.com](https://chat.nhcarrigan.com)
|
||||||
- Email: contact@nhcarrigan.com
|
- Email: contact@nhcarrigan.com
|
||||||
- Repository: [https://git.nhcarrigan.com/nhcarrigan/logger](https://git.nhcarrigan.com/NHCarrigan/logger)
|
- Repository: [https://git.nhcarrigan.com/nhcarrigan/logger](https://git.nhcarrigan.com/NHCarrigan/logger)
|
||||||
- Issues: Post in the #bug-reports or #feature-requests forum channels on our Discord community
|
- Issues: Post in the [Bug Reports](https://support.nhcarrigan.com/c/bug-reports/6) or [Feature Requests](https://support.nhcarrigan.com/c/feature-requests/7) categories on our support forum
|
||||||
|
|
||||||
### Package Information
|
### Package Information
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,9 @@ Our community operates across various platforms including:
|
|||||||
|
|
||||||
**(e)** **Documentation Sites**: Knowledge bases, policies, guides;
|
**(e)** **Documentation Sites**: Knowledge bases, policies, guides;
|
||||||
|
|
||||||
**(f)** **Other Platforms**: Emerging technologies and specialised tools.
|
**(f)** **Support Forum**: Structured support requests, bug reports, feature requests at support.nhcarrigan.com;
|
||||||
|
|
||||||
|
**(g)** **Other Platforms**: Emerging technologies and specialised tools.
|
||||||
|
|
||||||
### 1.3. Integration with Existing Policies
|
### 1.3. Integration with Existing Policies
|
||||||
|
|
||||||
@@ -136,6 +138,29 @@ This training operates within our policy framework:
|
|||||||
- Competitive and cooperative balance
|
- Competitive and cooperative balance
|
||||||
- Fun and entertainment emphasis
|
- Fun and entertainment emphasis
|
||||||
|
|
||||||
|
### 3.4. Support Forum
|
||||||
|
|
||||||
|
#### 3.4.1. Unique Characteristics
|
||||||
|
- Structured, categorised support system
|
||||||
|
- Asynchronous, persistent discussions
|
||||||
|
- Searchable knowledge base functionality
|
||||||
|
- Topic-based organisation and threading
|
||||||
|
- Solution marking and resolution tracking
|
||||||
|
|
||||||
|
#### 3.4.2. Moderation Considerations
|
||||||
|
- **Category Management**: Ensure posts are in appropriate categories
|
||||||
|
- **Thread Organisation**: Maintain clear, searchable thread titles
|
||||||
|
- **Solution Tracking**: Mark resolved issues for future reference
|
||||||
|
- **Privacy Protection**: Redact sensitive information from public posts
|
||||||
|
- **Knowledge Curation**: Build searchable solutions database
|
||||||
|
|
||||||
|
#### 3.4.3. Community Culture
|
||||||
|
- Professional, solution-focused communication
|
||||||
|
- Detailed problem descriptions and responses
|
||||||
|
- Knowledge sharing and documentation emphasis
|
||||||
|
- Patient, thorough assistance approach
|
||||||
|
- Long-form, comprehensive discussions
|
||||||
|
|
||||||
## 4. COORDINATION STRATEGIES AND BEST PRACTICES
|
## 4. COORDINATION STRATEGIES AND BEST PRACTICES
|
||||||
|
|
||||||
### 4.1. Information Sharing Across Platforms
|
### 4.1. Information Sharing Across Platforms
|
||||||
@@ -322,6 +347,22 @@ This training operates within our policy framework:
|
|||||||
- **Crisis Communication**: Handle public relations during difficult situations
|
- **Crisis Communication**: Handle public relations during difficult situations
|
||||||
- **Growth Strategies**: Support community growth and member acquisition
|
- **Growth Strategies**: Support community growth and member acquisition
|
||||||
|
|
||||||
|
### 6.4. Support Forum Responsibilities
|
||||||
|
|
||||||
|
#### 6.4.1. Thread Management
|
||||||
|
- Monitor new posts and ensure proper categorisation
|
||||||
|
- Merge duplicate threads while preserving context
|
||||||
|
- Mark solutions when issues are resolved
|
||||||
|
- Pin important announcements and guides
|
||||||
|
- Archive outdated or resolved discussions
|
||||||
|
|
||||||
|
#### 6.4.2. Knowledge Base Development
|
||||||
|
- **Content Curation**: Build comprehensive solution documentation
|
||||||
|
- **FAQ Maintenance**: Update frequently asked questions regularly
|
||||||
|
- **Category Organisation**: Maintain logical, searchable structure
|
||||||
|
- **Cross-Reference**: Link related topics and solutions
|
||||||
|
- **Quality Control**: Ensure accuracy of technical information
|
||||||
|
|
||||||
## 7. COORDINATION CHALLENGES AND SOLUTIONS
|
## 7. COORDINATION CHALLENGES AND SOLUTIONS
|
||||||
|
|
||||||
### 7.1. Common Coordination Problems
|
### 7.1. Common Coordination Problems
|
||||||
|
|||||||
@@ -0,0 +1,337 @@
|
|||||||
|
---
|
||||||
|
title: Support Forum Moderation Training for Staff
|
||||||
|
---
|
||||||
|
|
||||||
|
**ESSENTIAL TRAINING FOR FORUM MODERATION TEAM**
|
||||||
|
|
||||||
|
## 1. INTRODUCTION AND SCOPE
|
||||||
|
|
||||||
|
### 1.1. Purpose of This Training
|
||||||
|
|
||||||
|
This training document provides comprehensive guidance for Team members responsible for moderating our Support Forum at [support.nhcarrigan.com](https://support.nhcarrigan.com). The Support Forum serves as our primary platform for structured support requests, bug reports, feature requests, and community feedback.
|
||||||
|
|
||||||
|
### 1.2. Forum Structure and Categories
|
||||||
|
|
||||||
|
Our Support Forum is organised into the following categories:
|
||||||
|
|
||||||
|
**(a)** **Technical Support** (ID: 5): Platform and product assistance;
|
||||||
|
|
||||||
|
**(b)** **Bug Reports** (ID: 6): Software issues and defect reporting;
|
||||||
|
|
||||||
|
**(c)** **Feature Requests** (ID: 7): Enhancement suggestions and new features;
|
||||||
|
|
||||||
|
**(d)** **Community Feedback** (ID: 8): General community input and suggestions;
|
||||||
|
|
||||||
|
**(e)** **Policy Ideation** (ID: 9): Policy suggestions and governance input;
|
||||||
|
|
||||||
|
**(f)** **Accessibility Feedback** (ID: 10): Accessibility barriers and improvements;
|
||||||
|
|
||||||
|
**(g)** **Partnership Requests** (ID: 11): Collaboration and partnership proposals;
|
||||||
|
|
||||||
|
**(h)** **Legal Notices** (ID: 12): Legal communications and formal notices;
|
||||||
|
|
||||||
|
**(i)** **Billing Questions** (ID: 13): Payment and subscription inquiries;
|
||||||
|
|
||||||
|
**(j)** **Press Inquiries** (ID: 14): Media and press communications;
|
||||||
|
|
||||||
|
**(k)** **Marketing Proposals** (ID: 15): Marketing collaborations and proposals.
|
||||||
|
|
||||||
|
### 1.3. Integration with Existing Policies
|
||||||
|
|
||||||
|
Forum moderation operates within our comprehensive policy framework:
|
||||||
|
|
||||||
|
**(a)** **Content and Moderation Policy**: Primary content standards and enforcement;
|
||||||
|
|
||||||
|
**(b)** **Community Code of Conduct**: Universal behavioural expectations;
|
||||||
|
|
||||||
|
**(c)** **Community Support Policy**: Guidelines for support interactions;
|
||||||
|
|
||||||
|
**(d)** **Privacy Policy**: Handling of sensitive information in forum posts;
|
||||||
|
|
||||||
|
**(e)** **Accessibility Policy**: Ensuring forum accessibility for all users.
|
||||||
|
|
||||||
|
## 2. FORUM-SPECIFIC MODERATION CONSIDERATIONS
|
||||||
|
|
||||||
|
### 2.1. Unique Characteristics of Forum Moderation
|
||||||
|
|
||||||
|
#### 2.1.1. Asynchronous Communication
|
||||||
|
|
||||||
|
**Key Differences from Real-Time Platforms:**
|
||||||
|
- Extended response timeframes are acceptable and expected
|
||||||
|
- Conversations develop over days or weeks rather than minutes
|
||||||
|
- Users expect more thoughtful, detailed responses
|
||||||
|
- Documentation and searchability are primary concerns
|
||||||
|
|
||||||
|
#### 2.1.2. Persistent Content
|
||||||
|
|
||||||
|
**Long-Term Visibility:**
|
||||||
|
- Forum posts remain searchable indefinitely
|
||||||
|
- Content serves as knowledge base for future users
|
||||||
|
- Higher standards for accuracy and completeness
|
||||||
|
- Regular review and updating of outdated information
|
||||||
|
|
||||||
|
#### 2.1.3. Structured Support
|
||||||
|
|
||||||
|
**Organised Communication:**
|
||||||
|
- Clear categorisation enables efficient routing
|
||||||
|
- Topic-based organisation aids in knowledge management
|
||||||
|
- Threaded discussions maintain context
|
||||||
|
- Solution marking helps future users
|
||||||
|
|
||||||
|
### 2.2. Forum Moderation Best Practices
|
||||||
|
|
||||||
|
#### 2.2.1. Thread Management
|
||||||
|
|
||||||
|
**Effective Thread Moderation:**
|
||||||
|
- **Title Clarity**: Ensure thread titles accurately describe the issue
|
||||||
|
- **Categorisation**: Move threads to appropriate categories when needed
|
||||||
|
- **Duplicate Management**: Merge duplicate threads while preserving context
|
||||||
|
- **Solution Marking**: Identify and mark solved threads
|
||||||
|
- **Pinning**: Pin important announcements or frequently referenced threads
|
||||||
|
|
||||||
|
#### 2.2.2. Response Standards
|
||||||
|
|
||||||
|
**Quality Expectations:**
|
||||||
|
- Comprehensive initial responses that address all aspects
|
||||||
|
- Professional tone maintaining community warmth
|
||||||
|
- Clear action items or next steps
|
||||||
|
- Appropriate escalation when needed
|
||||||
|
- Follow-up on unresolved threads
|
||||||
|
|
||||||
|
## 3. CATEGORY-SPECIFIC GUIDELINES
|
||||||
|
|
||||||
|
### 3.1. Technical Support
|
||||||
|
|
||||||
|
**Moderation Focus:**
|
||||||
|
- Verify sufficient system information is provided
|
||||||
|
- Request clarification on reproduction steps
|
||||||
|
- Tag technical team members when appropriate
|
||||||
|
- Ensure privacy (no passwords, API keys, etc.)
|
||||||
|
- Mark solutions when issues are resolved
|
||||||
|
|
||||||
|
### 3.2. Bug Reports
|
||||||
|
|
||||||
|
**Moderation Requirements:**
|
||||||
|
- Confirm reports include reproduction steps
|
||||||
|
- Check for duplicate reports before allowing
|
||||||
|
- Apply appropriate priority labels
|
||||||
|
- Link to tracking systems when applicable
|
||||||
|
- Update thread status as bugs are addressed
|
||||||
|
|
||||||
|
### 3.3. Feature Requests
|
||||||
|
|
||||||
|
**Management Approach:**
|
||||||
|
- Encourage detailed use case descriptions
|
||||||
|
- Facilitate community discussion on proposals
|
||||||
|
- Consolidate similar requests
|
||||||
|
- Communicate feasibility assessments
|
||||||
|
- Update on implementation progress
|
||||||
|
|
||||||
|
### 3.4. Community Feedback
|
||||||
|
|
||||||
|
**Engagement Standards:**
|
||||||
|
- Acknowledge all feedback respectfully
|
||||||
|
- Encourage constructive criticism
|
||||||
|
- Synthesise feedback for leadership review
|
||||||
|
- Communicate how feedback influences decisions
|
||||||
|
- Create feedback summary reports
|
||||||
|
|
||||||
|
### 3.5. Policy Ideation
|
||||||
|
|
||||||
|
**Special Considerations:**
|
||||||
|
- Ensure proposals align with community values
|
||||||
|
- Facilitate inclusive discussion
|
||||||
|
- Document consensus and dissent
|
||||||
|
- Forward viable proposals to governance team
|
||||||
|
- Communicate policy development progress
|
||||||
|
|
||||||
|
### 3.6. Accessibility Feedback
|
||||||
|
|
||||||
|
**Priority Handling:**
|
||||||
|
- Treat accessibility issues with urgency
|
||||||
|
- Ensure reports include assistive technology details
|
||||||
|
- Coordinate with accessibility team
|
||||||
|
- Track resolution progress
|
||||||
|
- Verify fixes with reporting users
|
||||||
|
|
||||||
|
### 3.7. Partnership Requests
|
||||||
|
|
||||||
|
**Professional Standards:**
|
||||||
|
- Maintain confidentiality as requested
|
||||||
|
- Verify legitimacy of proposals
|
||||||
|
- Route to appropriate decision-makers
|
||||||
|
- Facilitate initial discussions
|
||||||
|
- Document partnership criteria clearly
|
||||||
|
|
||||||
|
### 3.8. Legal Notices
|
||||||
|
|
||||||
|
**Critical Procedures:**
|
||||||
|
- Immediate escalation to legal team
|
||||||
|
- Preserve all original content
|
||||||
|
- Document receipt timestamps
|
||||||
|
- Maintain strict confidentiality
|
||||||
|
- Follow legal response protocols
|
||||||
|
|
||||||
|
### 3.9. Billing Questions
|
||||||
|
|
||||||
|
**Sensitive Information Handling:**
|
||||||
|
- Never request payment details in public threads
|
||||||
|
- Offer private thread conversion for sensitive matters
|
||||||
|
- Verify account ownership before discussing specifics
|
||||||
|
- Coordinate with billing team for resolutions
|
||||||
|
- Document common issues for FAQ development
|
||||||
|
|
||||||
|
### 3.10. Press Inquiries
|
||||||
|
|
||||||
|
**Media Relations:**
|
||||||
|
- Verify journalist credentials when appropriate
|
||||||
|
- Coordinate with communications team
|
||||||
|
- Maintain professional brand representation
|
||||||
|
- Facilitate interview scheduling
|
||||||
|
- Track press engagement metrics
|
||||||
|
|
||||||
|
### 3.11. Marketing Proposals
|
||||||
|
|
||||||
|
**Evaluation Criteria:**
|
||||||
|
- Assess alignment with brand values
|
||||||
|
- Check for spam or low-quality proposals
|
||||||
|
- Facilitate community input when appropriate
|
||||||
|
- Route serious proposals to marketing team
|
||||||
|
- Maintain proposal tracking system
|
||||||
|
|
||||||
|
## 4. MODERATION TOOLS AND FEATURES
|
||||||
|
|
||||||
|
### 4.1. Forum-Specific Tools
|
||||||
|
|
||||||
|
#### 4.1.1. Thread Management Tools
|
||||||
|
- **Move Thread**: Relocate to appropriate category
|
||||||
|
- **Merge Threads**: Combine duplicate discussions
|
||||||
|
- **Split Thread**: Separate off-topic discussions
|
||||||
|
- **Pin/Unpin**: Control thread visibility priority
|
||||||
|
- **Lock Thread**: Prevent further replies when needed
|
||||||
|
- **Mark Solution**: Identify resolved issues
|
||||||
|
|
||||||
|
#### 4.1.2. User Management Tools
|
||||||
|
- **Trust Levels**: Understand user permission tiers
|
||||||
|
- **User Notes**: Document moderation history
|
||||||
|
- **Warnings**: Issue formal warnings when needed
|
||||||
|
- **Suspensions**: Temporary access restrictions
|
||||||
|
- **Thread Permissions**: Control individual thread access
|
||||||
|
|
||||||
|
### 4.2. Content Moderation Features
|
||||||
|
|
||||||
|
#### 4.2.1. Automated Moderation
|
||||||
|
- **Spam Filters**: Automatic spam detection
|
||||||
|
- **Trust Level Restrictions**: New user limitations
|
||||||
|
- **Flag Queue**: Community-reported content review
|
||||||
|
- **Word Filters**: Prohibited content blocking
|
||||||
|
- **Link Restrictions**: External link moderation
|
||||||
|
|
||||||
|
#### 4.2.2. Manual Moderation Actions
|
||||||
|
- **Edit Posts**: Correct or redact content
|
||||||
|
- **Delete Posts**: Remove policy violations
|
||||||
|
- **Hide Posts**: Temporary removal pending review
|
||||||
|
- **Restore Posts**: Reinstate incorrectly removed content
|
||||||
|
- **Revision History**: Track all content changes
|
||||||
|
|
||||||
|
## 5. COMMON SCENARIOS AND RESPONSES
|
||||||
|
|
||||||
|
### 5.1. Scenario: Duplicate Bug Report
|
||||||
|
|
||||||
|
**Appropriate Response:**
|
||||||
|
1. Search for existing reports
|
||||||
|
2. Link to original thread
|
||||||
|
3. Merge valuable additional information
|
||||||
|
4. Close duplicate with explanation
|
||||||
|
5. Guide user to original discussion
|
||||||
|
|
||||||
|
### 5.2. Scenario: Vague Support Request
|
||||||
|
|
||||||
|
**Effective Approach:**
|
||||||
|
1. Request specific information needed
|
||||||
|
2. Provide template for details
|
||||||
|
3. Offer examples of good reports
|
||||||
|
4. Remain patient and helpful
|
||||||
|
5. Follow up if no response
|
||||||
|
|
||||||
|
### 5.3. Scenario: Heated Feature Request Debate
|
||||||
|
|
||||||
|
**De-escalation Strategy:**
|
||||||
|
1. Remind participants of community standards
|
||||||
|
2. Refocus on constructive discussion
|
||||||
|
3. Separate technical merit from personal attacks
|
||||||
|
4. Issue warnings if necessary
|
||||||
|
5. Lock thread if situation escalates
|
||||||
|
|
||||||
|
### 5.4. Scenario: Sensitive Information Posted
|
||||||
|
|
||||||
|
**Immediate Actions:**
|
||||||
|
1. Edit post to remove sensitive data
|
||||||
|
2. Private message user about removal
|
||||||
|
3. Educate on security best practices
|
||||||
|
4. Document incident for patterns
|
||||||
|
5. Review similar posts for exposure
|
||||||
|
|
||||||
|
## 6. FORUM COMMUNITY BUILDING
|
||||||
|
|
||||||
|
### 6.1. Encouraging Participation
|
||||||
|
|
||||||
|
**Engagement Strategies:**
|
||||||
|
- Welcome new users warmly
|
||||||
|
- Recognise helpful community members
|
||||||
|
- Create regular discussion topics
|
||||||
|
- Showcase community solutions
|
||||||
|
- Celebrate milestones and achievements
|
||||||
|
|
||||||
|
### 6.2. Knowledge Base Development
|
||||||
|
|
||||||
|
**Content Curation:**
|
||||||
|
- Identify frequently asked questions
|
||||||
|
- Create comprehensive guides
|
||||||
|
- Maintain solution database
|
||||||
|
- Update outdated information
|
||||||
|
- Cross-reference related topics
|
||||||
|
|
||||||
|
## 7. METRICS AND REPORTING
|
||||||
|
|
||||||
|
### 7.1. Key Performance Indicators
|
||||||
|
|
||||||
|
**Forum Health Metrics:**
|
||||||
|
- Response time to new threads
|
||||||
|
- Resolution rate for support requests
|
||||||
|
- User satisfaction indicators
|
||||||
|
- Community engagement levels
|
||||||
|
- Moderator action frequency
|
||||||
|
|
||||||
|
### 7.2. Regular Reporting
|
||||||
|
|
||||||
|
**Documentation Requirements:**
|
||||||
|
- Weekly moderation summaries
|
||||||
|
- Category-specific activity reports
|
||||||
|
- Escalation tracking
|
||||||
|
- Community feedback synthesis
|
||||||
|
- Improvement recommendations
|
||||||
|
|
||||||
|
## 8. CONTINUOUS IMPROVEMENT
|
||||||
|
|
||||||
|
### 8.1. Feedback Integration
|
||||||
|
|
||||||
|
**Process Improvement:**
|
||||||
|
- Regular community surveys
|
||||||
|
- Moderator experience sharing
|
||||||
|
- Policy effectiveness review
|
||||||
|
- Tool and feature requests
|
||||||
|
- Best practice documentation
|
||||||
|
|
||||||
|
### 8.2. Professional Development
|
||||||
|
|
||||||
|
**Ongoing Training:**
|
||||||
|
- Forum software updates
|
||||||
|
- New moderation techniques
|
||||||
|
- Community management trends
|
||||||
|
- Accessibility improvements
|
||||||
|
- Cross-platform coordination
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*This Forum Moderation Training provides comprehensive guidance for moderating our Support Forum. For questions about forum moderation procedures or to report issues with the forum platform, please contact the Moderation Team Lead through the designated staff channels.*
|
||||||
+42
-13
@@ -1,13 +1,42 @@
|
|||||||
:root {
|
:root {
|
||||||
--primary-color: #8F2447;
|
/* Witch color palette */
|
||||||
--background-color: #E1F6F9DC;
|
--witch-purple: #2B1B3D;
|
||||||
--sl-color-text-accent: #8F2447;
|
--witch-plum: #44275A;
|
||||||
|
--witch-rose: #A8577E;
|
||||||
|
--witch-mauve: #D4A5C7;
|
||||||
|
--witch-lavender: #E8D5E8;
|
||||||
|
--witch-black: #0A0009;
|
||||||
|
--witch-silver: #C0C0C0;
|
||||||
|
--witch-moon: #F5F5F5;
|
||||||
|
--witch-shadow: rgba(10, 0, 9, 0.7);
|
||||||
|
|
||||||
|
/* Light theme uses lighter colors for background, darker for text */
|
||||||
|
--primary-color: var(--witch-purple);
|
||||||
|
--background-color: var(--witch-lavender)DC;
|
||||||
|
--sl-color-text-accent: var(--witch-purple);
|
||||||
|
|
||||||
|
/* Additional Starlight overrides */
|
||||||
|
--sl-color-gray-1: var(--witch-moon);
|
||||||
|
--sl-color-gray-2: var(--witch-lavender);
|
||||||
|
--sl-color-gray-3: var(--witch-mauve);
|
||||||
|
--sl-color-gray-4: var(--witch-rose);
|
||||||
|
--sl-color-gray-5: var(--witch-plum);
|
||||||
|
--sl-color-gray-6: var(--witch-purple);
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme="dark"] {
|
html[data-theme="dark"] {
|
||||||
--primary-color: #E1F6F9;
|
/* Dark theme uses darker colors for background, lighter for text */
|
||||||
--background-color: #8F2447ee;
|
--primary-color: var(--witch-lavender);
|
||||||
--sl-color-text-accent: #E1F6F9;
|
--background-color: var(--witch-purple)ee;
|
||||||
|
--sl-color-text-accent: var(--witch-lavender);
|
||||||
|
|
||||||
|
/* Additional Starlight overrides for dark theme */
|
||||||
|
--sl-color-gray-1: var(--witch-purple);
|
||||||
|
--sl-color-gray-2: var(--witch-plum);
|
||||||
|
--sl-color-gray-3: var(--witch-rose);
|
||||||
|
--sl-color-gray-4: var(--witch-mauve);
|
||||||
|
--sl-color-gray-5: var(--witch-lavender);
|
||||||
|
--sl-color-gray-6: var(--witch-moon);
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-frame::before {
|
.main-frame::before {
|
||||||
@@ -50,7 +79,7 @@ a {
|
|||||||
|
|
||||||
a[aria-current="page"] {
|
a[aria-current="page"] {
|
||||||
color: var(--background-color) !important;
|
color: var(--background-color) !important;
|
||||||
background-color: var(--primary-color) !important;
|
background-color: var(--witch-rose) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
header {
|
header {
|
||||||
@@ -67,8 +96,8 @@ header {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.right-sidebar-panel :where(a):hover {
|
.right-sidebar-panel :where(a):hover {
|
||||||
color: var(--background-color) !important;
|
color: var(--witch-moon) !important;
|
||||||
background-color: var(--primary-color) !important;
|
background-color: var(--witch-rose) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
footer > div > a,
|
footer > div > a,
|
||||||
@@ -94,13 +123,13 @@ starlight-theme-select, starlight-theme-select > label {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.pagination-links > a:hover {
|
.pagination-links > a:hover {
|
||||||
color: var(--background-color) !important;
|
color: var(--witch-moon) !important;
|
||||||
background-color: var(--primary-color) !important;
|
background-color: var(--witch-plum) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pagination-links > a:hover > span > .link-title {
|
.pagination-links > a:hover > span > .link-title {
|
||||||
color: var(--background-color) !important;
|
color: var(--witch-moon) !important;
|
||||||
background-color: var(--primary-color) !important;
|
background-color: var(--witch-plum) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#extra-footer-content {
|
#extra-footer-content {
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
# Staff Announcement
|
|
||||||
|
|
||||||
Hey team! π Just wanted to share a few quick updates:
|
|
||||||
|
|
||||||
## π Policy Disclaimers Added
|
|
||||||
|
|
||||||
We've added disclaimers to policies that are still being implemented. You'll see these as tip callouts in various policy documents (like SLA, Privacy, Content Moderation, and others) indicating that certain sections are still a work in progress. This helps set clear expectations while we continue building out the necessary infrastructure.
|
|
||||||
|
|
||||||
## π·οΈ New Points and Time Labels
|
|
||||||
|
|
||||||
We've introduced new labeling systems to help with capacity planning and workload management:
|
|
||||||
|
|
||||||
**Points Labels** (complexity/effort):
|
|
||||||
- `points: 1` - Very simple tasks
|
|
||||||
- `points: 2` - Simple tasks
|
|
||||||
- `points: 3` - Moderate complexity
|
|
||||||
- `points: 5` - Complex issues
|
|
||||||
- `points: 8` - Very complex
|
|
||||||
- `points: 13` - Extremely complex/epic-level
|
|
||||||
|
|
||||||
**Time Labels** (expected duration):
|
|
||||||
- `time: <1 day` - Quick fixes
|
|
||||||
- `time: 1 day` - One day of work
|
|
||||||
- `time: 2-3 days` - Multi-day tasks
|
|
||||||
- `time: 4-5 days` - About a week
|
|
||||||
- `time: 1-2 weeks` - Major features
|
|
||||||
- `time: >2 weeks` - Epic-level work
|
|
||||||
|
|
||||||
Check out the full details in our [Labels documentation](https://docs.nhcarrigan.com/dev/labels)!
|
|
||||||
|
|
||||||
## π New Project Board for Available Tickets
|
|
||||||
|
|
||||||
We now have a dedicated **Staff Tickets** project board where you can find all properly triaged tickets that are ready to be worked on!
|
|
||||||
|
|
||||||
π **Project Board**: https://git.nhcarrigan.com/nhcarrigan/-/projects/2
|
|
||||||
|
|
||||||
All tickets with the `status: ready for dev` label are automatically available on this board, making it much easier to find work that's ready to go.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Questions? Feel free to reach out! π¬
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user