Docs: Added separate packages pages

This commit is contained in:
Prozilla 2024-07-17 20:13:17 +02:00
parent ed989110ad
commit 1e40423032
No known key found for this signature in database
GPG key ID: 5858DFE71CAF31EE
44 changed files with 401 additions and 167 deletions

View file

@ -64,13 +64,15 @@ url: string;
## Links
- [Website/demo][website]
- [Demo][demo]
- [Docs][docs]
- [GitHub][github]
- [npm][npm]
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/browser
[demo]: https://os.prozilla.dev/browser
[docs]: https://os.prozilla.dev/docs/reference/apps/browser
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/apps/browser
[npm]: https://www.npmjs.com/package/@prozilla-os/browser
[discord]: https://discord.gg/JwbyQP4tdz

View file

@ -55,13 +55,15 @@ function App() {
## Links
- [Website/demo][website]
- [Demo][demo]
- [Docs][docs]
- [GitHub][github]
- [npm][npm]
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/calculator
[demo]: https://os.prozilla.dev/calculator
[docs]: https://os.prozilla.dev/docs/reference/apps/calculator
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/apps/calculator
[npm]: https://www.npmjs.com/package/@prozilla-os/calculator
[discord]: https://discord.gg/JwbyQP4tdz

View file

@ -90,13 +90,15 @@ onSelectionFinish: Function;
## Links
- [Website/demo][website]
- [Demo][demo]
- [Docs][docs]
- [GitHub][github]
- [npm][npm]
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/file-explorer
[demo]: https://os.prozilla.dev/file-explorer
[docs]: https://os.prozilla.dev/docs/reference/apps/file-explorer
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/apps/file-explorer
[npm]: https://www.npmjs.com/package/@prozilla-os/file-explorer
[discord]: https://discord.gg/JwbyQP4tdz

View file

@ -55,13 +55,15 @@ function App() {
## Links
- [Website/demo][website]
- [Demo][demo]
- [Docs][docs]
- [GitHub][github]
- [npm][npm]
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/logic-sim
[demo]: https://os.prozilla.dev/logic-sim
[docs]: https://os.prozilla.dev/docs/reference/apps/logic-sim
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/apps/logic-sim
[npm]: https://www.npmjs.com/package/@prozilla-os/logic-sim
[discord]: https://discord.gg/JwbyQP4tdz

View file

@ -64,13 +64,15 @@ file: VirtualFile;
## Links
- [Website/demo][website]
- [Demo][demo]
- [Docs][docs]
- [GitHub][github]
- [npm][npm]
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/media-viewer
[demo]: https://os.prozilla.dev/media-viewer
[docs]: https://os.prozilla.dev/docs/reference/apps/media-viewer
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/apps/media-viewer
[npm]: https://www.npmjs.com/package/@prozilla-os/media-viewer
[discord]: https://discord.gg/JwbyQP4tdz

View file

@ -65,13 +65,15 @@ tab: number;
## Links
- [Website/demo][website]
- [Demo][demo]
- [Docs][docs]
- [GitHub][github]
- [npm][npm]
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/settings
[demo]: https://os.prozilla.dev/settings
[docs]: https://os.prozilla.dev/docs/reference/apps/settings
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/apps/settings
[npm]: https://www.npmjs.com/package/@prozilla-os/settings
[discord]: https://discord.gg/JwbyQP4tdz

View file

@ -70,13 +70,15 @@ input: string;
## Links
- [Website/demo][website]
- [Demo][demo]
- [Docs][docs]
- [GitHub][github]
- [npm][npm]
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/terminal
[demo]: https://os.prozilla.dev/terminal
[docs]: https://os.prozilla.dev/docs/reference/apps/terminal
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/apps/terminal
[npm]: https://www.npmjs.com/package/@prozilla-os/terminal
[discord]: https://discord.gg/JwbyQP4tdz

View file

@ -77,13 +77,15 @@ mode: "view" | "edit";
## Links
- [Website/demo][website]
- [Demo][demo]
- [Docs][docs]
- [GitHub][github]
- [npm][npm]
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/text-editor
[demo]: https://os.prozilla.dev/text-editor
[docs]: https://os.prozilla.dev/docs/reference/apps/text-editor
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/apps/text-editor
[npm]: https://www.npmjs.com/package/@prozilla-os/text-editor
[discord]: https://discord.gg/JwbyQP4tdz

View file

@ -44,15 +44,43 @@ function App() {
<br />
### `<ProzillaOS>` props
### Configuration
```tsx
{
interface ProzillaOSProps {
systemName: string,
tagLine: string,
skin: new Skin({
appIcons: Record<number, string> | undefined,
appNames: Record<number, string> | undefined,
wallpapers: string[],
defaultWallpaper: string,
fileIcons: {
generic: string;
info: string | undefined;
text: string | undefined;
code: string | undefined;
},
folderIcons: {
generic: string;
images: string | undefined;
text: string | undefined;
link: string | undefined;
},
loadStyleSheet: () => void | undefined
})
config: {
apps: new AppsConfig({
@ -61,12 +89,6 @@ function App() {
}),
desktop: new DesktopConfig({
/** Array of URLs of wallpaper images */
wallpapers: string[],
/** URL of default wallpaper image */
defaultWallpaper: string,
/**
* @default 1
*/
@ -79,6 +101,14 @@ function App() {
defaultIconDirection: 0 | 1
}),
misc: new MiscConfig({
/**
* @default 250
*/
doubleClickDelay: number
})
modals: new ModalsConfig({
/**
@ -114,19 +144,6 @@ function App() {
/** Google Analytics measurement ID */
GAMeasurementId: string
}),
virtualDrive: new VirtualDriveConfig({
fileIcon: string,
infoFileIcon: string,
textFileIcon: string,
codeFileIcon: string,
folderIcon: string,
imagesFolderIcon: string,
textFolderIcon: string,
folderLinkIcon: string
}),
windows: new WindowsConfig({
@ -154,13 +171,15 @@ function App() {
## Links
- [Website/demo][website]
- [Demo][demo]
- [Docs][docs]
- [GitHub][github]
- [npm][npm]
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/
[demo]: https://os.prozilla.dev/
[docs]: https://os.prozilla.dev/docs/reference/core
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/core
[npm]: https://www.npmjs.com/package/@prozilla-os/core
[discord]: https://discord.gg/JwbyQP4tdz

View file

@ -35,7 +35,7 @@
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/
[demo]: https://os.prozilla.dev/
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/demo
[discord]: https://discord.gg/JwbyQP4tdz
[ko-fi]: https://ko-fi.com/prozilla

View file

@ -1,9 +1,6 @@
import { defineConfig, HeadConfig } from "vitepress";
const TITLE = "ProzillaOS Docs";
const DESCRIPTION = "Documentation for ProzillaOS and its packages.";
const LOCALE = "en_US";
const IMAGE = "https://os.prozilla.dev/docs/prozilla-os-title-banner.png";
import { packageReferenceItems, PACKAGES, packageSidebars } from "./packages.config";
import { DESCRIPTION, IMAGE, LOCALE, TITLE } from "./meta.config";
// https://vitepress.dev/reference/site-config
export default defineConfig({
@ -64,75 +61,22 @@ export default defineConfig({
base: "/reference/",
items: [
{
text: "Overview",
text: "Reference",
items: [
{ text: "Configuration", link: "/configuration" },
{ text: "Packages", link: "/packages" },
{ text: "Glossary", link: "/glossary" },
]
],
},
{
text: "Classes",
base: "/reference/classes/",
collapsed: false,
text: "Packages",
items: [
{
text: "Apps",
base: "/reference/classes/apps/",
collapsed: true,
items: [
{ text: "App", link: "app" },
]
},
{
text: "Skins",
base: "/reference/classes/skins/",
collapsed: true,
items: [
{ text: "Skin", link: "skin" },
]
},
{
text: "System",
base: "/reference/classes/system/",
collapsed: true,
items: [
{ text: "AppsConfig", link: "apps-config" },
{ text: "DesktopConfig", link: "desktop-config" },
{ text: "MiscConfig", link: "misc-config" },
{ text: "ModalsConfig", link: "modals-config" },
{ text: "TaskbarConfig", link: "taskbar-config" },
{ text: "TrackingConfig", link: "tracking-config" },
{ text: "WindowsConfig", link: "windows-config" },
]
},
{
text: "Utils",
base: "/reference/classes/utils/",
collapsed: true,
items: [
{ text: "Vector2", link: "vector2" },
]
},
{ text: "Overview", link: "/packages" },
...packageReferenceItems(PACKAGES)
]
},
{
text: "Functions",
base: "/reference/functions/",
collapsed: false,
items: [
{ text: "Array", link: "/array" },
{ text: "Browser", link: "/browser" },
{ text: "Date", link: "/date" },
{ text: "Math", link: "/math" },
]
},
{
text: "Constants",
link: "constants"
},
}
]
},
...packageSidebars(PACKAGES),
},
editLink: {

View file

@ -0,0 +1,4 @@
export const TITLE = "ProzillaOS Docs";
export const DESCRIPTION = "Documentation for ProzillaOS and its packages.";
export const LOCALE = "en_US";
export const IMAGE = "https://os.prozilla.dev/docs/prozilla-os-title-banner.png";

View file

@ -0,0 +1,168 @@
import { DefaultTheme } from "vitepress";
export interface PackageData {
text: string;
link: string;
items?: DefaultTheme.SidebarItem[];
category: "Libraries" | "Standard apps" | "Non-standard apps";
};
export const PACKAGES: PackageData[] = [
{
text: "prozilla-os",
link: "prozilla-os",
category: "Libraries"
},
{
text: "@prozilla-os/core",
link: "core",
category: "Libraries",
items: [
{
text: "Classes",
base: "/reference/core/classes/",
collapsed: false,
items: [
{
text: "Apps",
base: "/reference/core/classes/apps/",
collapsed: true,
items: [
{ text: "App", link: "app" },
]
},
{
text: "System",
base: "/reference/core/classes/system/",
collapsed: true,
items: [
{ text: "AppsConfig", link: "apps-config" },
{ text: "DesktopConfig", link: "desktop-config" },
{ text: "MiscConfig", link: "misc-config" },
{ text: "ModalsConfig", link: "modals-config" },
{ text: "TaskbarConfig", link: "taskbar-config" },
{ text: "TrackingConfig", link: "tracking-config" },
{ text: "WindowsConfig", link: "windows-config" },
]
},
{
text: "Utils",
base: "/reference/core/classes/utils/",
collapsed: true,
items: [
{ text: "Vector2", link: "vector2" },
]
},
]
},
{
text: "Functions",
base: "/reference/core/functions/",
collapsed: false,
items: [
{ text: "Array", link: "/array" },
{ text: "Browser", link: "/browser" },
{ text: "Date", link: "/date" },
{ text: "Math", link: "/math" },
]
},
{
text: "Constants",
link: "constants"
},
]
},
{
text: "@prozilla-os/skins",
link: "skins",
category: "Libraries",
items: [
{
text: "Classes",
base: "/reference/skins/classes/",
collapsed: false,
items: [
{ text: "Skin", link: "skin" }
]
}
]
},
{
text: "@prozilla-os/shared",
link: "shared",
category: "Libraries",
},
{
text: "@prozilla-os/calculator",
link: "apps/calculator",
category: "Standard apps",
},
{
text: "@prozilla-os/file-explorer",
link: "apps/file-explorer",
category: "Standard apps",
},
{
text: "@prozilla-os/media-viewer",
link: "apps/media-viewer",
category: "Standard apps",
},
{
text: "@prozilla-os/settings",
link: "apps/settings",
category: "Standard apps",
},
{
text: "@prozilla-os/terminal",
link: "apps/terminal",
category: "Standard apps",
},
{
text: "@prozilla-os/logic-sim",
link: "apps/logic-sim",
category: "Non-standard apps",
}
];
export const packageSidebars = (packages: PackageData[]): DefaultTheme.Sidebar => {
const sidebar: DefaultTheme.Sidebar = {};
packages.forEach(({ text, link, items = [] }) => {
const base = `/reference/${link}/`;
sidebar[base] = {
base,
items: [
{
text,
items: [
{ text: "Info", link: "/" },
...items
]
}
]
};
});
return sidebar;
};
export const packageReferenceItems = (packages: PackageData[]): DefaultTheme.SidebarItem[] => {
const categories: Record<string, DefaultTheme.SidebarItem> = {};
packages.forEach(({ text, link, category }) => {
if (!Object.keys(categories).includes(category)) {
categories[category] = {
text: category,
collapsed: true,
items: []
};
}
categories[category].items?.push({
text,
link
});
});
return Object.values(categories);
};

View file

@ -0,0 +1,7 @@
---
outline: deep
---
# @prozilla-os/browser
<!--@include: ../../../../../apps/browser/README.md{13,}-->

View file

@ -0,0 +1,7 @@
---
outline: deep
---
# @prozilla-os/calculator
<!--@include: ../../../../../apps/calculator/README.md{13,}-->

View file

@ -0,0 +1,7 @@
---
outline: deep
---
# @prozilla-os/file-explorer
<!--@include: ../../../../../apps/file-explorer/README.md{13,}-->

View file

@ -0,0 +1,7 @@
---
outline: deep
---
# @prozilla-os/logic-sim
<!--@include: ../../../../../apps/logic-sim/README.md{13,}-->

View file

@ -0,0 +1,7 @@
---
outline: deep
---
# @prozilla-os/media-viewer
<!--@include: ../../../../../apps/media-viewer/README.md{13,}-->

View file

@ -0,0 +1,7 @@
---
outline: deep
---
# @prozilla-os/settings
<!--@include: ../../../../../apps/settings/README.md{13,}-->

View file

@ -0,0 +1,7 @@
---
outline: deep
---
# @prozilla-os/terminal
<!--@include: ../../../../../apps/terminal/README.md{13,}-->

View file

@ -29,7 +29,7 @@ Tag line or short description of the system
Configurations for assets, stylesheets and other visual elements
- **Optional**
- **Type:** [`Skin`](/reference/classes/skins/skin)
- **Type:** [`Skin`](/reference/core/skins/classes/skin)
- **Default:** `new Skin()`
### config
@ -52,13 +52,13 @@ interface ConfigOptions {
```
> [!NOTE] References
> - [AppsConfig](/reference/classes/system/apps-config)
> - [DesktopConfig](/reference/classes/system/desktop-config)
> - [MiscConfig](/reference/classes/system/misc-config)
> - [ModalsConfig](/reference/classes/system/modals-config)
> - [TaskbarConfig](/reference/classes/system/taskbar-config)
> - [TrackingConfig](/reference/classes/system/tracking-config)
> - [WindowsConfig](/reference/classes/system/windows-config)
> - [AppsConfig](/reference/core/classes/system/apps-config)
> - [DesktopConfig](/reference/core/classes/system/desktop-config)
> - [MiscConfig](/reference/core/classes/system/misc-config)
> - [ModalsConfig](/reference/core/classes/system/modals-config)
> - [TaskbarConfig](/reference/core/classes/system/taskbar-config)
> - [TrackingConfig](/reference/core/classes/system/tracking-config)
> - [WindowsConfig](/reference/core/classes/system/windows-config)
## Example

View file

@ -25,7 +25,7 @@ interface AppsConfigOptions {
```
> [!NOTE] References
> - [App](/reference/classes/apps/app)
> - [App](/reference/core/classes/apps/app)
## Properties
@ -33,4 +33,4 @@ interface AppsConfigOptions {
An array of applications
- **Type:** [`App[]`](../apps/app)
- **Type:** [`App[]`](/reference/core/classes/apps/app)

View file

@ -26,7 +26,7 @@ interface ModalsConfigOptions {
```
> [!NOTE] References
> - [Vector2](/reference/classes/utils/vector2)
> - [Vector2](/reference/core/classes/utils/vector2)
## Properties
@ -34,12 +34,12 @@ interface ModalsConfigOptions {
Default size of a dialog box
- **Type:** [`Vector2`](/reference/classes/utils/vector2)
- **Type:** [`Vector2`](/reference/core/classes/utils/vector2)
- **Default:** `new Vector2(400, 200)`
### defaultFileSelectorSize
Default size of a file selector
- **Type:** [`Vector2`](/reference/classes/utils/vector2)
- **Type:** [`Vector2`](/reference/core/classes/utils/vector2)
- **Default:** `new Vector2(700, 400)`

View file

@ -27,7 +27,7 @@ interface WindowsConfigOptions {
```
> [!NOTE] References
> - [Vector2](/reference/classes/utils/vector2)
> - [Vector2](/reference/core/classes/utils/vector2)
## Properties
@ -49,7 +49,7 @@ A string that is placed between different parts of a window title
If the user's screen is smaller than these values, windows will always be maximized
- **Type:** [`Vector2`](/reference/classes/utils/vector2)
- **Type:** [`Vector2`](/reference/core/classes/utils/vector2)
- **Default:** `new Vector2(350, 350)`
> [!WARNING]

View file

@ -0,0 +1,7 @@
---
outline: deep
---
# @prozilla-os/core
<!--@include: ../../../../core/README.md{13,}-->

View file

@ -6,23 +6,6 @@ outline: deep
These packages are different modules of ProzillaOS that can be installed separately or via the bundle package `prozilla-os`.
## Main
### Libraries
- [`prozilla-os`](https://www.npmjs.com/package/prozilla-os): A bundle containing `@prozilla-os/core` and all standard applications
- [`@prozilla-os/core`](https://www.npmjs.com/package/@prozilla-os/core): Core functionality, React components and hooks
- [`@prozilla-os/skins`](https://www.npmjs.com/package/@prozilla-os/skins): Customizable skins for ProzillaOS
- [`@prozilla-os/shared`](https://www.npmjs.com/package/@prozilla-os/shared): Shared functions and utilities
## Standard applications
- [`@prozilla-os/file-explorer`](https://www.npmjs.com/package/@prozilla-os/file-explorer): File explorer app
- [`@prozilla-os/terminal`](https://www.npmjs.com/package/@prozilla-os/terminal): Terminal/shell app
- [`@prozilla-os/text-editor`](https://www.npmjs.com/package/@prozilla-os/text-editor): Text editor app
- [`@prozilla-os/settings`](https://www.npmjs.com/package/@prozilla-os/settings): Settings app
- [`@prozilla-os/media-viewer`](https://www.npmjs.com/package/@prozilla-os/media-viewer): Media viewer app
- [`@prozilla-os/browser`](https://www.npmjs.com/package/@prozilla-os/browser): Browser app
- [`@prozilla-os/calculator`](https://www.npmjs.com/package/@prozilla-os/calculator): Calculator app
## Non-standard applications
- [`@prozilla-os/logic-sim`](https://www.npmjs.com/package/@prozilla-os/logic-sim): Digital logic simulator app
<!--@include: ../../../README.md{4,23}-->

View file

@ -0,0 +1,7 @@
---
outline: deep
---
# prozilla-os
<!--@include: ../../../../prozilla-os/README.md{13,}-->

View file

@ -0,0 +1,7 @@
---
outline: deep
---
# @prozilla-os/shared
<!--@include: ../../../../shared/README.md{13,}-->

View file

@ -0,0 +1,7 @@
---
outline: deep
---
# @prozilla-os/skins
<!--@include: ../../../../skins/README.md{13,}-->

View file

@ -15,7 +15,7 @@
`prozilla-os` is a React Vite component library written in TypeScript for building web-based operating systems, made by Prozilla. This package combines multiple other packages for easy access to different ProzillaOS features. You can also download these packages separately instead.
**Live demo: [os.prozilla.dev][website]** - [(source)][website-source]
**Live demo: [os.prozilla.dev][demo]** - [(source)][website-source]
## Installation
@ -61,15 +61,43 @@ function App() {
<br />
### `<ProzillaOS>` props
### Configuration
```tsx
{
interface ProzillaOSProps {
systemName: string,
tagLine: string,
skin: new Skin({
appIcons: Record<number, string> | undefined,
appNames: Record<number, string> | undefined,
wallpapers: string[],
defaultWallpaper: string,
fileIcons: {
generic: string;
info: string | undefined;
text: string | undefined;
code: string | undefined;
},
folderIcons: {
generic: string;
images: string | undefined;
text: string | undefined;
link: string | undefined;
},
loadStyleSheet: () => void | undefined
})
config: {
apps: new AppsConfig({
@ -78,12 +106,6 @@ function App() {
}),
desktop: new DesktopConfig({
/** Array of URLs of wallpaper images */
wallpapers: string[],
/** URL of default wallpaper image */
defaultWallpaper: string,
/**
* @default 1
*/
@ -96,6 +118,14 @@ function App() {
defaultIconDirection: 0 | 1
}),
misc: new MiscConfig({
/**
* @default 250
*/
doubleClickDelay: number
})
modals: new ModalsConfig({
/**
@ -131,19 +161,6 @@ function App() {
/** Google Analytics measurement ID */
GAMeasurementId: string
}),
virtualDrive: new VirtualDriveConfig({
fileIcon: string,
infoFileIcon: string,
textFileIcon: string,
codeFileIcon: string,
folderIcon: string,
imagesFolderIcon: string,
textFolderIcon: string,
folderLinkIcon: string
}),
windows: new WindowsConfig({
@ -171,13 +188,15 @@ function App() {
## Links
- [Website/demo][website]
- [Demo][demo]
- [Docs][docs]
- [GitHub][github]
- [npm][npm]
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/
[demo]: https://os.prozilla.dev/
[docs]: [docs]: https://os.prozilla.dev/docs/reference/prozilla-os
[website-source]: https://github.com/prozilla-os/ProzillaOS
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/prozilla-os
[npm]: https://www.npmjs.com/package/prozilla-os

View file

@ -48,13 +48,15 @@ export default defineConfig({
## Links
- [Website/demo][website]
- [Demo][demo]
- [Docs][docs]
- [GitHub][github]
- [npm][npm]
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/
[demo]: https://os.prozilla.dev/
[docs]: [docs]: https://os.prozilla.dev/docs/reference/shared
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/shared
[npm]: https://www.npmjs.com/package/@prozilla-os/shared
[discord]: https://discord.gg/JwbyQP4tdz

View file

@ -25,13 +25,15 @@ $ pnpm add @prozilla-os/skins
## Links
- [Website/demo][website]
- [Demo][demo]
- [Docs][docs]
- [GitHub][github]
- [npm][npm]
- [Discord][discord]
- [Ko-fi][ko-fi]
[website]: https://os.prozilla.dev/
[demo]: https://os.prozilla.dev/
[docs]: https://os.prozilla.dev/docs/reference/skins
[github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/skins
[npm]: https://www.npmjs.com/package/@prozilla-os/skins
[discord]: https://discord.gg/JwbyQP4tdz