wuppycms 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -0
- package/dist/index.d.mts +12 -12
- package/package.json +24 -6
package/README.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# wuppycms
|
|
2
|
+
|
|
3
|
+
A file-based, Git-backed CMS for [Astro](https://astro.build). WuppyCMS adds an admin panel to your Astro site: content
|
|
4
|
+
stays in Markdown and MDX files in your repository, every save is a Git commit, and editors get a visual editor.
|
|
5
|
+
|
|
6
|
+
## Start a new site
|
|
7
|
+
|
|
8
|
+
```sh
|
|
9
|
+
npm create wuppycms my-site
|
|
10
|
+
cd my-site
|
|
11
|
+
npm install
|
|
12
|
+
npm run dev
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Open `http://localhost:4321/admin` and create the first account.
|
|
16
|
+
|
|
17
|
+
## Add it to an existing Astro site
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
npm install wuppycms
|
|
21
|
+
npx wuppycms init
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
`wuppycms init` finds your content collections, writes `wuppy.config.mjs` and adds the integration:
|
|
25
|
+
|
|
26
|
+
```js
|
|
27
|
+
// astro.config.mjs
|
|
28
|
+
import { defineConfig } from "astro/config";
|
|
29
|
+
import wuppycms from "wuppycms/astro";
|
|
30
|
+
|
|
31
|
+
export default defineConfig({
|
|
32
|
+
integrations: [wuppycms()],
|
|
33
|
+
});
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Use content in templates
|
|
37
|
+
|
|
38
|
+
```astro
|
|
39
|
+
---
|
|
40
|
+
import { getMenu, readData } from "wuppycms";
|
|
41
|
+
const menu = await getMenu("main");
|
|
42
|
+
---
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## What you get
|
|
46
|
+
|
|
47
|
+
- Collections and fields from `wuppy.config.mjs`; forms are built from them
|
|
48
|
+
- Revisions, diffs and restore from Git history
|
|
49
|
+
- A visual editor for blocks and for your theme's own markup
|
|
50
|
+
- Users and roles, two-factor sign-in, passkeys and a security log
|
|
51
|
+
- Media with focal points and crops, menus, redirects, SEO and sitemaps
|
|
52
|
+
- Plugins in a WebAssembly sandbox, webhooks, an AI assistant and managed sites
|
|
53
|
+
|
|
54
|
+
## CLI
|
|
55
|
+
|
|
56
|
+
| Command | Does |
|
|
57
|
+
| --- | --- |
|
|
58
|
+
| `wuppycms init` | wrap an existing Astro project |
|
|
59
|
+
| `wuppycms upgrade` | migrate project data after updating the package |
|
|
60
|
+
| `wuppycms types` | generate TypeScript types for your collections |
|
|
61
|
+
| `wuppycms doctor` | check the setup |
|
|
62
|
+
|
|
63
|
+
Requires Node.js 22.16 or later and Astro 7.4 or later.
|
|
64
|
+
|
|
65
|
+
## Links
|
|
66
|
+
|
|
67
|
+
- Website: [wuppycms.com](https://wuppycms.com)
|
|
68
|
+
- Documentation: [docs.wuppycms.com](https://docs.wuppycms.com)
|
|
69
|
+
- Source: [GitHub](https://github.com/fuatcangnc/wuppy)
|
package/dist/index.d.mts
CHANGED
|
@@ -841,9 +841,9 @@ declare const widgetAreaSchema: z.ZodObject<{
|
|
|
841
841
|
widgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
842
842
|
id: z.ZodString;
|
|
843
843
|
type: z.ZodEnum<{
|
|
844
|
-
custom: "custom";
|
|
845
844
|
text: "text";
|
|
846
845
|
taxonomy: "taxonomy";
|
|
846
|
+
custom: "custom";
|
|
847
847
|
html: "html";
|
|
848
848
|
menu: "menu";
|
|
849
849
|
recent: "recent";
|
|
@@ -1042,9 +1042,9 @@ declare const dataSchemas: {
|
|
|
1042
1042
|
widgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1043
1043
|
id: z.ZodString;
|
|
1044
1044
|
type: z.ZodEnum<{
|
|
1045
|
-
custom: "custom";
|
|
1046
1045
|
text: "text";
|
|
1047
1046
|
taxonomy: "taxonomy";
|
|
1047
|
+
custom: "custom";
|
|
1048
1048
|
html: "html";
|
|
1049
1049
|
menu: "menu";
|
|
1050
1050
|
recent: "recent";
|
|
@@ -2301,7 +2301,7 @@ declare function createApp({
|
|
|
2301
2301
|
dir: string;
|
|
2302
2302
|
format: "md" | "mdx";
|
|
2303
2303
|
fields: {
|
|
2304
|
-
[x: string]: "string" | "number" | "boolean" | "image" | "
|
|
2304
|
+
[x: string]: "string" | "number" | "boolean" | "image" | "text" | "date" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
|
|
2305
2305
|
type: FieldKind;
|
|
2306
2306
|
collection?: string | undefined;
|
|
2307
2307
|
taxonomy?: string | undefined;
|
|
@@ -3066,7 +3066,7 @@ declare function createApp({
|
|
|
3066
3066
|
dir: string;
|
|
3067
3067
|
format: "md" | "mdx";
|
|
3068
3068
|
fields: {
|
|
3069
|
-
[x: string]: "string" | "number" | "boolean" | "image" | "
|
|
3069
|
+
[x: string]: "string" | "number" | "boolean" | "image" | "text" | "date" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
|
|
3070
3070
|
type: FieldKind;
|
|
3071
3071
|
collection?: string | undefined;
|
|
3072
3072
|
taxonomy?: string | undefined;
|
|
@@ -3178,7 +3178,7 @@ declare function createApp({
|
|
|
3178
3178
|
description: string;
|
|
3179
3179
|
widgets: {
|
|
3180
3180
|
id: string;
|
|
3181
|
-
type: "
|
|
3181
|
+
type: "text" | "taxonomy" | "custom" | "html" | "menu" | "recent";
|
|
3182
3182
|
title: string;
|
|
3183
3183
|
body: string;
|
|
3184
3184
|
locales: string[];
|
|
@@ -3372,7 +3372,7 @@ declare function createApp({
|
|
|
3372
3372
|
dir: string;
|
|
3373
3373
|
format: "md" | "mdx";
|
|
3374
3374
|
fields: {
|
|
3375
|
-
[x: string]: "string" | "number" | "boolean" | "image" | "
|
|
3375
|
+
[x: string]: "string" | "number" | "boolean" | "image" | "text" | "date" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
|
|
3376
3376
|
type: FieldKind;
|
|
3377
3377
|
collection?: string | undefined;
|
|
3378
3378
|
taxonomy?: string | undefined;
|
|
@@ -3484,7 +3484,7 @@ declare function createApp({
|
|
|
3484
3484
|
description: string;
|
|
3485
3485
|
widgets: {
|
|
3486
3486
|
id: string;
|
|
3487
|
-
type: "
|
|
3487
|
+
type: "text" | "taxonomy" | "custom" | "html" | "menu" | "recent";
|
|
3488
3488
|
title: string;
|
|
3489
3489
|
body: string;
|
|
3490
3490
|
locales: string[];
|
|
@@ -5815,7 +5815,7 @@ declare function createServer({
|
|
|
5815
5815
|
dir: string;
|
|
5816
5816
|
format: "md" | "mdx";
|
|
5817
5817
|
fields: {
|
|
5818
|
-
[x: string]: "string" | "number" | "boolean" | "image" | "
|
|
5818
|
+
[x: string]: "string" | "number" | "boolean" | "image" | "text" | "date" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
|
|
5819
5819
|
type: FieldKind;
|
|
5820
5820
|
collection?: string | undefined;
|
|
5821
5821
|
taxonomy?: string | undefined;
|
|
@@ -6580,7 +6580,7 @@ declare function createServer({
|
|
|
6580
6580
|
dir: string;
|
|
6581
6581
|
format: "md" | "mdx";
|
|
6582
6582
|
fields: {
|
|
6583
|
-
[x: string]: "string" | "number" | "boolean" | "image" | "
|
|
6583
|
+
[x: string]: "string" | "number" | "boolean" | "image" | "text" | "date" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
|
|
6584
6584
|
type: FieldKind;
|
|
6585
6585
|
collection?: string | undefined;
|
|
6586
6586
|
taxonomy?: string | undefined;
|
|
@@ -6692,7 +6692,7 @@ declare function createServer({
|
|
|
6692
6692
|
description: string;
|
|
6693
6693
|
widgets: {
|
|
6694
6694
|
id: string;
|
|
6695
|
-
type: "
|
|
6695
|
+
type: "text" | "taxonomy" | "custom" | "html" | "menu" | "recent";
|
|
6696
6696
|
title: string;
|
|
6697
6697
|
body: string;
|
|
6698
6698
|
locales: string[];
|
|
@@ -6886,7 +6886,7 @@ declare function createServer({
|
|
|
6886
6886
|
dir: string;
|
|
6887
6887
|
format: "md" | "mdx";
|
|
6888
6888
|
fields: {
|
|
6889
|
-
[x: string]: "string" | "number" | "boolean" | "image" | "
|
|
6889
|
+
[x: string]: "string" | "number" | "boolean" | "image" | "text" | "date" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
|
|
6890
6890
|
type: FieldKind;
|
|
6891
6891
|
collection?: string | undefined;
|
|
6892
6892
|
taxonomy?: string | undefined;
|
|
@@ -6998,7 +6998,7 @@ declare function createServer({
|
|
|
6998
6998
|
description: string;
|
|
6999
6999
|
widgets: {
|
|
7000
7000
|
id: string;
|
|
7001
|
-
type: "
|
|
7001
|
+
type: "text" | "taxonomy" | "custom" | "html" | "menu" | "recent";
|
|
7002
7002
|
title: string;
|
|
7003
7003
|
body: string;
|
|
7004
7004
|
locales: string[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wuppycms",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
|
+
"description": "WuppyCMS: a file-based, Git-backed CMS and admin panel for Astro.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"astro",
|
|
7
|
+
"astro-integration",
|
|
8
|
+
"cms",
|
|
9
|
+
"headless-cms",
|
|
10
|
+
"markdown",
|
|
11
|
+
"mdx",
|
|
12
|
+
"git",
|
|
13
|
+
"withastro"
|
|
14
|
+
],
|
|
15
|
+
"homepage": "https://wuppycms.com",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/fuatcangnc/wuppy.git",
|
|
19
|
+
"directory": "packages/core"
|
|
20
|
+
},
|
|
21
|
+
"bugs": "https://github.com/fuatcangnc/wuppy/issues",
|
|
4
22
|
"type": "module",
|
|
5
23
|
"exports": {
|
|
6
24
|
".": {
|
|
@@ -40,11 +58,11 @@
|
|
|
40
58
|
"resend": "^6.34.1",
|
|
41
59
|
"yaml": "^2.8.0",
|
|
42
60
|
"zod": "4.5.4",
|
|
43
|
-
"@wuppycms/admin": "0.2.
|
|
44
|
-
"@wuppycms/auth": "0.2.
|
|
45
|
-
"@wuppycms/git": "0.2.
|
|
46
|
-
"@wuppycms/plugin-types": "0.2.
|
|
47
|
-
"@wuppycms/visual-editor": "0.2.
|
|
61
|
+
"@wuppycms/admin": "0.2.2",
|
|
62
|
+
"@wuppycms/auth": "0.2.2",
|
|
63
|
+
"@wuppycms/git": "0.2.2",
|
|
64
|
+
"@wuppycms/plugin-types": "0.2.2",
|
|
65
|
+
"@wuppycms/visual-editor": "0.2.2"
|
|
48
66
|
},
|
|
49
67
|
"devDependencies": {
|
|
50
68
|
"@types/node": "^22.16.0",
|