@studiocms/blog 0.1.0-beta.21 → 0.1.0-beta.23

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 StudioCMS - Adam Matthiesen, Jacob Jenkins, Paul Valladares
3
+ Copyright (c) 2025-present StudioCMS - withstudiocms (https://github.com/withstudiocms)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -2,10 +2,10 @@
2
2
  import '../styles/base.css';
3
3
  import config from 'studiocms:blog/frontend-config';
4
4
  import {
5
+ createHead,
5
6
  type HeadConfig,
6
7
  type HeadConfigSchema,
7
8
  type HeadUserConfig,
8
- createHead,
9
9
  headDefaults,
10
10
  } from 'studiocms:lib';
11
11
  import type { z } from 'astro/zod';
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  import './navigation.css';
3
3
  import { frontendNavigation } from 'studiocms:plugin-helpers';
4
- import { SDKCoreJs, runSDK } from 'studiocms:sdk';
5
4
 
6
5
  type Props = {
7
6
  topLevelLinkCount?: number;
@@ -9,7 +8,7 @@ type Props = {
9
8
 
10
9
  const { topLevelLinkCount = 3 } = Astro.props;
11
10
 
12
- const config = (await runSDK(SDKCoreJs.GET.siteConfig())).data;
11
+ const config = Astro.locals.siteConfig.data;
13
12
 
14
13
  const { title } = config || { title: 'StudioCMS' };
15
14
  const {
@@ -0,0 +1,8 @@
1
+ ---
2
+ import MDEditor from '@studiocms/md/editor';
3
+ import type { PluginPageTypeEditorProps } from 'studiocms/types';
4
+
5
+ interface Props extends PluginPageTypeEditorProps {}
6
+ const { content } = Astro.props;
7
+ ---
8
+ <MDEditor {content} />
@@ -0,0 +1,8 @@
1
+ ---
2
+ import MDRenderer from '@studiocms/md/renderer';
3
+ import type { PluginPageTypeRendererProps } from 'studiocms/types';
4
+
5
+ interface Props extends PluginPageTypeRendererProps {}
6
+ const { data } = Astro.props;
7
+ ---
8
+ <MDRenderer {data} />
package/dist/index.js CHANGED
@@ -13,10 +13,13 @@ function studioCMSBlogPlugin(options) {
13
13
  } = resolvedOptions;
14
14
  const route = pathWithBase(orgRoute);
15
15
  const { resolve } = createResolver(import.meta.url);
16
+ const editor = resolve("./components/editor.astro");
17
+ const renderer = resolve("./components/renderer.astro");
16
18
  return definePlugin({
17
19
  identifier: packageIdentifier,
18
20
  name: "StudioCMS Blog",
19
- studiocmsMinimumVersion: "0.1.0-beta.17",
21
+ studiocmsMinimumVersion: "0.1.0-beta.21",
22
+ requires: ["@studiocms/md"],
20
23
  hooks: {
21
24
  "studiocms:astro:config": ({ addIntegrations }) => {
22
25
  addIntegrations({
@@ -74,7 +77,14 @@ function studioCMSBlogPlugin(options) {
74
77
  frontendNavigationLinks: [{ label: title, href: route }]
75
78
  });
76
79
  setRendering({
77
- pageTypes: [{ identifier: packageIdentifier, label: "Blog Post (StudioCMS Blog)" }]
80
+ pageTypes: [
81
+ {
82
+ identifier: packageIdentifier,
83
+ label: "Blog Post (StudioCMS Blog)",
84
+ pageContentComponent: editor,
85
+ rendererComponent: renderer
86
+ }
87
+ ]
78
88
  });
79
89
  setSitemap({
80
90
  triggerSitemap: sitemap,
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  import { StudioCMSRenderer } from 'studiocms:renderer';
3
- import { SDKCoreJs, runSDK } from 'studiocms:sdk';
3
+ import { runSDK, SDKCoreJs } from 'studiocms:sdk';
4
4
  import Layout from '../layouts/Layout.astro';
5
5
 
6
6
  let { slug } = Astro.params;
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  import { StudioCMSRenderer } from 'studiocms:renderer';
3
- import { SDKCoreJs, runSDK } from 'studiocms:sdk';
3
+ import { runSDK, SDKCoreJs } from 'studiocms:sdk';
4
4
  import PostHeader from '../../components/PostHeader.astro';
5
5
  import Layout from '../../layouts/Layout.astro';
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  import blogConfig from 'studiocms:blog/config';
3
- import { SDKCoreJs, runSDK } from 'studiocms:sdk';
3
+ import { runSDK, SDKCoreJs } from 'studiocms:sdk';
4
4
  import PageList from '../../components/PageList.astro';
5
5
  import RSSIcon from '../../components/RSSIcon.astro';
6
6
  import Layout from '../../layouts/Layout.astro';
@@ -33,7 +33,7 @@ const GET = async (context) => await convertToVanilla(
33
33
  }
34
34
  );
35
35
  return rss({ title, description, site, items });
36
- }).pipe(SDKCore.Provide)
36
+ })
37
37
  );
38
38
  export {
39
39
  GET
@@ -16,7 +16,7 @@ const GET = async (context) => await convertToVanilla(
16
16
  "Content-Type": "application/xml"
17
17
  }
18
18
  });
19
- }).pipe(SDKCore.Provide)
19
+ })
20
20
  );
21
21
  export {
22
22
  GET
@@ -19,7 +19,7 @@ const GET = async (context) => await convertToVanilla(
19
19
  "Content-Type": "application/xml"
20
20
  }
21
21
  });
22
- }).pipe(SDKCore.Provide)
22
+ })
23
23
  );
24
24
  export {
25
25
  GET
@@ -156,7 +156,6 @@ footer {
156
156
  width: 1px;
157
157
  overflow: hidden;
158
158
  clip: rect(1px 1px 1px 1px);
159
- clip: rect(1px, 1px, 1px, 1px);
160
159
  clip-path: inset(50%);
161
160
  white-space: nowrap;
162
161
  }
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@studiocms/blog",
3
- "version": "0.1.0-beta.21",
3
+ "version": "0.1.0-beta.23",
4
4
  "description": "Add a blog to your StudioCMS project with ease!",
5
5
  "author": {
6
- "name": "Adam Matthiesen | Jacob Jenkins | Paul Valladares",
6
+ "name": "withstudiocms",
7
7
  "url": "https://studiocms.dev"
8
8
  },
9
9
  "repository": {
10
10
  "type": "git",
11
11
  "url": "git+https://github.com/withstudiocms/studiocms.git",
12
- "directory": "packages/studiocms_blog"
12
+ "directory": "packages/@studiocms/blog"
13
13
  },
14
14
  "contributors": [
15
15
  "Adammatthiesen",
@@ -54,19 +54,22 @@
54
54
  },
55
55
  "type": "module",
56
56
  "dependencies": {
57
- "@astrojs/rss": "^4.0.11",
57
+ "@astrojs/rss": "^4.0.12",
58
58
  "astro-integration-kit": "^0.18"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/node": "^22.0.0"
62
62
  },
63
63
  "peerDependencies": {
64
- "astro": "^5.9",
64
+ "astro": "^5.12.6",
65
+ "effect": "^3.17.3",
65
66
  "vite": "^6.3.4",
66
- "studiocms": "0.1.0-beta.21"
67
+ "@studiocms/md": "0.1.0-beta.23",
68
+ "studiocms": "0.1.0-beta.23"
67
69
  },
68
70
  "scripts": {
69
71
  "build": "buildkit build 'src/**/*.{ts,astro,css,json,png}'",
70
- "dev": "buildkit dev 'src/**/*.{ts,astro,css,json,png}'"
72
+ "dev": "buildkit dev 'src/**/*.{ts,astro,css,json,png}'",
73
+ "typecheck": "tspc -p tsconfig.tspc.json"
71
74
  }
72
75
  }
@@ -1,13 +0,0 @@
1
- /// <reference types="astro/client" />
2
-
3
- declare module 'studiocms:components' {
4
- export const Avatar: typeof import('studiocms/components/Avatar.astro').default;
5
- export const FormattedDate: typeof import('studiocms/components/FormattedDate.astro').default;
6
- export const GenericHeader: typeof import('studiocms/components/GenericHeader.astro').default;
7
- export const Navigation: typeof import('studiocms/components/Navigation.astro').default;
8
- export const Generator: typeof import('studiocms/components/Generator.astro').default;
9
- }
10
-
11
- declare module 'studiocms:imageHandler/components' {
12
- export const CustomImage: typeof import('studiocms/components/image/CustomImage.astro').default;
13
- }
package/dist/lib.d.ts DELETED
@@ -1,83 +0,0 @@
1
- declare module 'studiocms:lib' {
2
- export const HeadConfigSchema: typeof import('studiocms/lib/head.js').HeadConfigSchema;
3
- export const createHead: typeof import('studiocms/lib/head.js').createHead;
4
- export const headDefaults: typeof import('studiocms/lib/headDefaults.js').headDefaults;
5
- export const stringify: typeof import('studiocms/lib/jsonUtils.js').stringify;
6
- export const stringifyMap: typeof import('studiocms/lib/jsonUtils.js').stringifyMap;
7
- export const pathWithBase: typeof import('studiocms/lib/pathGenerators.js').pathWithBase;
8
- export const fileWithBase: typeof import('studiocms/lib/pathGenerators.js').fileWithBase;
9
- export const ensureLeadingSlash: typeof import(
10
- 'studiocms/lib/pathGenerators.js'
11
- ).ensureLeadingSlash;
12
- export const ensureTrailingSlash: typeof import(
13
- 'studiocms/lib/pathGenerators.js'
14
- ).ensureTrailingSlash;
15
- export const stripLeadingSlash: typeof import(
16
- 'studiocms/lib/pathGenerators.js'
17
- ).stripLeadingSlash;
18
- export const stripTrailingSlash: typeof import(
19
- 'studiocms/lib/pathGenerators.js'
20
- ).stripTrailingSlash;
21
- export const stripHtmlExtension: typeof import(
22
- 'studiocms/lib/pathGenerators.js'
23
- ).stripHtmlExtension;
24
- export const ensureHtmlExtension: typeof import(
25
- 'studiocms/lib/pathGenerators.js'
26
- ).ensureHtmlExtension;
27
- export const removeLeadingTrailingSlashes: typeof import(
28
- 'studiocms/lib/removeLeadingTrailingSlashes.js'
29
- ).removeLeadingTrailingSlashes;
30
- export const getSluggedRoute: typeof import('studiocms/lib/routeMap.js').getSluggedRoute;
31
- export const getEditRoute: typeof import('studiocms/lib/routeMap.js').getEditRoute;
32
- export const getDeleteRoute: typeof import('studiocms/lib/routeMap.js').getDeleteRoute;
33
- export const makeNonDashboardRoute: typeof import(
34
- 'studiocms/lib/routeMap.js'
35
- ).makeNonDashboardRoute;
36
- export const makeDashboardRoute: typeof import('studiocms/lib/routeMap.js').makeDashboardRoute;
37
- export const StudioCMSRoutes: typeof import('studiocms/lib/routeMap.js').StudioCMSRoutes;
38
- export const sideBarLinkMap: typeof import('studiocms/lib/routeMap.js').sideBarLinkMap;
39
- export const urlGenFactory: typeof import('studiocms/lib/urlGen.js').default;
40
-
41
- export type HeadConfig = import('studiocms/lib/head.js').HeadConfig;
42
- export type HeadUserConfig = import('studiocms/lib/head.js').HeadUserConfig;
43
- }
44
-
45
- declare module 'studiocms:config' {
46
- export const config: import('studiocms/schemas').StudioCMSConfig;
47
- export default config;
48
-
49
- export const dashboardConfig: import(
50
- 'studiocms/schemas'
51
- ).StudioCMSConfig['features']['dashboardConfig'];
52
- /**
53
- * @deprecated
54
- */
55
- export const AuthConfig: import('studiocms/schemas').StudioCMSConfig['features']['authConfig'];
56
- export const authConfig: import('studiocms/schemas').StudioCMSConfig['features']['authConfig'];
57
- export const developerConfig: import(
58
- 'studiocms/schemas'
59
- ).StudioCMSConfig['features']['developerConfig'];
60
- export const sdk: import('studiocms/schemas').StudioCMSConfig['sdk'];
61
- }
62
-
63
- declare module 'studiocms:plugins' {
64
- const mod: import('studiocms/plugins').SafePluginListType;
65
- export default mod;
66
- }
67
-
68
- declare module 'studiocms:plugin-helpers' {
69
- export type SettingsField = import('studiocms/plugins').SettingsField;
70
- export type SafePluginListType = import('studiocms/plugins').SafePluginListType;
71
- export type StudioCMSPlugin = import('studiocms/plugins').StudioCMSPlugin;
72
- export type StudioCMSPluginOptions = import('studiocms/plugins').StudioCMSPluginOptions;
73
- export type AvailableDashboardPages = import('studiocms/plugins').AvailableDashboardPages;
74
- export type FinalDashboardPage = import('studiocms/plugins').FinalDashboardPage;
75
- export type DashboardPage = import('studiocms/plugins').DashboardPage;
76
-
77
- export const getPluginDashboardPages: typeof import(
78
- 'studiocms/lib/plugins/index.js'
79
- ).getPluginDashboardPages;
80
- export const frontendNavigation: typeof import(
81
- 'studiocms/lib/plugins/index.js'
82
- ).frontendNavigation;
83
- }
@@ -1,9 +0,0 @@
1
- declare module 'studiocms:renderer' {
2
- export const StudioCMSRenderer: typeof import('studiocms/Renderer.astro').default;
3
- }
4
-
5
- declare module 'studiocms:renderer/current' {
6
- const deModule: typeof import('studiocms/contentRenderer.js').default;
7
- export default deModule;
8
- export const contentRenderer: typeof import('studiocms/contentRenderer.js').contentRenderer;
9
- }
package/dist/sdk.d.ts DELETED
@@ -1,56 +0,0 @@
1
- declare module 'studiocms:sdk' {
2
- const mod: typeof import('studiocms/sdk/base').studioCMS_SDK;
3
- export default mod;
4
- }
5
-
6
- declare module 'studiocms:sdk/types' {
7
- export type AvailableLists = import('studiocms/sdk/types').AvailableLists;
8
- export type CombinedRank = import('studiocms/sdk/types').CombinedRank;
9
- export type DatabaseTables = import('studiocms/sdk/types').DatabaseTables;
10
- export type PageContentReturnId = import('studiocms/sdk/types').PageContentReturnId;
11
- export type PageDataCategoriesInsertResponse = import(
12
- 'studiocms/sdk/types'
13
- ).PageDataCategoriesInsertResponse;
14
- export type PageDataReturnId = import('studiocms/sdk/types').PageDataReturnId;
15
- export type PageDataStripped = import('studiocms/sdk/types').PageDataStripped;
16
- export type PageDataTagsInsertResponse = import('studiocms/sdk/types').PageDataTagsInsertResponse;
17
- export type SingleRank = import('studiocms/sdk/types').SingleRank;
18
- export type SiteConfig = import('studiocms/sdk/types').SiteConfig;
19
-
20
- export type tsDiffTrackingInsert = import('studiocms/sdk/types').tsDiffTrackingInsert;
21
- export type tsDiffTrackingSelect = import('studiocms/sdk/types').tsDiffTrackingSelect;
22
- export type CombinedInsertContent = import('studiocms/sdk/types').CombinedInsertContent;
23
- export type tsOAuthAccountsSelect = import('studiocms/sdk/types').tsOAuthAccountsSelect;
24
- export type tsPageContentInsert = import('studiocms/sdk/types').tsPageContentInsert;
25
- export type tsPageContentSelect = import('studiocms/sdk/types').tsPageContentSelect;
26
- export type tsPageDataCategoriesInsert = import('studiocms/sdk/types').tsPageDataCategoriesInsert;
27
- export type tsPageDataCategoriesSelect = import('studiocms/sdk/types').tsPageDataCategoriesSelect;
28
- export type tsPageDataInsert = import('studiocms/sdk/types').tsPageDataInsert;
29
- export type tsPageDataSelect = import('studiocms/sdk/types').tsPageDataSelect;
30
- export type tsPageDataTagsInsert = import('studiocms/sdk/types').tsPageDataTagsInsert;
31
- export type tsPageDataTagsSelect = import('studiocms/sdk/types').tsPageDataTagsSelect;
32
- export type tsSiteConfigInsert = import('studiocms/sdk/types').tsSiteConfigInsert;
33
- export type tsSiteConfigSelect = import('studiocms/sdk/types').tsSiteConfigSelect;
34
- export type tsUsersInsert = import('studiocms/sdk/types').tsUsersInsert;
35
- export type tsUsersSelect = import('studiocms/sdk/types').tsUsersSelect;
36
- export type tsUsersUpdate = import('studiocms/sdk/types').tsUsersUpdate;
37
- export type tsPermissionsInsert = import('studiocms/sdk/types').tsPermissionsInsert;
38
- export type tsPermissionsSelect = import('studiocms/sdk/types').tsPermissionsSelect;
39
- export type tsSessionTableInsert = import('studiocms/sdk/types').tsSessionTableInsert;
40
- export type tsSessionTableSelect = import('studiocms/sdk/types').tsSessionTableSelect;
41
-
42
- export type addDatabaseEntryInsertPage = import('studiocms/sdk/types').addDatabaseEntryInsertPage;
43
- export type CombinedUserData = import('studiocms/sdk/types').CombinedUserData;
44
- export type CombinedPageData = import('studiocms/sdk/types').CombinedPageData;
45
- export type DeletionResponse = import('studiocms/sdk/types').DeletionResponse;
46
- }
47
-
48
- declare module 'studiocms:sdk/cache' {
49
- const studioCMS_SDK_Cache: import('studiocms/sdk/cache').STUDIOCMS_SDK_CACHE;
50
- export default studioCMS_SDK_Cache;
51
-
52
- export type STUDIOCMS_SDK_CACHE = import('studiocms/sdk/cache').STUDIOCMS_SDK_CACHE;
53
- export type PageDataCacheObject = import('studiocms/sdk/cache').PageDataCacheObject;
54
- export type SiteConfigCacheObject = import('studiocms/sdk/cache').SiteConfigCacheObject;
55
- export type VersionCacheObject = import('studiocms/sdk/cache').VersionCacheObject;
56
- }