docs: update to use docus v4

pull/3388/head
Daniel Roe 2025-09-26 17:38:35 +03:00
rodzic 0ef8ac7804
commit f1fdaffde1
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 47C4EE3D46A3A27C
22 zmienionych plików z 4306 dodań i 1455 usunięć

1
.gitignore vendored
Wyświetl plik

@ -4,6 +4,7 @@ dist
.output
.pnpm-store
.nuxt
.data
.env
.DS_Store
.idea/

1
.npmrc
Wyświetl plik

@ -1,4 +1,3 @@
shamefully-hoist=true
shell-emulator=true
ignore-workspace-root-check=true
package-manager-strict=false

Wyświetl plik

@ -1,35 +1,54 @@
export default defineAppConfig({
docus: {
seo: {
title: 'Elk',
description: 'A nimble Mastodon web client.',
image: 'https://docs.elk.zone/elk-screenshot.png',
socials: {
// twitter: 'elk_zone',
github: 'elk-zone/elk',
mastodon: {
label: 'Mastodon',
icon: 'IconMastodon',
href: 'https://elk.zone/@elk@webtoo.ls',
description: 'A nimble Mastodon web client with modern features and elegant design.',
},
ui: {
colors: {
primary: 'orange',
},
},
uiPro: {
pageHero: {
slots: {
container: 'lg:!grid-cols-3',
wrapper: 'col-span-2',
},
},
aside: {
level: 0,
exclude: [],
},
header: {
title: 'Elk',
logo: {
alt: 'Elk',
light: '/logo.svg',
dark: '/logo.svg',
},
header: {
logo: true,
showLinkIcon: true,
exclude: [],
},
footer: {
iconLinks: [
},
socials: {
github: 'https://github.com/elk-zone/elk',
mastodon: 'https://elk.zone/@elk@webtoo.ls',
},
github: {
url: 'https://github.com/elk-zone/elk',
branch: 'main',
rootDir: 'docs',
},
toc: {
title: 'On this page',
bottom: {
title: 'Community',
links: [
{
href: 'https://nuxt.com',
icon: 'IconNuxtLabs',
icon: 'i-ph-shooting-star-duotone',
label: 'Star on GitHub',
to: 'https://github.com/elk-zone/elk',
target: '_blank',
},
{
href: 'https://m.webtoo.ls/@elk',
icon: 'IconMastodon',
icon: 'i-simple-icons-mastodon',
label: 'Follow on Mastodon',
to: 'https://elk.zone/@elk@webtoo.ls',
target: '_blank',
},
],
},

Wyświetl plik

@ -1,5 +0,0 @@
<template>
<AppLayout>
<NuxtPage />
</AppLayout>
</template>

Wyświetl plik

@ -0,0 +1,51 @@
/* Elk brand colors for light and dark modes */
:root {
/* Light mode colors (based on #995e1b) */
--color-primary-50: #fef7ed;
--color-primary-100: #fdedd5;
--color-primary-200: #fad8aa;
--color-primary-300: #f6bb74;
--color-primary-400: #f0943c;
--color-primary-500: #995e1b; /* Light mode primary */
--color-primary-600: #8a5218;
--color-primary-700: #734515;
--color-primary-800: #5c3711;
--color-primary-900: #4b2e0e;
--color-primary-950: #26170a;
}
.dark {
/* Dark mode colors (based on #d98018) */
--color-primary-50: #fef7ed;
--color-primary-100: #fdedd5;
--color-primary-200: #fad8aa;
--color-primary-300: #f6bb74;
--color-primary-400: #f0943c;
--color-primary-500: #d98018; /* Dark mode primary */
--color-primary-600: #cb6210;
--color-primary-700: #a84b10;
--color-primary-800: #883b14;
--color-primary-900: #713213;
--color-primary-950: #3d1707;
}
/* Ensure proper contrast for text on Elk orange backgrounds */
.bg-primary-500 {
color: white;
}
.text-primary-500 {
color: var(--color-primary-500);
}
/* Custom Elk brand styling */
.elk-gradient {
background: linear-gradient(135deg, #995e1b 0%, #d98018 100%);
}
.elk-gradient-text {
background: linear-gradient(135deg, #995e1b 0%, #d98018 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

Wyświetl plik

@ -1,36 +0,0 @@
---
title: Elk
navigation: false
layout: page
---
::block-hero
---
cta:
- Read more
- /guide
secondary:
- Try it out →
- https://elk.zone
---
#title
Elk
#description
An in-progress, nimble Mastodon web client
#support
![Screenshot of Elk](/screenshot.png)
#extra
::list
- markdown support
- code blocks
- reordering and connecting posts in timelines
- multi account
- GitHub HTML cards
- and more...
::
::

Wyświetl plik

@ -1,3 +1,8 @@
---
title: Introduction
description: Get started with Elk, the nimble Mastodon web client.
---
# Introduction
## What is Elk?
@ -16,7 +21,7 @@ Elk provides some features not available through the standard Mastodon web app i
You can use Elk right in your browser.
On a mobile device, you can install the app to your home screen right from your browser for easy access.
(This is called a Progressive Web App, or [PWA](../80.pwa.md).)
(This is called a Progressive Web App, or [PWA](../pwa.md).)
Want to try it out?
Visit https://elk.zone, type in your Mastodon server address, then log in.

Wyświetl plik

@ -1,3 +1,8 @@
---
title: Features
description: Discover the features that make Elk a delightful Mastodon client.
---
# Features
::alert{type=warning}

Wyświetl plik

@ -1,3 +1,8 @@
---
title: Contributing
description: Learn how to contribute to Elk and help build the future of Mastodon clients.
---
# Contributing
We're really excited that you're interested in contributing to Elk! Before submitting your contribution, please read through the following guide.

Wyświetl plik

@ -1,3 +1,8 @@
---
title: Sponsoring
description: Support the development of Elk by sponsoring the team.
---
# Sponsoring
If you're enjoying the app, consider sponsoring our team:

Wyświetl plik

@ -1,4 +1,7 @@
# Netlify and Cloudflare
---
title: Netlify and Cloudflare
description: Deploy your own Elk instance.
---
Want to host Elk for your Mastodon instance? You came to the right place!

Wyświetl plik

@ -1,3 +1,8 @@
---
title: Progressive Web App
description: Learn about Elk's PWA capabilities and how to install it on your device.
---
# PWA
Elk provides a PWA (Progressive Web App) that can be installed on your desktop/device. This allows you to use Elk as a native app on your device, and it will work offline.

Wyświetl plik

@ -1,3 +1,8 @@
---
title: Privacy Policy
description: Elk's privacy policy and data handling practices.
---
# Privacy
> Last updated January 27, 2023

Wyświetl plik

@ -0,0 +1,158 @@
---
seo:
title: "Elk - A Nimble Mastodon Web Client"
description: A nimble Mastodon web client that provides a fresh and intuitive social media experience with modern features and elegant design.
ogImage: https://docs.elk.zone/elk-screenshot.png
---
::u-page-hero
---
orientation: horizontal
---
:::div{.hidden.lg:flex.items-center.justify-center}
![Elk Screenshot](/screenshot.png){.rounded-lg.shadow-lg}
:::
#title
A Nimble [Mastodon Web Client]{.text-primary}
#description
Experience Mastodon like never before. Elk brings you a fresh, intuitive interface with modern features that make social networking delightful.
#links
:::u-button
---
icon: i-ph-rocket-launch-duotone
size: xl
to: /guide
---
Read the docs
:::
:::u-button
---
icon: i-ph-arrow-square-out-duotone
size: xl
variant: outline
to: https://elk.zone
target: _blank
---
Try it live
:::
::
::u-page-section
#title
Everything you need for the perfect [Mastodon experience]{.text-primary}
#features
:::u-page-card
---
spotlight: true
icon: i-ph-markdown-logo-duotone
to: /guide/features
---
#title
Rich Content Support
#description
Full Markdown support with syntax highlighting, emoji reactions, and rich media previews that bring your posts to life.
:::
:::u-page-card
---
spotlight: true
icon: i-ph-timeline-duotone
to: /guide/features
---
#title
Smart Timeline Management
#description
Reorder and connect posts in your timeline with intelligent grouping and enhanced notification management.
:::
:::u-page-card
---
spotlight: true
icon: i-ph-users-duotone
to: /guide/features
---
#title
Multi-Account Support
#description
Seamlessly manage multiple Mastodon accounts with quick switching and unified notifications.
:::
:::u-page-card
---
spotlight: true
icon: i-ph-github-logo-duotone
to: /guide/features
---
#title
GitHub Integration
#description
Beautiful HTML cards for GitHub links with repository previews and rich metadata display.
:::
:::u-page-card
---
spotlight: true
icon: i-ph-device-mobile-duotone
to: /pwa
---
#title
Progressive Web App
#description
Install Elk on any device for a native-like experience with offline support and push notifications.
:::
:::u-page-card
---
spotlight: true
icon: i-ph-heart-duotone
to: /guide/contributing
---
#title
Open Source & Community Driven
#description
Built with love by the community. Contribute to the future of federated social media.
:::
::
::u-page-section
---
orientation: horizontal
---
#title
Ready to dive in?
#description
Join thousands of users who have already discovered a better way to experience Mastodon. Get started in minutes with our comprehensive documentation.
#links
:::u-button
---
icon: i-ph-book-open-duotone
size: xl
to: /guide
---
Read the docs
:::
:::u-button
---
icon: i-ph-github-logo-duotone
size: xl
variant: outline
to: https://github.com/elk-zone/elk
target: _blank
---
View on GitHub
:::
::

Wyświetl plik

@ -1,5 +1,13 @@
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
extends: '@nuxt-themes/docus',
extends: ['docus'],
css: ['~/assets/css/main.css'],
site: {
name: 'Elk',
url: 'https://docs.elk.zone',
},
vite: {
optimizeDeps: {

Wyświetl plik

@ -3,16 +3,14 @@
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "nuxi dev",
"build": "nuxi build",
"generate": "nuxi generate",
"preview": "nuxi preview"
"dev": "nuxt dev",
"build": "nuxt build",
"generate": "nuxt generate",
"preview": "nuxt preview"
},
"dependencies": {
"theme-colors": "^0.1.0"
},
"devDependencies": {
"@nuxt-themes/docus": "^1.15.1",
"nuxt": "^3.18.1"
"better-sqlite3": "^12.4.1",
"docus": "^4.0.0",
"nuxt": "^4.1.2"
}
}

Wyświetl plik

@ -1,17 +0,0 @@
import { defineTheme } from 'pinceau'
import { getColors } from 'theme-colors'
const light = getColors('#995e1b')
const primary = Object
.entries(getColors('#d98018'))
.reduce((acc, [key, value]) => {
acc[key] = {
initial: light[key]!,
dark: value,
}
return acc
}, {} as Record<string | number, { initial: string, dark: string }>)
export default defineTheme({
color: { primary },
})

Wyświetl plik

@ -143,11 +143,6 @@
"vitest": "3.2.4",
"vue-tsc": "^2.1.6"
},
"pnpm": {
"patchedDependencies": {
"pinceau": "patches/pinceau.patch"
}
},
"resolutions": {
"nuxt-component-meta": "0.14.0",
"unstorage": "^1.17.1",

Wyświetl plik

Wyświetl plik

@ -1,13 +0,0 @@
diff --git a/dist/index.d.ts b/dist/index.d.ts
index 612f1c7908c2e973870be08c6fba1515e6e2b9ca..445a3b0574c5388b624d537fc17cbf4a08973ded 100644
--- a/dist/index.d.ts
+++ b/dist/index.d.ts
@@ -115,7 +115,7 @@ interface ModuleHooks {
interface ModuleOptions extends PinceauOptions {
}
-declare module '@vue/runtime-core' {
+declare module 'vue' {
interface ComponentCustomProperties {
$dt: DtFunction;
$pinceau: ComputedRef<string>;

Plik diff jest za duży Load Diff

Wyświetl plik

@ -1,2 +1,9 @@
packages:
- docs
ignoredBuiltDependencies:
- '@tailwindcss/oxide'
onlyBuiltDependencies:
- better-sqlite3
- sharp