@vitnode/blog 1.2.0-canary.78 → 2.0.0-canary.10
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/dist/src/admin/content.d.ts +5 -0
- package/dist/src/admin/content.d.ts.map +1 -0
- package/dist/src/admin/content.js +1 -0
- package/dist/src/admin/nav.d.ts +41 -0
- package/dist/src/admin/nav.d.ts.map +1 -0
- package/dist/src/admin/nav.js +1 -0
- package/dist/src/api/lib/events.d.ts +11 -3
- package/dist/src/api/lib/events.d.ts.map +1 -1
- package/dist/src/api/lib/events.js +1 -1
- package/dist/src/api/modules/admin/admin.module.d.ts +1 -218
- package/dist/src/api/modules/admin/admin.module.d.ts.map +1 -1
- package/dist/src/api/modules/admin/admin.module.js +1 -1
- package/dist/src/config.api.d.ts.map +1 -1
- package/dist/src/config.api.js +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +1 -1
- package/dist/src/content/category.d.ts +5 -0
- package/dist/src/content/category.d.ts.map +1 -0
- package/dist/src/content/category.js +1 -0
- package/dist/src/content/post.d.ts +10 -0
- package/dist/src/content/post.d.ts.map +1 -0
- package/dist/src/content/post.js +1 -0
- package/dist/src/database/categories.d.ts +10 -77
- package/dist/src/database/categories.d.ts.map +1 -1
- package/dist/src/database/categories.js +1 -1
- package/dist/src/database/posts.d.ts +22 -92
- package/dist/src/database/posts.d.ts.map +1 -1
- package/dist/src/database/posts.js +1 -1
- package/dist/src/globals.css +1 -0
- package/dist/src/locales/en.json +50 -73
- package/dist/src/locales/index.d.ts.map +1 -1
- package/dist/src/locales/index.js +1 -1
- package/dist/src/locales/pl.json +69 -0
- package/dist/src/views/admin/article/editor-field.d.ts +4 -0
- package/dist/src/views/admin/article/editor-field.d.ts.map +1 -0
- package/dist/src/views/admin/article/editor-field.js +1 -0
- package/dist/src/views/admin/article/form-layout.d.ts +3 -0
- package/dist/src/views/admin/article/form-layout.d.ts.map +1 -0
- package/dist/src/views/admin/article/form-layout.js +1 -0
- package/dist/src/views/admin/category/color-cell.d.ts +4 -0
- package/dist/src/views/admin/category/color-cell.d.ts.map +1 -0
- package/dist/src/views/admin/category/color-cell.js +1 -0
- package/dist/src/views/admin/category/color-field.d.ts +3 -0
- package/dist/src/views/admin/category/color-field.d.ts.map +1 -0
- package/dist/src/views/admin/category/color-field.js +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/package.json +32 -25
- package/src/locales/en.json +50 -73
- package/src/locales/index.ts +1 -0
- package/src/locales/pl.json +69 -0
- package/tsconfig.build.json +6 -1
- package/dist/src/api/lib/categories-language.d.ts +0 -10
- package/dist/src/api/lib/categories-language.d.ts.map +0 -1
- package/dist/src/api/lib/categories-language.js +0 -1
- package/dist/src/api/lib/posts-language.d.ts +0 -17
- package/dist/src/api/lib/posts-language.d.ts.map +0 -1
- package/dist/src/api/lib/posts-language.js +0 -1
- package/dist/src/api/lib/search.d.ts +0 -13
- package/dist/src/api/lib/search.d.ts.map +0 -1
- package/dist/src/api/lib/search.js +0 -1
- package/dist/src/api/modules/admin/categories/categories.admin.module.d.ts +0 -100
- package/dist/src/api/modules/admin/categories/categories.admin.module.d.ts.map +0 -1
- package/dist/src/api/modules/admin/categories/categories.admin.module.js +0 -1
- package/dist/src/api/modules/admin/categories/routes/create.route.d.ts +0 -47
- package/dist/src/api/modules/admin/categories/routes/create.route.d.ts.map +0 -1
- package/dist/src/api/modules/admin/categories/routes/create.route.js +0 -1
- package/dist/src/api/modules/admin/categories/routes/delete.route.d.ts +0 -21
- package/dist/src/api/modules/admin/categories/routes/delete.route.d.ts.map +0 -1
- package/dist/src/api/modules/admin/categories/routes/delete.route.js +0 -1
- package/dist/src/api/modules/admin/categories/routes/edit.route.d.ts +0 -46
- package/dist/src/api/modules/admin/categories/routes/edit.route.d.ts.map +0 -1
- package/dist/src/api/modules/admin/categories/routes/edit.route.js +0 -1
- package/dist/src/api/modules/admin/posts/posts.admin.module.d.ts +0 -121
- package/dist/src/api/modules/admin/posts/posts.admin.module.d.ts.map +0 -1
- package/dist/src/api/modules/admin/posts/posts.admin.module.js +0 -1
- package/dist/src/api/modules/admin/posts/routes/create.route.d.ts +0 -67
- package/dist/src/api/modules/admin/posts/routes/create.route.d.ts.map +0 -1
- package/dist/src/api/modules/admin/posts/routes/create.route.js +0 -1
- package/dist/src/api/modules/admin/posts/routes/delete.route.d.ts +0 -21
- package/dist/src/api/modules/admin/posts/routes/delete.route.d.ts.map +0 -1
- package/dist/src/api/modules/admin/posts/routes/delete.route.js +0 -1
- package/dist/src/api/modules/admin/posts/routes/edit.route.d.ts +0 -55
- package/dist/src/api/modules/admin/posts/routes/edit.route.d.ts.map +0 -1
- package/dist/src/api/modules/admin/posts/routes/edit.route.js +0 -1
- package/dist/src/api/modules/categories/categories.module.d.ts +0 -75
- package/dist/src/api/modules/categories/categories.module.d.ts.map +0 -1
- package/dist/src/api/modules/categories/categories.module.js +0 -1
- package/dist/src/api/modules/categories/routes/get.route.d.ts +0 -62
- package/dist/src/api/modules/categories/routes/get.route.d.ts.map +0 -1
- package/dist/src/api/modules/categories/routes/get.route.js +0 -1
- package/dist/src/api/modules/categories/test.route.d.ts +0 -27
- package/dist/src/api/modules/categories/test.route.d.ts.map +0 -1
- package/dist/src/api/modules/categories/test.route.js +0 -1
- package/dist/src/api/modules/posts/posts.module.d.ts +0 -73
- package/dist/src/api/modules/posts/posts.module.d.ts.map +0 -1
- package/dist/src/api/modules/posts/posts.module.js +0 -1
- package/dist/src/api/modules/posts/routes/get.route.d.ts +0 -105
- package/dist/src/api/modules/posts/routes/get.route.d.ts.map +0 -1
- package/dist/src/api/modules/posts/routes/get.route.js +0 -1
- package/dist/src/database/index.d.ts +0 -4
- package/dist/src/database/index.d.ts.map +0 -1
- package/dist/src/database/index.js +0 -1
- package/dist/src/database/relations.d.ts +0 -7
- package/dist/src/database/relations.d.ts.map +0 -1
- package/dist/src/database/relations.js +0 -1
- package/dist/src/routes/admin/blog/categories/page.d.ts +0 -9
- package/dist/src/routes/admin/blog/categories/page.d.ts.map +0 -1
- package/dist/src/routes/admin/blog/categories/page.js +0 -1
- package/dist/src/routes/admin/blog/posts/page.d.ts +0 -9
- package/dist/src/routes/admin/blog/posts/page.d.ts.map +0 -1
- package/dist/src/routes/admin/blog/posts/page.js +0 -1
- package/dist/src/routes/breadcrumb/admin/blog/categories/page.d.ts +0 -2
- package/dist/src/routes/breadcrumb/admin/blog/categories/page.d.ts.map +0 -1
- package/dist/src/routes/breadcrumb/admin/blog/categories/page.js +0 -1
- package/dist/src/routes/breadcrumb/admin/blog/posts/page.d.ts +0 -2
- package/dist/src/routes/breadcrumb/admin/blog/posts/page.d.ts.map +0 -1
- package/dist/src/routes/breadcrumb/admin/blog/posts/page.js +0 -1
- package/dist/src/views/admin/categories/actions/actions.d.ts +0 -3
- package/dist/src/views/admin/categories/actions/actions.d.ts.map +0 -1
- package/dist/src/views/admin/categories/actions/actions.js +0 -1
- package/dist/src/views/admin/categories/actions/create-edit/create-edit.d.ts +0 -8
- package/dist/src/views/admin/categories/actions/create-edit/create-edit.d.ts.map +0 -1
- package/dist/src/views/admin/categories/actions/create-edit/create-edit.js +0 -1
- package/dist/src/views/admin/categories/actions/create-edit/mutation-api.server.d.ts +0 -11
- package/dist/src/views/admin/categories/actions/create-edit/mutation-api.server.d.ts.map +0 -1
- package/dist/src/views/admin/categories/actions/create-edit/mutation-api.server.js +0 -1
- package/dist/src/views/admin/categories/table/actions/delete/delete-action.d.ts +0 -5
- package/dist/src/views/admin/categories/table/actions/delete/delete-action.d.ts.map +0 -1
- package/dist/src/views/admin/categories/table/actions/delete/delete-action.js +0 -1
- package/dist/src/views/admin/categories/table/actions/delete/mutation-api.server.d.ts +0 -4
- package/dist/src/views/admin/categories/table/actions/delete/mutation-api.server.d.ts.map +0 -1
- package/dist/src/views/admin/categories/table/actions/delete/mutation-api.server.js +0 -1
- package/dist/src/views/admin/categories/table/actions/edit-action.d.ts +0 -9
- package/dist/src/views/admin/categories/table/actions/edit-action.d.ts.map +0 -1
- package/dist/src/views/admin/categories/table/actions/edit-action.js +0 -1
- package/dist/src/views/admin/categories/table/categories-admin-view.d.ts +0 -4
- package/dist/src/views/admin/categories/table/categories-admin-view.d.ts.map +0 -1
- package/dist/src/views/admin/categories/table/categories-admin-view.js +0 -1
- package/dist/src/views/admin/posts/actions/actions.d.ts +0 -3
- package/dist/src/views/admin/posts/actions/actions.d.ts.map +0 -1
- package/dist/src/views/admin/posts/actions/actions.js +0 -1
- package/dist/src/views/admin/posts/actions/create-edit/create-edit.d.ts +0 -9
- package/dist/src/views/admin/posts/actions/create-edit/create-edit.d.ts.map +0 -1
- package/dist/src/views/admin/posts/actions/create-edit/create-edit.js +0 -1
- package/dist/src/views/admin/posts/actions/create-edit/multi-lang-fields.d.ts +0 -10
- package/dist/src/views/admin/posts/actions/create-edit/multi-lang-fields.d.ts.map +0 -1
- package/dist/src/views/admin/posts/actions/create-edit/multi-lang-fields.js +0 -1
- package/dist/src/views/admin/posts/actions/create-edit/mutation-api.server.d.ts +0 -11
- package/dist/src/views/admin/posts/actions/create-edit/mutation-api.server.d.ts.map +0 -1
- package/dist/src/views/admin/posts/actions/create-edit/mutation-api.server.js +0 -1
- package/dist/src/views/admin/posts/table/actions/delete/delete-action.d.ts +0 -5
- package/dist/src/views/admin/posts/table/actions/delete/delete-action.d.ts.map +0 -1
- package/dist/src/views/admin/posts/table/actions/delete/delete-action.js +0 -1
- package/dist/src/views/admin/posts/table/actions/delete/mutation-api.server.d.ts +0 -4
- package/dist/src/views/admin/posts/table/actions/delete/mutation-api.server.d.ts.map +0 -1
- package/dist/src/views/admin/posts/table/actions/delete/mutation-api.server.js +0 -1
- package/dist/src/views/admin/posts/table/actions/edit-action.d.ts +0 -9
- package/dist/src/views/admin/posts/table/actions/edit-action.d.ts.map +0 -1
- package/dist/src/views/admin/posts/table/actions/edit-action.js +0 -1
- package/dist/src/views/admin/posts/table/posts-admin-view.d.ts +0 -4
- package/dist/src/views/admin/posts/table/posts-admin-view.d.ts.map +0 -1
- package/dist/src/views/admin/posts/table/posts-admin-view.js +0 -1
- package/src/routes/admin/blog/categories/page.tsx +0 -64
- package/src/routes/admin/blog/posts/page.tsx +0 -64
- package/src/routes/breadcrumb/admin/blog/categories/page.tsx +0 -5
- package/src/routes/breadcrumb/admin/blog/posts/page.tsx +0 -5
|
@@ -1,93 +1,23 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
name: "categoryId";
|
|
24
|
-
tableName: "blog_posts";
|
|
25
|
-
dataType: "number";
|
|
26
|
-
columnType: "PgInteger";
|
|
27
|
-
data: number;
|
|
28
|
-
driverParam: string | number;
|
|
29
|
-
notNull: true;
|
|
30
|
-
hasDefault: false;
|
|
31
|
-
isPrimaryKey: false;
|
|
32
|
-
isAutoincrement: false;
|
|
33
|
-
hasRuntimeDefault: false;
|
|
34
|
-
enumValues: undefined;
|
|
35
|
-
baseColumn: never;
|
|
36
|
-
identity: undefined;
|
|
37
|
-
generated: undefined;
|
|
38
|
-
}, {}, {}>;
|
|
39
|
-
authorId: import("drizzle-orm/pg-core").PgColumn<{
|
|
40
|
-
name: "authorId";
|
|
41
|
-
tableName: "blog_posts";
|
|
42
|
-
dataType: "number";
|
|
43
|
-
columnType: "PgInteger";
|
|
44
|
-
data: number;
|
|
45
|
-
driverParam: string | number;
|
|
46
|
-
notNull: false;
|
|
47
|
-
hasDefault: false;
|
|
48
|
-
isPrimaryKey: false;
|
|
49
|
-
isAutoincrement: false;
|
|
50
|
-
hasRuntimeDefault: false;
|
|
51
|
-
enumValues: undefined;
|
|
52
|
-
baseColumn: never;
|
|
53
|
-
identity: undefined;
|
|
54
|
-
generated: undefined;
|
|
55
|
-
}, {}, {}>;
|
|
56
|
-
createdAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
57
|
-
name: "createdAt";
|
|
58
|
-
tableName: "blog_posts";
|
|
59
|
-
dataType: "date";
|
|
60
|
-
columnType: "PgTimestamp";
|
|
61
|
-
data: Date;
|
|
62
|
-
driverParam: string;
|
|
63
|
-
notNull: true;
|
|
64
|
-
hasDefault: true;
|
|
65
|
-
isPrimaryKey: false;
|
|
66
|
-
isAutoincrement: false;
|
|
67
|
-
hasRuntimeDefault: false;
|
|
68
|
-
enumValues: undefined;
|
|
69
|
-
baseColumn: never;
|
|
70
|
-
identity: undefined;
|
|
71
|
-
generated: undefined;
|
|
72
|
-
}, {}, {}>;
|
|
73
|
-
updatedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
74
|
-
name: "updatedAt";
|
|
75
|
-
tableName: "blog_posts";
|
|
76
|
-
dataType: "date";
|
|
77
|
-
columnType: "PgTimestamp";
|
|
78
|
-
data: Date;
|
|
79
|
-
driverParam: string;
|
|
80
|
-
notNull: true;
|
|
81
|
-
hasDefault: true;
|
|
82
|
-
isPrimaryKey: false;
|
|
83
|
-
isAutoincrement: false;
|
|
84
|
-
hasRuntimeDefault: false;
|
|
85
|
-
enumValues: undefined;
|
|
86
|
-
baseColumn: never;
|
|
87
|
-
identity: undefined;
|
|
88
|
-
generated: undefined;
|
|
89
|
-
}, {}, {}>;
|
|
90
|
-
};
|
|
91
|
-
dialect: "pg";
|
|
92
|
-
}>, "enableRLS">;
|
|
1
|
+
export declare const postContent: import("@vitnode/core/content/server").ContentModel<import("@vitnode/core/content").ContentTypeDefinition<"blog.post", {
|
|
2
|
+
categoryId: import("@vitnode/core/content").ContentRelationField<false, false, true, false, false>;
|
|
3
|
+
authorId: import("@vitnode/core/content").ContentUserField<false, false, true, true>;
|
|
4
|
+
title: import("@vitnode/core/content").ContentTextField<true, false, undefined, true>;
|
|
5
|
+
friendlyUrl: import("@vitnode/core/content").ContentSlugField<"title", true>;
|
|
6
|
+
content: import("@vitnode/core/content").ContentTextareaField<true, false, undefined, true>;
|
|
7
|
+
coverImage: import("@vitnode/core/content/types").ContentFileField<false, true, false, false>;
|
|
8
|
+
coverImageAlt: import("@vitnode/core/content").ContentTextField<false, true, undefined, true>;
|
|
9
|
+
}, true, "id" | "publishedAt" | "categoryId" | "title" | "friendlyUrl" | "content" | "coverImage" | "coverImageAlt", true, true, true, true, true, true, true>>;
|
|
10
|
+
export declare const blog_posts: import("@vitnode/core/content/server").ContentTable<string, import("@vitnode/core/content/server/types").ContentStorageFields<{
|
|
11
|
+
categoryId: import("@vitnode/core/content").ContentRelationField<false, false, true, false, false>;
|
|
12
|
+
authorId: import("@vitnode/core/content").ContentUserField<false, false, true, true>;
|
|
13
|
+
coverImage: import("@vitnode/core/content/types").ContentFileField<false, true, false, false>;
|
|
14
|
+
}>, true, true>;
|
|
15
|
+
export declare const blog_posts_translations: import("@vitnode/core/content/server").ContentTranslationTable<string, {} & {
|
|
16
|
+
title: import("@vitnode/core/content").ContentTextField<true, false, undefined, true>;
|
|
17
|
+
friendlyUrl: import("@vitnode/core/content").ContentSlugField<"title", true>;
|
|
18
|
+
content: import("@vitnode/core/content").ContentTextareaField<true, false, undefined, true>;
|
|
19
|
+
coverImageAlt: import("@vitnode/core/content").ContentTextField<false, true, undefined, true>;
|
|
20
|
+
}, true> | null;
|
|
21
|
+
export declare const blog_posts_category_id: import("@vitnode/core/content/server/types").ContentJunctionTable;
|
|
22
|
+
export declare const blog_posts_author_id: import("@vitnode/core/content/server/types").ContentJunctionTable;
|
|
93
23
|
//# sourceMappingURL=posts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posts.d.ts","sourceRoot":"","sources":["../../../src/database/posts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"posts.d.ts","sourceRoot":"","sources":["../../../src/database/posts.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW;;;;;;;;+JAEtB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;eAAoB,CAAC;AAC5C,eAAO,MAAM,uBAAuB;;;;;eAA+B,CAAC;AAEpE,eAAO,MAAM,sBAAsB,mEACc,CAAC;AAClD,eAAO,MAAM,oBAAoB,mEACc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{createContentModel}from"@vitnode/core/content/server";import{blogPostContentType}from"../content/post.js";import{blog_categories}from"./categories.js";export const postContent=createContentModel(blogPostContentType,{references:{categoryId:()=>blog_categories.id}});export const blog_posts=postContent.table;export const blog_posts_translations=postContent.translationTable;export const blog_posts_category_id=postContent.advancedTables.junctions.categoryId;export const blog_posts_author_id=postContent.advancedTables.junctions.authorId;
|
package/dist/src/globals.css
CHANGED
package/dist/src/locales/en.json
CHANGED
|
@@ -1,89 +1,66 @@
|
|
|
1
1
|
{
|
|
2
2
|
"@vitnode/blog": {
|
|
3
3
|
"title": "Blog",
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"desc": "Manage categories for blog posts.",
|
|
11
|
-
"table": {
|
|
4
|
+
"content": {
|
|
5
|
+
"post": {
|
|
6
|
+
"label": "{count, plural, one {Article} other {Articles}}",
|
|
7
|
+
"title": "Articles",
|
|
8
|
+
"desc": "Write and manage your blog articles.",
|
|
9
|
+
"fields": {
|
|
12
10
|
"title": "Title",
|
|
11
|
+
"friendlyUrl": "Friendly URL",
|
|
12
|
+
"content": "Content",
|
|
13
|
+
"categoryId": "Categories",
|
|
14
|
+
"authorId": "Authors",
|
|
15
|
+
"coverImage": "Cover image",
|
|
16
|
+
"coverImageAlt": "Cover image alt text",
|
|
17
|
+
"status": "Status",
|
|
18
|
+
"publishedAt": "Published",
|
|
19
|
+
"updatedAt": "Updated"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"category": {
|
|
23
|
+
"label": "{count, plural, one {Category} other {Categories}}",
|
|
24
|
+
"title": "Categories",
|
|
25
|
+
"desc": "Group articles together.",
|
|
26
|
+
"fields": {
|
|
27
|
+
"name": "Name",
|
|
13
28
|
"color": "Color",
|
|
14
|
-
"
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
29
|
+
"updatedAt": "Updated"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"admin": {
|
|
34
|
+
"article": {
|
|
35
|
+
"content": {
|
|
36
|
+
"label": "Content"
|
|
21
37
|
},
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
"title": {
|
|
27
|
-
"label": "Title",
|
|
28
|
-
"already_exists": "This category title already exists."
|
|
29
|
-
},
|
|
30
|
-
"color": "Color"
|
|
38
|
+
"form": {
|
|
39
|
+
"publish": "Publish",
|
|
40
|
+
"cover": {
|
|
41
|
+
"title": "Cover image"
|
|
31
42
|
},
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"edit": {
|
|
36
|
-
"title": "Edit Category",
|
|
37
|
-
"submit": "Save Changes",
|
|
38
|
-
"success": "Category has been updated successfully."
|
|
43
|
+
"settings": {
|
|
44
|
+
"title": "Article settings"
|
|
45
|
+
}
|
|
39
46
|
}
|
|
40
47
|
},
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"author": "Author",
|
|
47
|
-
"updated_at": "Updated At"
|
|
48
|
-
},
|
|
49
|
-
"create": {
|
|
50
|
-
"title": "Create Post",
|
|
51
|
-
"desc": "Write a new article for your blog.",
|
|
52
|
-
"form": {
|
|
53
|
-
"title": {
|
|
54
|
-
"label": "Title",
|
|
55
|
-
"already_exists": "This post title already exists."
|
|
56
|
-
},
|
|
57
|
-
"friendly_url": {
|
|
58
|
-
"label": "Friendly URL",
|
|
59
|
-
"desc": "Used in the post address. Auto-filled from the title.",
|
|
60
|
-
"already_exists": "This friendly URL already exists."
|
|
61
|
-
},
|
|
62
|
-
"content": "Content",
|
|
63
|
-
"category": "Category"
|
|
64
|
-
},
|
|
65
|
-
"submit": "Create Post",
|
|
66
|
-
"success": "Post has been created successfully."
|
|
67
|
-
},
|
|
68
|
-
"edit": {
|
|
69
|
-
"title": "Edit Post",
|
|
70
|
-
"submit": "Save Changes",
|
|
71
|
-
"success": "Post has been updated successfully."
|
|
72
|
-
},
|
|
73
|
-
"delete": {
|
|
74
|
-
"title": "Delete Post",
|
|
75
|
-
"desc": "Are you sure you want to delete <title></title> post? This action cannot be undone.",
|
|
76
|
-
"confirm": "Yes, delete this post",
|
|
77
|
-
"success": "Post has been deleted successfully."
|
|
48
|
+
"category": {
|
|
49
|
+
"color": {
|
|
50
|
+
"label": "Color",
|
|
51
|
+
"desc": "Shown next to the category in lists.",
|
|
52
|
+
"none": "No color"
|
|
78
53
|
}
|
|
79
54
|
}
|
|
80
55
|
}
|
|
81
56
|
},
|
|
82
|
-
"@vitnode/blog:posts": "
|
|
83
|
-
"@vitnode/blog:posts:can_view": "View
|
|
84
|
-
"@vitnode/blog:posts:can_create": "Create
|
|
85
|
-
"@vitnode/blog:posts:can_edit": "Edit
|
|
86
|
-
"@vitnode/blog:posts:can_delete": "Delete
|
|
57
|
+
"@vitnode/blog:posts": "Articles",
|
|
58
|
+
"@vitnode/blog:posts:can_view": "View articles list",
|
|
59
|
+
"@vitnode/blog:posts:can_create": "Create articles",
|
|
60
|
+
"@vitnode/blog:posts:can_edit": "Edit articles",
|
|
61
|
+
"@vitnode/blog:posts:can_delete": "Delete articles",
|
|
62
|
+
"@vitnode/blog:posts:can_publish": "Publish and unpublish articles",
|
|
63
|
+
"@vitnode/blog:posts:can_restore": "Restore an earlier version of an article",
|
|
87
64
|
"@vitnode/blog:categories": "Categories",
|
|
88
65
|
"@vitnode/blog:categories:can_view": "View categories list",
|
|
89
66
|
"@vitnode/blog:categories:can_create": "Create categories",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/locales/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMtE,QAAA,MAAM,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/locales/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMtE,QAAA,MAAM,QAAQ,EAAE,iBAGf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const messages={en:async()=>await import("./en.json",{with:{type:"json"}})};export default messages;
|
|
1
|
+
const messages={en:async()=>await import("./en.json",{with:{type:"json"}}),pl:async()=>await import("./pl.json",{with:{type:"json"}})};export default messages;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@vitnode/blog": {
|
|
3
|
+
"title": "Blog",
|
|
4
|
+
"content": {
|
|
5
|
+
"post": {
|
|
6
|
+
"label": "{count, plural, one {Artykuł} few {Artykuły} many {Artykułów} other {Artykułu}}",
|
|
7
|
+
"title": "Artykuły",
|
|
8
|
+
"desc": "Pisz artykuły na blogu i zarządzaj nimi.",
|
|
9
|
+
"fields": {
|
|
10
|
+
"title": "Tytuł",
|
|
11
|
+
"friendlyUrl": "Przyjazny adres URL",
|
|
12
|
+
"content": "Treść",
|
|
13
|
+
"categoryId": "Kategoria",
|
|
14
|
+
"authorId": "Autor",
|
|
15
|
+
"coverImage": "Obraz wyróżniający",
|
|
16
|
+
"coverImageAlt": "Tekst alternatywny obrazu",
|
|
17
|
+
"status": "Status",
|
|
18
|
+
"publishedAt": "Opublikowano",
|
|
19
|
+
"updatedAt": "Zaktualizowano"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"category": {
|
|
23
|
+
"label": "{count, plural, one {Kategoria} few {Kategorie} many {Kategorii} other {Kategorii}}",
|
|
24
|
+
"title": "Kategorie",
|
|
25
|
+
"desc": "Grupuj artykuły razem.",
|
|
26
|
+
"fields": {
|
|
27
|
+
"name": "Nazwa",
|
|
28
|
+
"color": "Kolor",
|
|
29
|
+
"updatedAt": "Zaktualizowano"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"admin": {
|
|
34
|
+
"article": {
|
|
35
|
+
"content": {
|
|
36
|
+
"label": "Treść"
|
|
37
|
+
},
|
|
38
|
+
"form": {
|
|
39
|
+
"publish": "Publikacja",
|
|
40
|
+
"cover": {
|
|
41
|
+
"title": "Obraz wyróżniający"
|
|
42
|
+
},
|
|
43
|
+
"settings": {
|
|
44
|
+
"title": "Ustawienia artykułu"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"category": {
|
|
49
|
+
"color": {
|
|
50
|
+
"label": "Kolor",
|
|
51
|
+
"desc": "Wyświetlany obok kategorii na listach.",
|
|
52
|
+
"none": "Brak koloru"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"@vitnode/blog:posts": "Artykuły",
|
|
58
|
+
"@vitnode/blog:posts:can_view": "Wyświetlanie listy artykułów",
|
|
59
|
+
"@vitnode/blog:posts:can_create": "Tworzenie artykułów",
|
|
60
|
+
"@vitnode/blog:posts:can_edit": "Edytowanie artykułów",
|
|
61
|
+
"@vitnode/blog:posts:can_delete": "Usuwanie artykułów",
|
|
62
|
+
"@vitnode/blog:posts:can_publish": "Publikowanie i cofanie publikacji artykułów",
|
|
63
|
+
"@vitnode/blog:posts:can_restore": "Przywracanie wcześniejszej wersji artykułu",
|
|
64
|
+
"@vitnode/blog:categories": "Kategorie",
|
|
65
|
+
"@vitnode/blog:categories:can_view": "Wyświetlanie listy kategorii",
|
|
66
|
+
"@vitnode/blog:categories:can_create": "Tworzenie kategorii",
|
|
67
|
+
"@vitnode/blog:categories:can_edit": "Edytowanie kategorii",
|
|
68
|
+
"@vitnode/blog:categories:can_delete": "Usuwanie kategorii"
|
|
69
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-field.d.ts","sourceRoot":"","sources":["../../../../../src/views/admin/article/editor-field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAG1F,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,eAAO,MAAM,sBAAsB,GAAI,OAAO,0BAA0B,sBAQvE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{ContentFormFieldSkeleton}from"@vitnode/core/content/admin-form";import React from"react";import{useTranslations}from"use-intl";const AutoFormEditor=React.lazy(async()=>await import("@vitnode/core/components/form/fields/editor").then(mod=>({default:mod.AutoFormEditor})));export const BlogArticleEditorField=props=>{const t=useTranslations("@vitnode/blog.admin.article");return _jsx(React.Suspense,{fallback:_jsx(ContentFormFieldSkeleton,{control:"editor"}),children:_jsx(AutoFormEditor,{label:t("content.label"),...props})})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-layout.d.ts","sourceRoot":"","sources":["../../../../../src/views/admin/article/form-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAcvE,eAAO,MAAM,qBAAqB,GAAI,UAAU,sBAAsB,gCAsCrE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{ContentFormActions,ContentFormField,ContentFormHeader,ContentFormLayoutGrid,ContentFormMain,ContentFormSection,ContentFormSidebar,ContentFormStatus}from"@vitnode/core/content/admin-form";import{useTranslations}from"use-intl";export const BlogArticleFormLayout=({mode})=>{const t=useTranslations("@vitnode/blog.admin.article.form");return _jsxs(_Fragment,{children:[_jsx(ContentFormHeader,{children:_jsx(ContentFormActions,{})}),_jsxs(ContentFormLayoutGrid,{children:[_jsx(ContentFormMain,{children:_jsxs(ContentFormSection,{children:[_jsx(ContentFormField,{name:"title"}),_jsx(ContentFormField,{name:"friendlyUrl"}),_jsx(ContentFormField,{name:"content"})]})}),_jsxs(ContentFormSidebar,{children:[mode==="edit"?_jsx(ContentFormSection,{title:t("publish"),children:_jsx(ContentFormStatus,{})}):null,_jsxs(ContentFormSection,{title:t("cover.title"),children:[_jsx(ContentFormField,{name:"coverImage"}),_jsx(ContentFormField,{name:"coverImageAlt"})]}),_jsxs(ContentFormSection,{title:t("settings.title"),children:[_jsx(ContentFormField,{name:"categoryId"}),_jsx(ContentFormField,{name:"authorId"})]})]})]})]})};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ContentCellProps } from "@vitnode/core/lib/plugin";
|
|
2
|
+
import type { blogCategoryContentType } from "../../../content/category.js";
|
|
3
|
+
export declare const BlogCategoryColorCell: ({ row, }: ContentCellProps<typeof blogCategoryContentType>) => import("react").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=color-cell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-cell.d.ts","sourceRoot":"","sources":["../../../../../src/views/admin/category/color-cell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,eAAO,MAAM,qBAAqB,GAAI,UAEnC,gBAAgB,CAAC,OAAO,uBAAuB,CAAC,gCAkBlD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useTranslations}from"use-intl";export const BlogCategoryColorCell=({row})=>{const t=useTranslations("@vitnode/blog.admin.category");const color=row.color;if(!color){return _jsx("span",{className:"text-muted-foreground",children:t("color.none")})}return _jsxs("div",{className:"flex items-center gap-2",children:[_jsx("span",{"aria-hidden":true,className:"size-4 shrink-0 rounded-full border",style:{backgroundColor:color}}),_jsx("span",{className:"text-muted-foreground truncate text-sm",children:color})]})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-field.d.ts","sourceRoot":"","sources":["../../../../../src/views/admin/category/color-field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAK1F,eAAO,MAAM,sBAAsB,GAAI,OAAO,0BAA0B,gCAWvE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{AutoFormColor}from"@vitnode/core/components/form/fields/color";import{useTranslations}from"use-intl";export const BlogCategoryColorField=props=>{const t=useTranslations("@vitnode/blog.admin.category");return _jsx(AutoFormColor,{allowRemoveColor:true,description:t("color.desc"),label:t("color.label"),...props})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitest.config.d.ts","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":";AAIA,wBAgBG"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitnode/blog",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Blog plugin for VitNode, providing a blogging platform
|
|
3
|
+
"version": "2.0.0-canary.10",
|
|
4
|
+
"description": "Blog plugin for VitNode, providing a blogging platform on Hono.js.",
|
|
5
5
|
"author": "VitNode Team",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://vitnode.com",
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
"vitnode",
|
|
15
15
|
"react",
|
|
16
16
|
"hono.js",
|
|
17
|
-
"next.js",
|
|
18
17
|
"typescript",
|
|
19
18
|
"blog"
|
|
20
19
|
],
|
|
@@ -28,37 +27,45 @@
|
|
|
28
27
|
}
|
|
29
28
|
},
|
|
30
29
|
"dependencies": {
|
|
31
|
-
"@hono/zod-openapi": "^1.
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"react": "^19.
|
|
39
|
-
"react-dom": "^19.
|
|
40
|
-
"react-email": "^6.9.
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"zod": "^4.
|
|
44
|
-
"@vitnode/core": "
|
|
30
|
+
"@hono/zod-openapi": "^1.6.3",
|
|
31
|
+
"@tanstack/react-form": "^1.33.5",
|
|
32
|
+
"ai": "^7.0.99",
|
|
33
|
+
"drizzle-kit": "1.0.0-rc.4",
|
|
34
|
+
"drizzle-orm": "1.0.0-rc.4",
|
|
35
|
+
"hono": "^4.13.7",
|
|
36
|
+
"lucide-react": "^1.45.0",
|
|
37
|
+
"react": "^19.3.0",
|
|
38
|
+
"react-dom": "^19.3.0",
|
|
39
|
+
"react-email": "^6.9.5",
|
|
40
|
+
"sonner": "^2.0.8",
|
|
41
|
+
"use-intl": "^4.14.4",
|
|
42
|
+
"zod": "^4.6.2",
|
|
43
|
+
"@vitnode/core": "2.0.0-canary.10"
|
|
45
44
|
},
|
|
46
45
|
"devDependencies": {
|
|
47
|
-
"@react-email/ui": "^6.9.
|
|
46
|
+
"@react-email/ui": "^6.9.5",
|
|
48
47
|
"@swc/cli": "^0.8.1",
|
|
49
|
-
"@swc/core": "^1.
|
|
50
|
-
"@types/react": "^19.
|
|
51
|
-
"@types/react-dom": "^19.
|
|
52
|
-
"
|
|
53
|
-
"
|
|
48
|
+
"@swc/core": "^1.16.2",
|
|
49
|
+
"@types/react": "^19.3.0",
|
|
50
|
+
"@types/react-dom": "^19.3.0",
|
|
51
|
+
"@vitejs/plugin-react": "^6.1.1",
|
|
52
|
+
"cn": "^0.3.0",
|
|
53
|
+
"eslint": "^10.10.0",
|
|
54
|
+
"jsdom": "^30.0.1",
|
|
55
|
+
"postgres": "^3.4.9",
|
|
56
|
+
"tsc-alias": "^1.9.5",
|
|
54
57
|
"typescript": "^6.0.3",
|
|
55
|
-
"
|
|
58
|
+
"vitest": "^5.0.0",
|
|
59
|
+
"@vitnode/config": "2.0.0-canary.10"
|
|
56
60
|
},
|
|
57
61
|
"scripts": {
|
|
58
62
|
"build:plugins": "vitnode build",
|
|
59
63
|
"dev": "vitnode dev",
|
|
60
64
|
"dev:email": "email dev --dir src/emails",
|
|
61
65
|
"lint": "eslint .",
|
|
62
|
-
"lint:fix": "eslint . --fix"
|
|
66
|
+
"lint:fix": "eslint . --fix",
|
|
67
|
+
"test": "vitest run",
|
|
68
|
+
"test:watch": "vitest",
|
|
69
|
+
"test:types": "vitest run --typecheck.only"
|
|
63
70
|
}
|
|
64
71
|
}
|