@opinly/next 0.1.12 → 0.1.14

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.
Files changed (151) hide show
  1. package/dist/components/author-page/_helpers/json-ld.js +1 -0
  2. package/dist/components/author-page/_helpers/json-ld.mjs +1 -0
  3. package/dist/components/author-page/index.js +57 -22
  4. package/dist/components/author-page/index.js.map +1 -1
  5. package/dist/components/author-page/index.mjs +50 -0
  6. package/dist/components/author-page/index.mjs.map +1 -0
  7. package/dist/components/authors-page/index.js +63 -29
  8. package/dist/components/authors-page/index.js.map +1 -1
  9. package/dist/components/authors-page/index.mjs +71 -0
  10. package/dist/components/authors-page/{index.cjs.map → index.mjs.map} +1 -1
  11. package/dist/components/blog-post/_components/content.js +63 -28
  12. package/dist/components/blog-post/_components/content.js.map +1 -1
  13. package/dist/components/blog-post/_components/content.mjs +126 -0
  14. package/dist/components/blog-post/_components/content.mjs.map +1 -0
  15. package/dist/components/blog-post/_components/faq.js +32 -8
  16. package/dist/components/blog-post/_components/faq.js.map +1 -1
  17. package/dist/components/blog-post/_components/faq.mjs +15 -0
  18. package/dist/components/blog-post/_components/{faq.cjs.map → faq.mjs.map} +1 -1
  19. package/dist/components/blog-post/_components/share.js +58 -24
  20. package/dist/components/blog-post/_components/share.js.map +1 -1
  21. package/dist/components/blog-post/_components/share.mjs +66 -0
  22. package/dist/components/blog-post/_components/{share.cjs.map → share.mjs.map} +1 -1
  23. package/dist/components/blog-post/_components/table-of-contents.js +58 -23
  24. package/dist/components/blog-post/_components/table-of-contents.js.map +1 -1
  25. package/dist/components/blog-post/_components/table-of-contents.mjs +48 -0
  26. package/dist/components/blog-post/_components/table-of-contents.mjs.map +1 -0
  27. package/dist/components/blog-post/_helpers/calc-reading-time.js +1 -0
  28. package/dist/components/blog-post/_helpers/calc-reading-time.mjs +1 -0
  29. package/dist/components/blog-post/_helpers/extract-headings.js +26 -2
  30. package/dist/components/blog-post/_helpers/extract-headings.js.map +1 -1
  31. package/dist/components/blog-post/_helpers/extract-headings.mjs +20 -0
  32. package/dist/components/blog-post/_helpers/{extract-headings.cjs.map → extract-headings.mjs.map} +1 -1
  33. package/dist/components/blog-post/_helpers/json-ld.js +38 -11
  34. package/dist/components/blog-post/_helpers/json-ld.js.map +1 -1
  35. package/dist/components/blog-post/_helpers/{json-ld.cjs → json-ld.mjs} +12 -39
  36. package/dist/components/blog-post/_helpers/{json-ld.cjs.map → json-ld.mjs.map} +1 -1
  37. package/dist/components/blog-post/_helpers/reading-time.js +27 -2
  38. package/dist/components/blog-post/_helpers/reading-time.js.map +1 -1
  39. package/dist/components/blog-post/_helpers/reading-time.mjs +25 -0
  40. package/dist/components/blog-post/_helpers/{reading-time.cjs.map → reading-time.mjs.map} +1 -1
  41. package/dist/components/blog-post/_types/blog-post.js +16 -0
  42. package/dist/components/blog-post/_types/blog-post.js.map +1 -1
  43. package/dist/components/blog-post/_types/blog-post.mjs +1 -0
  44. package/dist/components/blog-post/_types/blog-post.mjs.map +1 -0
  45. package/dist/components/blog-post/_types/class-names.js +16 -0
  46. package/dist/components/blog-post/_types/class-names.js.map +1 -1
  47. package/dist/components/blog-post/_types/class-names.mjs +1 -0
  48. package/dist/components/blog-post/_types/class-names.mjs.map +1 -0
  49. package/dist/components/blog-post/index.js +77 -47
  50. package/dist/components/blog-post/index.js.map +1 -1
  51. package/dist/components/blog-post/index.mjs +118 -0
  52. package/dist/components/blog-post/{index.cjs.map → index.mjs.map} +1 -1
  53. package/dist/components/bread-crumbs.js +47 -13
  54. package/dist/components/bread-crumbs.js.map +1 -1
  55. package/dist/components/bread-crumbs.mjs +26 -0
  56. package/dist/components/{bread-crumbs.cjs.map → bread-crumbs.mjs.map} +1 -1
  57. package/dist/components/folder-page/index.js +36 -12
  58. package/dist/components/folder-page/index.js.map +1 -1
  59. package/dist/components/folder-page/index.mjs +37 -0
  60. package/dist/components/folder-page/{index.cjs.map → index.mjs.map} +1 -1
  61. package/dist/components/home-page/folders.js +64 -29
  62. package/dist/components/home-page/folders.js.map +1 -1
  63. package/dist/components/home-page/folders.mjs +63 -0
  64. package/dist/components/home-page/{folders.cjs.map → folders.mjs.map} +1 -1
  65. package/dist/components/home-page/index.js +35 -11
  66. package/dist/components/home-page/index.js.map +1 -1
  67. package/dist/components/home-page/index.mjs +20 -0
  68. package/dist/components/home-page/{index.cjs.map → index.mjs.map} +1 -1
  69. package/dist/components/home-page/pagination.js +43 -9
  70. package/dist/components/home-page/pagination.js.map +1 -1
  71. package/dist/components/home-page/pagination.mjs +57 -0
  72. package/dist/components/home-page/{pagination.cjs.map → pagination.mjs.map} +1 -1
  73. package/dist/components/home-page/top-posts.js +34 -10
  74. package/dist/components/home-page/top-posts.js.map +1 -1
  75. package/dist/components/home-page/top-posts.mjs +28 -0
  76. package/dist/components/home-page/{top-posts.cjs.map → top-posts.mjs.map} +1 -1
  77. package/dist/components/not-found.js +49 -15
  78. package/dist/components/not-found.js.map +1 -1
  79. package/dist/components/not-found.mjs +26 -0
  80. package/dist/components/{not-found.cjs.map → not-found.mjs.map} +1 -1
  81. package/dist/components/opinly-blog.js +39 -15
  82. package/dist/components/opinly-blog.js.map +1 -1
  83. package/dist/components/opinly-blog.mjs +33 -0
  84. package/dist/components/{opinly-blog.cjs.map → opinly-blog.mjs.map} +1 -1
  85. package/dist/components/post-preview.js +77 -41
  86. package/dist/components/post-preview.js.map +1 -1
  87. package/dist/components/post-preview.mjs +77 -0
  88. package/dist/components/post-preview.mjs.map +1 -0
  89. package/dist/index.js +22 -1
  90. package/dist/index.js.map +1 -1
  91. package/dist/index.mjs +2 -0
  92. package/dist/index.mjs.map +1 -0
  93. package/dist/utils/dates.js +26 -2
  94. package/dist/utils/dates.js.map +1 -1
  95. package/dist/utils/dates.mjs +9 -0
  96. package/dist/utils/{dates.cjs.map → dates.mjs.map} +1 -1
  97. package/dist/utils/generate-metadata.d.cts +5 -3
  98. package/dist/utils/generate-metadata.d.ts +5 -3
  99. package/dist/utils/generate-metadata.js +33 -9
  100. package/dist/utils/generate-metadata.js.map +1 -1
  101. package/dist/utils/generate-metadata.mjs +36 -0
  102. package/dist/utils/generate-metadata.mjs.map +1 -0
  103. package/dist/utils/merge.js +29 -5
  104. package/dist/utils/merge.js.map +1 -1
  105. package/dist/utils/merge.mjs +9 -0
  106. package/dist/utils/{merge.cjs.map → merge.mjs.map} +1 -1
  107. package/dist/utils/sdk-config.d.cts +1 -0
  108. package/dist/utils/sdk-config.d.ts +1 -0
  109. package/dist/utils/sdk-config.js +31 -4
  110. package/dist/utils/sdk-config.js.map +1 -1
  111. package/dist/utils/sdk-config.mjs +32 -0
  112. package/dist/utils/sdk-config.mjs.map +1 -0
  113. package/package.json +4 -4
  114. package/dist/components/author-page/_helpers/json-ld.cjs +0 -2
  115. package/dist/components/author-page/index.cjs +0 -83
  116. package/dist/components/author-page/index.cjs.map +0 -1
  117. package/dist/components/authors-page/index.cjs +0 -105
  118. package/dist/components/blog-post/_components/content.cjs +0 -159
  119. package/dist/components/blog-post/_components/content.cjs.map +0 -1
  120. package/dist/components/blog-post/_components/faq.cjs +0 -39
  121. package/dist/components/blog-post/_components/share.cjs +0 -100
  122. package/dist/components/blog-post/_components/table-of-contents.cjs +0 -81
  123. package/dist/components/blog-post/_components/table-of-contents.cjs.map +0 -1
  124. package/dist/components/blog-post/_helpers/calc-reading-time.cjs +0 -2
  125. package/dist/components/blog-post/_helpers/extract-headings.cjs +0 -44
  126. package/dist/components/blog-post/_helpers/reading-time.cjs +0 -50
  127. package/dist/components/blog-post/_types/blog-post.cjs +0 -17
  128. package/dist/components/blog-post/_types/blog-post.cjs.map +0 -1
  129. package/dist/components/blog-post/_types/class-names.cjs +0 -17
  130. package/dist/components/blog-post/_types/class-names.cjs.map +0 -1
  131. package/dist/components/blog-post/index.cjs +0 -148
  132. package/dist/components/bread-crumbs.cjs +0 -60
  133. package/dist/components/folder-page/index.cjs +0 -61
  134. package/dist/components/home-page/folders.cjs +0 -98
  135. package/dist/components/home-page/index.cjs +0 -44
  136. package/dist/components/home-page/pagination.cjs +0 -91
  137. package/dist/components/home-page/top-posts.cjs +0 -52
  138. package/dist/components/not-found.cjs +0 -60
  139. package/dist/components/opinly-blog.cjs +0 -57
  140. package/dist/components/post-preview.cjs +0 -111
  141. package/dist/components/post-preview.cjs.map +0 -1
  142. package/dist/index.cjs +0 -23
  143. package/dist/index.cjs.map +0 -1
  144. package/dist/utils/dates.cjs +0 -33
  145. package/dist/utils/generate-metadata.cjs +0 -60
  146. package/dist/utils/generate-metadata.cjs.map +0 -1
  147. package/dist/utils/merge.cjs +0 -33
  148. package/dist/utils/sdk-config.cjs +0 -55
  149. package/dist/utils/sdk-config.cjs.map +0 -1
  150. /package/dist/components/author-page/_helpers/{json-ld.cjs.map → json-ld.mjs.map} +0 -0
  151. /package/dist/components/blog-post/_helpers/{calc-reading-time.cjs.map → calc-reading-time.mjs.map} +0 -0
package/dist/index.js CHANGED
@@ -1,2 +1,23 @@
1
- export * from "./components/opinly-blog";
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var index_exports = {};
17
+ module.exports = __toCommonJS(index_exports);
18
+ __reExport(index_exports, require("./components/opinly-blog"), module.exports);
19
+ // Annotate the CommonJS export names for ESM import in node:
20
+ 0 && (module.exports = {
21
+ ...require("./components/opinly-blog")
22
+ });
2
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from \"./components/opinly-blog\";\n"],"mappings":"AAAA,cAAc;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from \"./components/opinly-blog\";\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,qCAAd;","names":[]}
package/dist/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./components/opinly-blog";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from \"./components/opinly-blog\";\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -1,9 +1,33 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var dates_exports = {};
20
+ __export(dates_exports, {
21
+ formatDate: () => formatDate
22
+ });
23
+ module.exports = __toCommonJS(dates_exports);
1
24
  const formatDate = (iso) => new Date(iso).toLocaleDateString("en-US", {
2
25
  month: "short",
3
26
  day: "2-digit",
4
27
  year: "numeric"
5
28
  });
6
- export {
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
7
31
  formatDate
8
- };
32
+ });
9
33
  //# sourceMappingURL=dates.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/dates.ts"],"sourcesContent":["export const formatDate = (iso: string) =>\n new Date(iso).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"2-digit\",\n year: \"numeric\",\n });\n"],"mappings":"AAAO,MAAM,aAAa,CAAC,QACzB,IAAI,KAAK,GAAG,EAAE,mBAAmB,SAAS;AAAA,EACxC,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AACR,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/dates.ts"],"sourcesContent":["export const formatDate = (iso: string) =>\n new Date(iso).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"2-digit\",\n year: \"numeric\",\n });\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,aAAa,CAAC,QACzB,IAAI,KAAK,GAAG,EAAE,mBAAmB,SAAS;AAAA,EACxC,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AACR,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ const formatDate = (iso) => new Date(iso).toLocaleDateString("en-US", {
2
+ month: "short",
3
+ day: "2-digit",
4
+ year: "numeric"
5
+ });
6
+ export {
7
+ formatDate
8
+ };
9
+ //# sourceMappingURL=dates.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/dates.ts"],"sourcesContent":["export const formatDate = (iso: string) =>\n new Date(iso).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"2-digit\",\n year: \"numeric\",\n });\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,aAAa,CAAC,QACzB,IAAI,KAAK,GAAG,EAAE,mBAAmB,SAAS;AAAA,EACxC,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AACR,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/dates.ts"],"sourcesContent":["export const formatDate = (iso: string) =>\n new Date(iso).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"2-digit\",\n year: \"numeric\",\n });\n"],"mappings":"AAAO,MAAM,aAAa,CAAC,QACzB,IAAI,KAAK,GAAG,EAAE,mBAAmB,SAAS;AAAA,EACxC,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AACR,CAAC;","names":[]}
@@ -1,6 +1,8 @@
1
- import { Opinly, OpinlyPageProps } from '@opinly/backend';
1
+ import { Opinly } from '@opinly/backend';
2
2
  import { ResolvingMetadata, Metadata } from 'next';
3
3
 
4
- declare const generateMetadata: (client: Opinly, params: OpinlyPageProps, parent: ResolvingMetadata) => Promise<Metadata>;
4
+ declare const generateOpinlyMetadata: (client: Opinly, params: Promise<{
5
+ slug: string[];
6
+ }>, parent: ResolvingMetadata) => Promise<Metadata>;
5
7
 
6
- export { generateMetadata };
8
+ export { generateOpinlyMetadata };
@@ -1,6 +1,8 @@
1
- import { Opinly, OpinlyPageProps } from '@opinly/backend';
1
+ import { Opinly } from '@opinly/backend';
2
2
  import { ResolvingMetadata, Metadata } from 'next';
3
3
 
4
- declare const generateMetadata: (client: Opinly, params: OpinlyPageProps, parent: ResolvingMetadata) => Promise<Metadata>;
4
+ declare const generateOpinlyMetadata: (client: Opinly, params: Promise<{
5
+ slug: string[];
6
+ }>, parent: ResolvingMetadata) => Promise<Metadata>;
5
7
 
6
- export { generateMetadata };
8
+ export { generateOpinlyMetadata };
@@ -1,13 +1,36 @@
1
- import { opinlyConfig } from "./sdk-config";
2
- const generateMetadata = async (client, params, parent) => {
3
- const blog = await client.content.blog(params);
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var generate_metadata_exports = {};
20
+ __export(generate_metadata_exports, {
21
+ generateOpinlyMetadata: () => generateOpinlyMetadata
22
+ });
23
+ module.exports = __toCommonJS(generate_metadata_exports);
24
+ var import_sdk_config = require("./sdk-config");
25
+ const generateOpinlyMetadata = async (client, params, parent) => {
26
+ const blog = await client.content.blog({ params: await params });
4
27
  if (blog.type === "not-found") {
5
28
  return parent;
6
29
  }
7
30
  const previousImages = (await parent).openGraph?.images || [];
8
31
  if (blog.type === "post") {
9
32
  const openGraphImageKey = blog.data?.titleFile?.fileKey;
10
- const images = openGraphImageKey ? [`${opinlyConfig.imagesUrl}/${openGraphImageKey}`, ...previousImages] : previousImages;
33
+ const images = openGraphImageKey ? [`${import_sdk_config.opinlyConfig.imagesUrl}/${openGraphImageKey}`, ...previousImages] : previousImages;
11
34
  return {
12
35
  ...parent,
13
36
  title: blog.data.title,
@@ -15,14 +38,14 @@ const generateMetadata = async (client, params, parent) => {
15
38
  images,
16
39
  type: "article",
17
40
  authors: blog.data.author && [
18
- `${opinlyConfig.blogUrl}/authors/${blog.data.author.slug}`
41
+ `${import_sdk_config.opinlyConfig.blogUrl}/authors/${blog.data.author.slug}`
19
42
  ]
20
43
  },
21
44
  // keywords: [blog.data.keywords],
22
45
  authors: blog.data.author && [
23
46
  {
24
47
  name: blog.data.author.name,
25
- url: `${opinlyConfig.blogUrl}/authors/${blog.data.author.slug}`
48
+ url: `${import_sdk_config.opinlyConfig.blogUrl}/authors/${blog.data.author.slug}`
26
49
  }
27
50
  ],
28
51
  other: {}
@@ -30,7 +53,8 @@ const generateMetadata = async (client, params, parent) => {
30
53
  }
31
54
  return parent;
32
55
  };
33
- export {
34
- generateMetadata
35
- };
56
+ // Annotate the CommonJS export names for ESM import in node:
57
+ 0 && (module.exports = {
58
+ generateOpinlyMetadata
59
+ });
36
60
  //# sourceMappingURL=generate-metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/generate-metadata.ts"],"sourcesContent":["import { Opinly, OpinlyPageProps } from \"@opinly/backend\";\nimport type { Metadata, ResolvingMetadata } from \"next\";\nimport { opinlyConfig } from \"./sdk-config\";\n\nexport const generateMetadata = async (\n client: Opinly,\n params: OpinlyPageProps,\n parent: ResolvingMetadata\n): Promise<Metadata> => {\n const blog = await client.content.blog(params);\n\n if (blog.type === \"not-found\") {\n return parent as Metadata;\n }\n\n const previousImages = (await parent).openGraph?.images || [];\n\n if (blog.type === \"post\") {\n const openGraphImageKey = blog.data?.titleFile?.fileKey;\n\n const images = openGraphImageKey\n ? [`${opinlyConfig.imagesUrl}/${openGraphImageKey}`, ...previousImages]\n : previousImages;\n\n return {\n ...(parent as Metadata),\n title: blog.data.title,\n\n openGraph: {\n images: images,\n type: \"article\",\n authors: blog.data.author && [\n `${opinlyConfig.blogUrl}/authors/${blog.data.author.slug}`,\n ],\n },\n\n // keywords: [blog.data.keywords],\n authors: blog.data.author && [\n {\n name: blog.data.author.name,\n url: `${opinlyConfig.blogUrl}/authors/${blog.data.author.slug}`,\n },\n ],\n other: {},\n };\n }\n\n return parent as Metadata;\n};\n"],"mappings":"AAEA,SAAS,oBAAoB;AAEtB,MAAM,mBAAmB,OAC9B,QACA,QACA,WACsB;AACtB,QAAM,OAAO,MAAM,OAAO,QAAQ,KAAK,MAAM;AAE7C,MAAI,KAAK,SAAS,aAAa;AAC7B,WAAO;AAAA,EACT;AAEA,QAAM,kBAAkB,MAAM,QAAQ,WAAW,UAAU,CAAC;AAE5D,MAAI,KAAK,SAAS,QAAQ;AACxB,UAAM,oBAAoB,KAAK,MAAM,WAAW;AAEhD,UAAM,SAAS,oBACX,CAAC,GAAG,aAAa,SAAS,IAAI,iBAAiB,IAAI,GAAG,cAAc,IACpE;AAEJ,WAAO;AAAA,MACL,GAAI;AAAA,MACJ,OAAO,KAAK,KAAK;AAAA,MAEjB,WAAW;AAAA,QACT;AAAA,QACA,MAAM;AAAA,QACN,SAAS,KAAK,KAAK,UAAU;AAAA,UAC3B,GAAG,aAAa,OAAO,YAAY,KAAK,KAAK,OAAO,IAAI;AAAA,QAC1D;AAAA,MACF;AAAA;AAAA,MAGA,SAAS,KAAK,KAAK,UAAU;AAAA,QAC3B;AAAA,UACE,MAAM,KAAK,KAAK,OAAO;AAAA,UACvB,KAAK,GAAG,aAAa,OAAO,YAAY,KAAK,KAAK,OAAO,IAAI;AAAA,QAC/D;AAAA,MACF;AAAA,MACA,OAAO,CAAC;AAAA,IACV;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/generate-metadata.ts"],"sourcesContent":["import { Opinly } from \"@opinly/backend\";\nimport type { Metadata, ResolvingMetadata } from \"next\";\nimport { opinlyConfig } from \"./sdk-config\";\n\nexport const generateOpinlyMetadata = async (\n client: Opinly,\n params: Promise<{\n slug: string[];\n }>,\n parent: ResolvingMetadata\n): Promise<Metadata> => {\n const blog = await client.content.blog({ params: await params });\n\n if (blog.type === \"not-found\") {\n return parent as Metadata;\n }\n\n const previousImages = (await parent).openGraph?.images || [];\n\n if (blog.type === \"post\") {\n const openGraphImageKey = blog.data?.titleFile?.fileKey;\n\n const images = openGraphImageKey\n ? [`${opinlyConfig.imagesUrl}/${openGraphImageKey}`, ...previousImages]\n : previousImages;\n\n return {\n ...(parent as Metadata),\n title: blog.data.title,\n openGraph: {\n images: images,\n type: \"article\",\n authors: blog.data.author && [\n `${opinlyConfig.blogUrl}/authors/${blog.data.author.slug}`,\n ],\n },\n // keywords: [blog.data.keywords],\n authors: blog.data.author && [\n {\n name: blog.data.author.name,\n url: `${opinlyConfig.blogUrl}/authors/${blog.data.author.slug}`,\n },\n ],\n other: {},\n };\n }\n\n return parent as Metadata;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,wBAA6B;AAEtB,MAAM,yBAAyB,OACpC,QACA,QAGA,WACsB;AACtB,QAAM,OAAO,MAAM,OAAO,QAAQ,KAAK,EAAE,QAAQ,MAAM,OAAO,CAAC;AAE/D,MAAI,KAAK,SAAS,aAAa;AAC7B,WAAO;AAAA,EACT;AAEA,QAAM,kBAAkB,MAAM,QAAQ,WAAW,UAAU,CAAC;AAE5D,MAAI,KAAK,SAAS,QAAQ;AACxB,UAAM,oBAAoB,KAAK,MAAM,WAAW;AAEhD,UAAM,SAAS,oBACX,CAAC,GAAG,+BAAa,SAAS,IAAI,iBAAiB,IAAI,GAAG,cAAc,IACpE;AAEJ,WAAO;AAAA,MACL,GAAI;AAAA,MACJ,OAAO,KAAK,KAAK;AAAA,MACjB,WAAW;AAAA,QACT;AAAA,QACA,MAAM;AAAA,QACN,SAAS,KAAK,KAAK,UAAU;AAAA,UAC3B,GAAG,+BAAa,OAAO,YAAY,KAAK,KAAK,OAAO,IAAI;AAAA,QAC1D;AAAA,MACF;AAAA;AAAA,MAEA,SAAS,KAAK,KAAK,UAAU;AAAA,QAC3B;AAAA,UACE,MAAM,KAAK,KAAK,OAAO;AAAA,UACvB,KAAK,GAAG,+BAAa,OAAO,YAAY,KAAK,KAAK,OAAO,IAAI;AAAA,QAC/D;AAAA,MACF;AAAA,MACA,OAAO,CAAC;AAAA,IACV;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -0,0 +1,36 @@
1
+ import { opinlyConfig } from "./sdk-config";
2
+ const generateOpinlyMetadata = async (client, params, parent) => {
3
+ const blog = await client.content.blog({ params: await params });
4
+ if (blog.type === "not-found") {
5
+ return parent;
6
+ }
7
+ const previousImages = (await parent).openGraph?.images || [];
8
+ if (blog.type === "post") {
9
+ const openGraphImageKey = blog.data?.titleFile?.fileKey;
10
+ const images = openGraphImageKey ? [`${opinlyConfig.imagesUrl}/${openGraphImageKey}`, ...previousImages] : previousImages;
11
+ return {
12
+ ...parent,
13
+ title: blog.data.title,
14
+ openGraph: {
15
+ images,
16
+ type: "article",
17
+ authors: blog.data.author && [
18
+ `${opinlyConfig.blogUrl}/authors/${blog.data.author.slug}`
19
+ ]
20
+ },
21
+ // keywords: [blog.data.keywords],
22
+ authors: blog.data.author && [
23
+ {
24
+ name: blog.data.author.name,
25
+ url: `${opinlyConfig.blogUrl}/authors/${blog.data.author.slug}`
26
+ }
27
+ ],
28
+ other: {}
29
+ };
30
+ }
31
+ return parent;
32
+ };
33
+ export {
34
+ generateOpinlyMetadata
35
+ };
36
+ //# sourceMappingURL=generate-metadata.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/generate-metadata.ts"],"sourcesContent":["import { Opinly } from \"@opinly/backend\";\nimport type { Metadata, ResolvingMetadata } from \"next\";\nimport { opinlyConfig } from \"./sdk-config\";\n\nexport const generateOpinlyMetadata = async (\n client: Opinly,\n params: Promise<{\n slug: string[];\n }>,\n parent: ResolvingMetadata\n): Promise<Metadata> => {\n const blog = await client.content.blog({ params: await params });\n\n if (blog.type === \"not-found\") {\n return parent as Metadata;\n }\n\n const previousImages = (await parent).openGraph?.images || [];\n\n if (blog.type === \"post\") {\n const openGraphImageKey = blog.data?.titleFile?.fileKey;\n\n const images = openGraphImageKey\n ? [`${opinlyConfig.imagesUrl}/${openGraphImageKey}`, ...previousImages]\n : previousImages;\n\n return {\n ...(parent as Metadata),\n title: blog.data.title,\n openGraph: {\n images: images,\n type: \"article\",\n authors: blog.data.author && [\n `${opinlyConfig.blogUrl}/authors/${blog.data.author.slug}`,\n ],\n },\n // keywords: [blog.data.keywords],\n authors: blog.data.author && [\n {\n name: blog.data.author.name,\n url: `${opinlyConfig.blogUrl}/authors/${blog.data.author.slug}`,\n },\n ],\n other: {},\n };\n }\n\n return parent as Metadata;\n};\n"],"mappings":"AAEA,SAAS,oBAAoB;AAEtB,MAAM,yBAAyB,OACpC,QACA,QAGA,WACsB;AACtB,QAAM,OAAO,MAAM,OAAO,QAAQ,KAAK,EAAE,QAAQ,MAAM,OAAO,CAAC;AAE/D,MAAI,KAAK,SAAS,aAAa;AAC7B,WAAO;AAAA,EACT;AAEA,QAAM,kBAAkB,MAAM,QAAQ,WAAW,UAAU,CAAC;AAE5D,MAAI,KAAK,SAAS,QAAQ;AACxB,UAAM,oBAAoB,KAAK,MAAM,WAAW;AAEhD,UAAM,SAAS,oBACX,CAAC,GAAG,aAAa,SAAS,IAAI,iBAAiB,IAAI,GAAG,cAAc,IACpE;AAEJ,WAAO;AAAA,MACL,GAAI;AAAA,MACJ,OAAO,KAAK,KAAK;AAAA,MACjB,WAAW;AAAA,QACT;AAAA,QACA,MAAM;AAAA,QACN,SAAS,KAAK,KAAK,UAAU;AAAA,UAC3B,GAAG,aAAa,OAAO,YAAY,KAAK,KAAK,OAAO,IAAI;AAAA,QAC1D;AAAA,MACF;AAAA;AAAA,MAEA,SAAS,KAAK,KAAK,UAAU;AAAA,QAC3B;AAAA,UACE,MAAM,KAAK,KAAK,OAAO;AAAA,UACvB,KAAK,GAAG,aAAa,OAAO,YAAY,KAAK,KAAK,OAAO,IAAI;AAAA,QAC/D;AAAA,MACF;AAAA,MACA,OAAO,CAAC;AAAA,IACV;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -1,9 +1,33 @@
1
- import { clsx } from "clsx";
2
- import { twMerge } from "tailwind-merge";
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var merge_exports = {};
20
+ __export(merge_exports, {
21
+ cn: () => cn
22
+ });
23
+ module.exports = __toCommonJS(merge_exports);
24
+ var import_clsx = require("clsx");
25
+ var import_tailwind_merge = require("tailwind-merge");
3
26
  const cn = (...inputs) => {
4
- return twMerge(clsx(inputs));
27
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
5
28
  };
6
- export {
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
7
31
  cn
8
- };
32
+ });
9
33
  //# sourceMappingURL=merge.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/merge.ts"],"sourcesContent":["import { ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]) => {\n return twMerge(clsx(inputs));\n};\n"],"mappings":"AAAA,SAAqB,YAAY;AACjC,SAAS,eAAe;AAEjB,MAAM,KAAK,IAAI,WAAyB;AAC7C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/merge.ts"],"sourcesContent":["import { ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]) => {\n return twMerge(clsx(inputs));\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiC;AACjC,4BAAwB;AAEjB,MAAM,KAAK,IAAI,WAAyB;AAC7C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ const cn = (...inputs) => {
4
+ return twMerge(clsx(inputs));
5
+ };
6
+ export {
7
+ cn
8
+ };
9
+ //# sourceMappingURL=merge.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/merge.ts"],"sourcesContent":["import { ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]) => {\n return twMerge(clsx(inputs));\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiC;AACjC,4BAAwB;AAEjB,MAAM,KAAK,IAAI,WAAyB;AAC7C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/merge.ts"],"sourcesContent":["import { ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]) => {\n return twMerge(clsx(inputs));\n};\n"],"mappings":"AAAA,SAAqB,YAAY;AACjC,SAAS,eAAe;AAEjB,MAAM,KAAK,IAAI,WAAyB;AAC7C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;","names":[]}
@@ -6,6 +6,7 @@ declare let opinlyConfig: {
6
6
  blogPrefix: string;
7
7
  blogUrl: string;
8
8
  siteName: string;
9
+ unoptimizedImages: boolean;
9
10
  };
10
11
  declare function setOpinlyConfig(newConfig: typeof opinlyConfig): void;
11
12
 
@@ -6,6 +6,7 @@ declare let opinlyConfig: {
6
6
  blogPrefix: string;
7
7
  blogUrl: string;
8
8
  siteName: string;
9
+ unoptimizedImages: boolean;
9
10
  };
10
11
  declare function setOpinlyConfig(newConfig: typeof opinlyConfig): void;
11
12
 
@@ -1,10 +1,35 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var sdk_config_exports = {};
20
+ __export(sdk_config_exports, {
21
+ opinlyConfig: () => opinlyConfig,
22
+ setOpinlyConfig: () => setOpinlyConfig
23
+ });
24
+ module.exports = __toCommonJS(sdk_config_exports);
1
25
  const siteUrl = process.env.OPINLY_SITE_URL;
2
26
  const opinlyEnvVars = {
3
27
  OPINLY_IMAGES_PREFIX: process.env.OPINLY_IMAGES_PREFIX,
4
28
  OPINLY_SITE_URL: process.env.OPINLY_SITE_URL,
5
29
  OPINLY_BLOG_PREFIX: process.env.OPINLY_BLOG_PREFIX,
6
30
  OPINLY_CDN_URL: process.env.OPINLY_CDN_URL,
7
- OPINLY_SITE_NAME: process.env.OPINLY_SITE_NAME
31
+ OPINLY_SITE_NAME: process.env.OPINLY_SITE_NAME,
32
+ OPINLY_UNOPTIMIZED_IMAGES: process.env.OPINLY_UNOPTIMIZED_IMAGES
8
33
  };
9
34
  Object.entries(opinlyEnvVars).forEach(([key, value]) => {
10
35
  if (!value) {
@@ -18,13 +43,15 @@ let opinlyConfig = {
18
43
  imagesUrl: `${process.env.OPINLY_SITE_URL}${process.env.OPINLY_IMAGES_PREFIX}`,
19
44
  blogPrefix: process.env.OPINLY_BLOG_PREFIX,
20
45
  blogUrl: `${process.env.OPINLY_SITE_URL}${process.env.OPINLY_BLOG_PREFIX}`,
21
- siteName: process.env.OPINLY_SITE_NAME
46
+ siteName: process.env.OPINLY_SITE_NAME,
47
+ unoptimizedImages: process.env.OPINLY_UNOPTIMIZED_IMAGES === "true"
22
48
  };
23
49
  function setOpinlyConfig(newConfig) {
24
50
  opinlyConfig = { ...opinlyConfig, ...newConfig };
25
51
  }
26
- export {
52
+ // Annotate the CommonJS export names for ESM import in node:
53
+ 0 && (module.exports = {
27
54
  opinlyConfig,
28
55
  setOpinlyConfig
29
- };
56
+ });
30
57
  //# sourceMappingURL=sdk-config.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/sdk-config.ts"],"sourcesContent":["const siteUrl = process.env.OPINLY_SITE_URL;\n\nconst opinlyEnvVars = {\n OPINLY_IMAGES_PREFIX: process.env.OPINLY_IMAGES_PREFIX as string,\n OPINLY_SITE_URL: process.env.OPINLY_SITE_URL as string,\n OPINLY_BLOG_PREFIX: process.env.OPINLY_BLOG_PREFIX as string,\n OPINLY_CDN_URL: process.env.OPINLY_CDN_URL as string,\n OPINLY_SITE_NAME: process.env.OPINLY_SITE_NAME as string,\n};\n\nObject.entries(opinlyEnvVars).forEach(([key, value]) => {\n if (!value) {\n throw new Error(`OPINLY ERROR: env var ${key} is not set`);\n }\n});\n\nexport let opinlyConfig: {\n cdnUrl: string;\n imagesPrefix: string;\n imagesUrl: string;\n siteUrl: string;\n blogPrefix: string;\n blogUrl: string;\n siteName: string;\n} = {\n cdnUrl: process.env.OPINLY_CDN_URL || \"https://cdn.opinly.ai\",\n siteUrl: process.env.OPINLY_SITE_URL as string,\n imagesPrefix: process.env.OPINLY_IMAGES_PREFIX as string,\n imagesUrl: `${process.env.OPINLY_SITE_URL as string}${process.env.OPINLY_IMAGES_PREFIX as string}`,\n blogPrefix: process.env.OPINLY_BLOG_PREFIX as string,\n blogUrl: `${process.env.OPINLY_SITE_URL as string}${process.env.OPINLY_BLOG_PREFIX as string}`,\n siteName: process.env.OPINLY_SITE_NAME as string,\n};\n\nexport function setOpinlyConfig(newConfig: typeof opinlyConfig) {\n opinlyConfig = { ...opinlyConfig, ...newConfig };\n}\n"],"mappings":"AAAA,MAAM,UAAU,QAAQ,IAAI;AAE5B,MAAM,gBAAgB;AAAA,EACpB,sBAAsB,QAAQ,IAAI;AAAA,EAClC,iBAAiB,QAAQ,IAAI;AAAA,EAC7B,oBAAoB,QAAQ,IAAI;AAAA,EAChC,gBAAgB,QAAQ,IAAI;AAAA,EAC5B,kBAAkB,QAAQ,IAAI;AAChC;AAEA,OAAO,QAAQ,aAAa,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACtD,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,yBAAyB,GAAG,aAAa;AAAA,EAC3D;AACF,CAAC;AAEM,IAAI,eAQP;AAAA,EACF,QAAQ,QAAQ,IAAI,kBAAkB;AAAA,EACtC,SAAS,QAAQ,IAAI;AAAA,EACrB,cAAc,QAAQ,IAAI;AAAA,EAC1B,WAAW,GAAG,QAAQ,IAAI,eAAyB,GAAG,QAAQ,IAAI,oBAA8B;AAAA,EAChG,YAAY,QAAQ,IAAI;AAAA,EACxB,SAAS,GAAG,QAAQ,IAAI,eAAyB,GAAG,QAAQ,IAAI,kBAA4B;AAAA,EAC5F,UAAU,QAAQ,IAAI;AACxB;AAEO,SAAS,gBAAgB,WAAgC;AAC9D,iBAAe,EAAE,GAAG,cAAc,GAAG,UAAU;AACjD;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/sdk-config.ts"],"sourcesContent":["const siteUrl = process.env.OPINLY_SITE_URL;\n\nconst opinlyEnvVars = {\n OPINLY_IMAGES_PREFIX: process.env.OPINLY_IMAGES_PREFIX as string,\n OPINLY_SITE_URL: process.env.OPINLY_SITE_URL as string,\n OPINLY_BLOG_PREFIX: process.env.OPINLY_BLOG_PREFIX as string,\n OPINLY_CDN_URL: process.env.OPINLY_CDN_URL as string,\n OPINLY_SITE_NAME: process.env.OPINLY_SITE_NAME as string,\n OPINLY_UNOPTIMIZED_IMAGES: process.env.OPINLY_UNOPTIMIZED_IMAGES as string,\n};\n\nObject.entries(opinlyEnvVars).forEach(([key, value]) => {\n if (!value) {\n throw new Error(`OPINLY ERROR: env var ${key} is not set`);\n }\n});\n\nexport let opinlyConfig: {\n cdnUrl: string;\n imagesPrefix: string;\n imagesUrl: string;\n siteUrl: string;\n blogPrefix: string;\n blogUrl: string;\n siteName: string;\n unoptimizedImages: boolean;\n} = {\n cdnUrl: process.env.OPINLY_CDN_URL || \"https://cdn.opinly.ai\",\n siteUrl: process.env.OPINLY_SITE_URL as string,\n imagesPrefix: process.env.OPINLY_IMAGES_PREFIX as string,\n imagesUrl: `${process.env.OPINLY_SITE_URL as string}${process.env.OPINLY_IMAGES_PREFIX as string}`,\n blogPrefix: process.env.OPINLY_BLOG_PREFIX as string,\n blogUrl: `${process.env.OPINLY_SITE_URL as string}${process.env.OPINLY_BLOG_PREFIX as string}`,\n siteName: process.env.OPINLY_SITE_NAME as string,\n unoptimizedImages: process.env.OPINLY_UNOPTIMIZED_IMAGES === \"true\",\n};\n\nexport function setOpinlyConfig(newConfig: typeof opinlyConfig) {\n opinlyConfig = { ...opinlyConfig, ...newConfig };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,UAAU,QAAQ,IAAI;AAE5B,MAAM,gBAAgB;AAAA,EACpB,sBAAsB,QAAQ,IAAI;AAAA,EAClC,iBAAiB,QAAQ,IAAI;AAAA,EAC7B,oBAAoB,QAAQ,IAAI;AAAA,EAChC,gBAAgB,QAAQ,IAAI;AAAA,EAC5B,kBAAkB,QAAQ,IAAI;AAAA,EAC9B,2BAA2B,QAAQ,IAAI;AACzC;AAEA,OAAO,QAAQ,aAAa,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACtD,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,yBAAyB,GAAG,aAAa;AAAA,EAC3D;AACF,CAAC;AAEM,IAAI,eASP;AAAA,EACF,QAAQ,QAAQ,IAAI,kBAAkB;AAAA,EACtC,SAAS,QAAQ,IAAI;AAAA,EACrB,cAAc,QAAQ,IAAI;AAAA,EAC1B,WAAW,GAAG,QAAQ,IAAI,eAAyB,GAAG,QAAQ,IAAI,oBAA8B;AAAA,EAChG,YAAY,QAAQ,IAAI;AAAA,EACxB,SAAS,GAAG,QAAQ,IAAI,eAAyB,GAAG,QAAQ,IAAI,kBAA4B;AAAA,EAC5F,UAAU,QAAQ,IAAI;AAAA,EACtB,mBAAmB,QAAQ,IAAI,8BAA8B;AAC/D;AAEO,SAAS,gBAAgB,WAAgC;AAC9D,iBAAe,EAAE,GAAG,cAAc,GAAG,UAAU;AACjD;","names":[]}
@@ -0,0 +1,32 @@
1
+ const siteUrl = process.env.OPINLY_SITE_URL;
2
+ const opinlyEnvVars = {
3
+ OPINLY_IMAGES_PREFIX: process.env.OPINLY_IMAGES_PREFIX,
4
+ OPINLY_SITE_URL: process.env.OPINLY_SITE_URL,
5
+ OPINLY_BLOG_PREFIX: process.env.OPINLY_BLOG_PREFIX,
6
+ OPINLY_CDN_URL: process.env.OPINLY_CDN_URL,
7
+ OPINLY_SITE_NAME: process.env.OPINLY_SITE_NAME,
8
+ OPINLY_UNOPTIMIZED_IMAGES: process.env.OPINLY_UNOPTIMIZED_IMAGES
9
+ };
10
+ Object.entries(opinlyEnvVars).forEach(([key, value]) => {
11
+ if (!value) {
12
+ throw new Error(`OPINLY ERROR: env var ${key} is not set`);
13
+ }
14
+ });
15
+ let opinlyConfig = {
16
+ cdnUrl: process.env.OPINLY_CDN_URL || "https://cdn.opinly.ai",
17
+ siteUrl: process.env.OPINLY_SITE_URL,
18
+ imagesPrefix: process.env.OPINLY_IMAGES_PREFIX,
19
+ imagesUrl: `${process.env.OPINLY_SITE_URL}${process.env.OPINLY_IMAGES_PREFIX}`,
20
+ blogPrefix: process.env.OPINLY_BLOG_PREFIX,
21
+ blogUrl: `${process.env.OPINLY_SITE_URL}${process.env.OPINLY_BLOG_PREFIX}`,
22
+ siteName: process.env.OPINLY_SITE_NAME,
23
+ unoptimizedImages: process.env.OPINLY_UNOPTIMIZED_IMAGES === "true"
24
+ };
25
+ function setOpinlyConfig(newConfig) {
26
+ opinlyConfig = { ...opinlyConfig, ...newConfig };
27
+ }
28
+ export {
29
+ opinlyConfig,
30
+ setOpinlyConfig
31
+ };
32
+ //# sourceMappingURL=sdk-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/sdk-config.ts"],"sourcesContent":["const siteUrl = process.env.OPINLY_SITE_URL;\n\nconst opinlyEnvVars = {\n OPINLY_IMAGES_PREFIX: process.env.OPINLY_IMAGES_PREFIX as string,\n OPINLY_SITE_URL: process.env.OPINLY_SITE_URL as string,\n OPINLY_BLOG_PREFIX: process.env.OPINLY_BLOG_PREFIX as string,\n OPINLY_CDN_URL: process.env.OPINLY_CDN_URL as string,\n OPINLY_SITE_NAME: process.env.OPINLY_SITE_NAME as string,\n OPINLY_UNOPTIMIZED_IMAGES: process.env.OPINLY_UNOPTIMIZED_IMAGES as string,\n};\n\nObject.entries(opinlyEnvVars).forEach(([key, value]) => {\n if (!value) {\n throw new Error(`OPINLY ERROR: env var ${key} is not set`);\n }\n});\n\nexport let opinlyConfig: {\n cdnUrl: string;\n imagesPrefix: string;\n imagesUrl: string;\n siteUrl: string;\n blogPrefix: string;\n blogUrl: string;\n siteName: string;\n unoptimizedImages: boolean;\n} = {\n cdnUrl: process.env.OPINLY_CDN_URL || \"https://cdn.opinly.ai\",\n siteUrl: process.env.OPINLY_SITE_URL as string,\n imagesPrefix: process.env.OPINLY_IMAGES_PREFIX as string,\n imagesUrl: `${process.env.OPINLY_SITE_URL as string}${process.env.OPINLY_IMAGES_PREFIX as string}`,\n blogPrefix: process.env.OPINLY_BLOG_PREFIX as string,\n blogUrl: `${process.env.OPINLY_SITE_URL as string}${process.env.OPINLY_BLOG_PREFIX as string}`,\n siteName: process.env.OPINLY_SITE_NAME as string,\n unoptimizedImages: process.env.OPINLY_UNOPTIMIZED_IMAGES === \"true\",\n};\n\nexport function setOpinlyConfig(newConfig: typeof opinlyConfig) {\n opinlyConfig = { ...opinlyConfig, ...newConfig };\n}\n"],"mappings":"AAAA,MAAM,UAAU,QAAQ,IAAI;AAE5B,MAAM,gBAAgB;AAAA,EACpB,sBAAsB,QAAQ,IAAI;AAAA,EAClC,iBAAiB,QAAQ,IAAI;AAAA,EAC7B,oBAAoB,QAAQ,IAAI;AAAA,EAChC,gBAAgB,QAAQ,IAAI;AAAA,EAC5B,kBAAkB,QAAQ,IAAI;AAAA,EAC9B,2BAA2B,QAAQ,IAAI;AACzC;AAEA,OAAO,QAAQ,aAAa,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACtD,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,yBAAyB,GAAG,aAAa;AAAA,EAC3D;AACF,CAAC;AAEM,IAAI,eASP;AAAA,EACF,QAAQ,QAAQ,IAAI,kBAAkB;AAAA,EACtC,SAAS,QAAQ,IAAI;AAAA,EACrB,cAAc,QAAQ,IAAI;AAAA,EAC1B,WAAW,GAAG,QAAQ,IAAI,eAAyB,GAAG,QAAQ,IAAI,oBAA8B;AAAA,EAChG,YAAY,QAAQ,IAAI;AAAA,EACxB,SAAS,GAAG,QAAQ,IAAI,eAAyB,GAAG,QAAQ,IAAI,kBAA4B;AAAA,EAC5F,UAAU,QAAQ,IAAI;AAAA,EACtB,mBAAmB,QAAQ,IAAI,8BAA8B;AAC/D;AAEO,SAAS,gBAAgB,WAAgC;AAC9D,iBAAe,EAAE,GAAG,cAAc,GAAG,UAAU;AACjD;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opinly/next",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "main": "dist/index.cjs",
@@ -29,7 +29,7 @@
29
29
  "react-syntax-highlighter": "^15.6.1",
30
30
  "schema-dts": "^1.1.5",
31
31
  "tailwind-merge": "^1.14.0",
32
- "@opinly/backend": "0.1.12"
32
+ "@opinly/backend": "0.1.14"
33
33
  },
34
34
  "engines": {
35
35
  "node": ">=16"
@@ -46,11 +46,11 @@
46
46
  "import": "./dist/index.js",
47
47
  "require": "./dist/index.cjs"
48
48
  },
49
- "./components": {
49
+ "./components/*": {
50
50
  "import": "./dist/components/*.js",
51
51
  "require": "./dist/components/*.cjs"
52
52
  },
53
- "./utils": {
53
+ "./utils/*": {
54
54
  "import": "./dist/utils/*.js",
55
55
  "require": "./dist/utils/*.cjs"
56
56
  }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=json-ld.cjs.map
@@ -1,83 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var author_page_exports = {};
30
- __export(author_page_exports, {
31
- AuthorPage: () => AuthorPage
32
- });
33
- module.exports = __toCommonJS(author_page_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_image = __toESM(require("next/image"), 1);
36
- var import_sdk_config = require("../../utils/sdk-config");
37
- var import_post_preview = require("../post-preview");
38
- var import_bread_crumbs = require("../bread-crumbs");
39
- const AuthorPage = ({
40
- author
41
- }) => {
42
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "max-w-5xl mx-auto px-4 py-10", children: [
43
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
44
- import_bread_crumbs.BreadCrumbs,
45
- {
46
- breadcrumbs: [
47
- {
48
- name: "Authors",
49
- url: `${import_sdk_config.opinlyConfig.blogPrefix}/authors`
50
- }
51
- ]
52
- }
53
- ),
54
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-6 mb-10", children: [
55
- author.image.fileKey && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
56
- import_image.default,
57
- {
58
- src: `${import_sdk_config.opinlyConfig.imagesPrefix}/${author.image.fileKey}`,
59
- alt: author.image.alt || author.name,
60
- width: 150,
61
- height: 150,
62
- className: "rounded-full border"
63
- }
64
- ),
65
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
66
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { className: "text-3xl font-bold mb-1", children: author.name }),
67
- author.bio && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-muted-foreground text-base max-w-2xl", children: author.bio })
68
- ] })
69
- ] }),
70
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h2", { className: "text-xl font-semibold mb-6", children: [
71
- "Posts by ",
72
- author.name
73
- ] }),
74
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8", children: author.posts && author.posts.length > 0 ? author.posts.map(
75
- (post) => post && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_post_preview.PostPreview, { post }, post.slug)
76
- ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-muted-foreground col-span-full", children: "No posts yet." }) })
77
- ] });
78
- };
79
- // Annotate the CommonJS export names for ESM import in node:
80
- 0 && (module.exports = {
81
- AuthorPage
82
- });
83
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/author-page/index.tsx"],"sourcesContent":["import { Opinly } from \"@opinly/backend\";\nimport Image from \"next/image\";\nimport { opinlyConfig } from \"../../utils/sdk-config\";\nimport { PostPreview } from \"../post-preview\";\nimport { BreadCrumbs } from \"../bread-crumbs\";\n\nexport const AuthorPage = ({\n author,\n}: {\n author: Extract<\n Awaited<ReturnType<Opinly[\"content\"][\"blog\"]>>,\n { type: \"author\" }\n >[\"data\"];\n}) => {\n return (\n <div className=\"max-w-5xl mx-auto px-4 py-10\">\n <BreadCrumbs\n breadcrumbs={[\n {\n name: \"Authors\",\n url: `${opinlyConfig.blogPrefix}/authors`,\n },\n ]}\n />\n {/* Author Header */}\n <div className=\"flex items-center gap-6 mb-10\">\n {author.image.fileKey && (\n <Image\n src={`${opinlyConfig.imagesPrefix}/${author.image.fileKey}`}\n alt={author.image.alt || author.name}\n width={150}\n height={150}\n className=\"rounded-full border\"\n />\n )}\n <div>\n <h1 className=\"text-3xl font-bold mb-1\">{author.name}</h1>\n {author.bio && (\n <p className=\"text-muted-foreground text-base max-w-2xl\">\n {author.bio}\n </p>\n )}\n </div>\n </div>\n\n {/* Posts Grid */}\n <h2 className=\"text-xl font-semibold mb-6\">Posts by {author.name}</h2>\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8\">\n {author.posts && author.posts.length > 0 ? (\n author.posts.map(\n (post) => post && <PostPreview key={post.slug} post={post} />\n )\n ) : (\n <div className=\"text-muted-foreground col-span-full\">\n No posts yet.\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBM;AAfN,mBAAkB;AAClB,wBAA6B;AAC7B,0BAA4B;AAC5B,0BAA4B;AAErB,MAAM,aAAa,CAAC;AAAA,EACzB;AACF,MAKM;AACJ,SACE,6CAAC,SAAI,WAAU,gCACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,aAAa;AAAA,UACX;AAAA,YACE,MAAM;AAAA,YACN,KAAK,GAAG,+BAAa,UAAU;AAAA,UACjC;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IAEA,6CAAC,SAAI,WAAU,iCACZ;AAAA,aAAO,MAAM,WACZ;AAAA,QAAC,aAAAA;AAAA,QAAA;AAAA,UACC,KAAK,GAAG,+BAAa,YAAY,IAAI,OAAO,MAAM,OAAO;AAAA,UACzD,KAAK,OAAO,MAAM,OAAO,OAAO;AAAA,UAChC,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,WAAU;AAAA;AAAA,MACZ;AAAA,MAEF,6CAAC,SACC;AAAA,oDAAC,QAAG,WAAU,2BAA2B,iBAAO,MAAK;AAAA,QACpD,OAAO,OACN,4CAAC,OAAE,WAAU,6CACV,iBAAO,KACV;AAAA,SAEJ;AAAA,OACF;AAAA,IAGA,6CAAC,QAAG,WAAU,8BAA6B;AAAA;AAAA,MAAU,OAAO;AAAA,OAAK;AAAA,IACjE,4CAAC,SAAI,WAAU,wDACZ,iBAAO,SAAS,OAAO,MAAM,SAAS,IACrC,OAAO,MAAM;AAAA,MACX,CAAC,SAAS,QAAQ,4CAAC,mCAA4B,QAAX,KAAK,IAAkB;AAAA,IAC7D,IAEA,4CAAC,SAAI,WAAU,uCAAsC,2BAErD,GAEJ;AAAA,KACF;AAEJ;","names":["Image"]}