nuxt-og-image 3.0.8 → 3.1.0

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 (256) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +31 -20
  3. package/dist/client/200.html +81 -77
  4. package/dist/client/404.html +81 -77
  5. package/dist/client/_nuxt/{CE0v8NN9.js → 0qbUsQ6_.js} +1 -1
  6. package/dist/client/_nuxt/2aygx1xg.js +1 -0
  7. package/dist/client/_nuxt/{DBxrVw_D.js → 5Vw9JATd.js} +1 -1
  8. package/dist/client/_nuxt/6RUVFG9U.js +1 -0
  9. package/dist/client/_nuxt/B1Z2YEe0.js +1 -0
  10. package/dist/client/_nuxt/{OiuHoWY5.js → B1rsb5QC.js} +1 -1
  11. package/dist/client/_nuxt/B2uSYIFn.js +1 -0
  12. package/dist/client/_nuxt/BA1ndEPy.js +1 -0
  13. package/dist/client/_nuxt/{p-youoOz.js → BCawSwWi.js} +1 -1
  14. package/dist/client/_nuxt/{rAPcFIiw.js → BYqZ7etr.js} +1 -1
  15. package/dist/client/_nuxt/{BMGF3Z6I.js → Bb8BND5H.js} +1 -1
  16. package/dist/client/_nuxt/{BjE2mIY4.js → BbalPOsb.js} +1 -1
  17. package/dist/client/_nuxt/{DwFwdhDE.js → Bcw97oti.js} +1 -1
  18. package/dist/client/_nuxt/{CiXlrwC7.js → BhC5s0V7.js} +1 -1
  19. package/dist/client/_nuxt/{BVLG6Y-w.js → Bmb0A568.js} +1 -1
  20. package/dist/client/_nuxt/{DpVQgTom.js → BoZcIFWd.js} +1 -1
  21. package/dist/client/_nuxt/BqtQrzRp.js +1 -0
  22. package/dist/client/_nuxt/{BWgb8Pxw.js → Bv_sPlCv.js} +1 -1
  23. package/dist/client/_nuxt/BwpQXVS2.js +1 -0
  24. package/dist/client/_nuxt/C-_shW-Y.js +1 -0
  25. package/dist/client/_nuxt/{nkNqggyT.js → CBzZD_Xh.js} +1 -1
  26. package/dist/client/_nuxt/CD_QflpE.js +1 -0
  27. package/dist/client/_nuxt/{Bpo8LMpD.js → CI15r38m.js} +1 -1
  28. package/dist/client/_nuxt/{JbneklYT.js → CK7S-5jS.js} +1 -1
  29. package/dist/client/_nuxt/{B9hcNGex.js → CKfqYE_r.js} +1 -1
  30. package/dist/client/_nuxt/CLXkKSjS.js +1 -0
  31. package/dist/client/_nuxt/CM4fc1WH.js +1 -0
  32. package/dist/client/_nuxt/CVESyXxo.js +1 -0
  33. package/dist/client/_nuxt/CVnaBhQ8.js +3834 -0
  34. package/dist/client/_nuxt/{vFtNXPBc.js → CWJejSyX.js} +1 -1
  35. package/dist/client/_nuxt/{Bt50SWsh.js → CY2R9RuK.js} +1 -1
  36. package/dist/client/_nuxt/{Ckz-YMxz.js → CeZwWGti.js} +1 -1
  37. package/dist/client/_nuxt/CjDtw9vr.js +1 -0
  38. package/dist/client/_nuxt/{BhLNiG9c.js → ClV7KpCc.js} +1 -1
  39. package/dist/client/_nuxt/{D7z58M2W.js → Cm25um3E.js} +1 -1
  40. package/dist/client/_nuxt/CmCqftbK.js +1 -0
  41. package/dist/client/_nuxt/Cmhojp3q.js +1 -0
  42. package/dist/client/_nuxt/{BwojPDJW.js → CnsmiicP.js} +1 -1
  43. package/dist/client/_nuxt/{DCRAZVCM.js → CodIOJDM.js} +1 -1
  44. package/dist/client/_nuxt/{0e7srHXh.js → Csvi84BS.js} +1 -1
  45. package/dist/client/_nuxt/{CHZeBJpW.js → CuIYtGag.js} +1 -1
  46. package/dist/client/_nuxt/{I1uqSxRv.js → Cv3cJnDV.js} +1 -1
  47. package/dist/client/_nuxt/Cv7ZOjGq.js +1 -0
  48. package/dist/client/_nuxt/{Da_8ueAw.js → CyEc264g.js} +1 -1
  49. package/dist/client/_nuxt/{CRR3mLlZ.js → D2O4HAMr.js} +1 -1
  50. package/dist/client/_nuxt/{Bexp5DGn.js → DFQ4Xr-4.js} +1 -1
  51. package/dist/client/_nuxt/DMFdBl0X.js +1 -0
  52. package/dist/client/_nuxt/DNgb01dh.js +1 -0
  53. package/dist/client/_nuxt/DRW-0cLl.js +1 -0
  54. package/dist/client/_nuxt/{Xse1gjxk.js → DRhUEtVu.js} +1 -1
  55. package/dist/client/_nuxt/{BGdveAQA.js → DUdzsfxe.js} +1 -1
  56. package/dist/client/_nuxt/{CYyBA3kJ.js → Db-JQHi3.js} +1 -1
  57. package/dist/client/_nuxt/DepYB8Ml.js +1 -0
  58. package/dist/client/_nuxt/{ChEme8PX.js → DhG9BCpW.js} +1 -1
  59. package/dist/client/_nuxt/{BxJadH_W.js → DhqJCFIX.js} +1 -1
  60. package/dist/client/_nuxt/DqpEK-75.js +1 -0
  61. package/dist/client/_nuxt/Ds-gbosJ.js +1 -0
  62. package/dist/client/_nuxt/{D4O64OTH.js → DvA-6Bhw.js} +1 -1
  63. package/dist/client/_nuxt/{B66eQrDP.js → FMvz1E70.js} +1 -1
  64. package/dist/client/_nuxt/GBQ2dnAY.js +1 -0
  65. package/dist/client/_nuxt/{CJrM-UL-.js → JJNjxVar.js} +1 -1
  66. package/dist/client/_nuxt/{D_QQB6Yv.js → KUYRHWK4.js} +1 -1
  67. package/dist/client/_nuxt/LGGdnPYs.js +1 -0
  68. package/dist/client/_nuxt/Lp17StYA.js +1 -0
  69. package/dist/client/_nuxt/RXHOmnpW.js +1 -0
  70. package/dist/client/_nuxt/{4NJYcRSJ.js → W2lx4xae.js} +1 -1
  71. package/dist/client/_nuxt/YurBl9Qv.js +1 -0
  72. package/dist/client/_nuxt/builds/latest.json +1 -1
  73. package/dist/client/_nuxt/builds/meta/8b5030a0-26f3-4866-b3ef-7d3cafd624e0.json +1 -0
  74. package/dist/client/_nuxt/{D0ybgVpa.js → dwbxrGt_.js} +1 -1
  75. package/dist/client/_nuxt/{D3CL8VSI.js → eACALr6E.js} +1 -1
  76. package/dist/client/_nuxt/{entry.ChwSb1tJ.css → entry.CGZ3zn-m.css} +1 -1
  77. package/dist/client/_nuxt/error-404.DGYJY-kl.css +1 -0
  78. package/dist/client/_nuxt/error-500.BTkdHbNU.css +1 -0
  79. package/dist/client/_nuxt/{B8E_5cfo.js → gOa3Yz9U.js} +1 -1
  80. package/dist/client/_nuxt/{BbzkbZ9e.js → i22b9gbM.js} +1 -1
  81. package/dist/client/_nuxt/{1EdnXNuB.js → oSUwI2cr.js} +1 -1
  82. package/dist/client/_nuxt/{g_GSZ1hr.js → u4bm_LMz.js} +1 -1
  83. package/dist/client/_nuxt/{A13Lx_ye.js → vocl-2a6.js} +1 -1
  84. package/dist/client/_nuxt/{CN6rGqjK.js → xfgw03QH.js} +1 -1
  85. package/dist/client/_nuxt/zchoCBdH.js +1 -0
  86. package/dist/client/index.html +81 -77
  87. package/dist/module.json +1 -1
  88. package/dist/module.mjs +25 -23
  89. package/dist/runtime/{nuxt → app}/components/Templates/Community/NuxtSeo.vue +1 -1
  90. package/dist/runtime/{nuxt → app}/composables/defineOgImage.js +1 -1
  91. package/dist/runtime/{nuxt → app}/composables/defineOgImageComponent.d.ts +1 -1
  92. package/dist/runtime/{nuxt → app}/composables/mock.d.ts +1 -1
  93. package/dist/runtime/{nuxt → app}/utils/plugins.js +1 -1
  94. package/dist/runtime/{nuxt → app}/utils.js +4 -26
  95. package/dist/runtime/{nitro → server}/og-image/chromium/renderer.js +1 -1
  96. package/dist/runtime/{nitro → server}/og-image/context.js +2 -2
  97. package/dist/runtime/{nitro → server}/og-image/instances.js +2 -2
  98. package/dist/runtime/{nitro → server}/og-image/satori/instances.js +4 -4
  99. package/dist/runtime/{nitro → server}/og-image/satori/plugins/unocss.js +1 -1
  100. package/dist/runtime/{nitro → server}/og-image/satori/renderer.js +16 -14
  101. package/dist/runtime/{nitro → server}/og-image/satori/transforms/emojis.js +1 -1
  102. package/dist/runtime/{nitro → server}/og-image/templates/html.js +1 -1
  103. package/dist/runtime/server/plugins/__zero-runtime/nuxt-content.d.ts +2 -0
  104. package/dist/runtime/{nitro → server}/plugins/__zero-runtime/nuxt-content.js +1 -1
  105. package/dist/runtime/server/plugins/nuxt-content.d.ts +2 -0
  106. package/dist/runtime/{nitro → server}/plugins/nuxt-content.js +1 -1
  107. package/dist/runtime/server/plugins/prerender.d.ts +2 -0
  108. package/dist/runtime/{nitro → server}/plugins/prerender.js +2 -2
  109. package/dist/runtime/{nitro → server}/routes/debug.json.d.ts +1 -0
  110. package/dist/runtime/{nitro → server}/routes/debug.json.js +4 -2
  111. package/dist/runtime/{nitro → server}/util/options.js +1 -1
  112. package/dist/runtime/{nitro → server}/util/plugins.d.ts +1 -1
  113. package/dist/runtime/{nitro → server}/util/plugins.js +19 -7
  114. package/dist/runtime/shared.d.ts +1 -0
  115. package/dist/runtime/shared.js +27 -0
  116. package/dist/runtime/types.d.ts +3 -1
  117. package/package.json +41 -38
  118. package/virtual.d.ts +30 -8
  119. package/dist/client/_nuxt/35JD59R_.js +0 -1
  120. package/dist/client/_nuxt/9xzcv9xf.js +0 -1
  121. package/dist/client/_nuxt/B-GI89LT.js +0 -1
  122. package/dist/client/_nuxt/BStEqDGx.js +0 -1
  123. package/dist/client/_nuxt/BT8b6B_-.js +0 -1
  124. package/dist/client/_nuxt/BTo9ix6S.js +0 -1
  125. package/dist/client/_nuxt/BeSffZBD.js +0 -1
  126. package/dist/client/_nuxt/Begb3drz.js +0 -1
  127. package/dist/client/_nuxt/C3t61SNw.js +0 -1
  128. package/dist/client/_nuxt/COtMjVi7.js +0 -1
  129. package/dist/client/_nuxt/C_OO3DVV.js +0 -1
  130. package/dist/client/_nuxt/Cn_j0ne6.js +0 -1
  131. package/dist/client/_nuxt/D5gt1ch3.js +0 -1
  132. package/dist/client/_nuxt/D6HQHXJE.js +0 -1
  133. package/dist/client/_nuxt/DIvA8ll9.js +0 -1
  134. package/dist/client/_nuxt/DQJjjPvk.js +0 -1
  135. package/dist/client/_nuxt/DWt6wkI-.js +0 -1
  136. package/dist/client/_nuxt/DanlQboj.js +0 -1
  137. package/dist/client/_nuxt/DnBisYsJ.js +0 -3826
  138. package/dist/client/_nuxt/Dt1_zKdO.js +0 -1
  139. package/dist/client/_nuxt/Jwd9j1ay.js +0 -1
  140. package/dist/client/_nuxt/NfFGm2lL.js +0 -1
  141. package/dist/client/_nuxt/S_yhxdK1.js +0 -1
  142. package/dist/client/_nuxt/builds/meta/4ac2b2ab-71b1-4d97-8de0-b465feb7eaab.json +0 -1
  143. package/dist/client/_nuxt/eCoydtrh.js +0 -1
  144. package/dist/client/_nuxt/error-404.D4k1dunI.css +0 -1
  145. package/dist/client/_nuxt/error-500.Q7NSr7sn.css +0 -1
  146. package/dist/client/_nuxt/keK8bHwS.js +0 -1
  147. package/dist/runtime/nitro/plugins/__zero-runtime/nuxt-content.d.ts +0 -2
  148. package/dist/runtime/nitro/plugins/nuxt-content.d.ts +0 -2
  149. package/dist/runtime/nitro/plugins/prerender.d.ts +0 -2
  150. /package/dist/runtime/{nuxt → app}/components/OgImage/OgImage.d.ts +0 -0
  151. /package/dist/runtime/{nuxt → app}/components/OgImage/OgImage.js +0 -0
  152. /package/dist/runtime/{nuxt → app}/components/OgImage/OgImageScreenshot.d.ts +0 -0
  153. /package/dist/runtime/{nuxt → app}/components/OgImage/OgImageScreenshot.js +0 -0
  154. /package/dist/runtime/{nuxt → app}/components/Templates/Community/BrandedLogo.vue +0 -0
  155. /package/dist/runtime/{nuxt → app}/components/Templates/Community/Frame.vue +0 -0
  156. /package/dist/runtime/{nuxt → app}/components/Templates/Community/Nuxt.vue +0 -0
  157. /package/dist/runtime/{nuxt → app}/components/Templates/Community/Pergel.vue +0 -0
  158. /package/dist/runtime/{nuxt → app}/components/Templates/Community/SimpleBlog.vue +0 -0
  159. /package/dist/runtime/{nuxt → app}/components/Templates/Community/UnJs.vue +0 -0
  160. /package/dist/runtime/{nuxt → app}/components/Templates/Community/Wave.vue +0 -0
  161. /package/dist/runtime/{nuxt → app}/components/Templates/Community/WithEmoji.vue +0 -0
  162. /package/dist/runtime/{nuxt → app}/composables/defineOgImage.d.ts +0 -0
  163. /package/dist/runtime/{nuxt → app}/composables/defineOgImageComponent.js +0 -0
  164. /package/dist/runtime/{nuxt → app}/composables/defineOgImageScreenshot.d.ts +0 -0
  165. /package/dist/runtime/{nuxt → app}/composables/defineOgImageScreenshot.js +0 -0
  166. /package/dist/runtime/{nuxt → app}/composables/mock.js +0 -0
  167. /package/dist/runtime/{nuxt → app}/plugins/__zero-runtime/og-image-canonical-urls.server.d.ts +0 -0
  168. /package/dist/runtime/{nuxt → app}/plugins/__zero-runtime/og-image-canonical-urls.server.js +0 -0
  169. /package/dist/runtime/{nuxt → app}/plugins/__zero-runtime/route-rule-og-image.server.d.ts +0 -0
  170. /package/dist/runtime/{nuxt → app}/plugins/__zero-runtime/route-rule-og-image.server.js +0 -0
  171. /package/dist/runtime/{nuxt → app}/plugins/og-image-canonical-urls.server.d.ts +0 -0
  172. /package/dist/runtime/{nuxt → app}/plugins/og-image-canonical-urls.server.js +0 -0
  173. /package/dist/runtime/{nuxt → app}/plugins/route-rule-og-image.server.d.ts +0 -0
  174. /package/dist/runtime/{nuxt → app}/plugins/route-rule-og-image.server.js +0 -0
  175. /package/dist/runtime/{nuxt → app}/utils/plugins.d.ts +0 -0
  176. /package/dist/runtime/{nuxt → app}/utils.d.ts +0 -0
  177. /package/dist/runtime/{nitro → server}/og-image/bindings/chromium/chrome-launcher.d.ts +0 -0
  178. /package/dist/runtime/{nitro → server}/og-image/bindings/chromium/chrome-launcher.js +0 -0
  179. /package/dist/runtime/{nitro → server}/og-image/bindings/chromium/on-demand.d.ts +0 -0
  180. /package/dist/runtime/{nitro → server}/og-image/bindings/chromium/on-demand.js +0 -0
  181. /package/dist/runtime/{nitro → server}/og-image/bindings/chromium/playwright.d.ts +0 -0
  182. /package/dist/runtime/{nitro → server}/og-image/bindings/chromium/playwright.js +0 -0
  183. /package/dist/runtime/{nitro → server}/og-image/bindings/css-inline/node.d.ts +0 -0
  184. /package/dist/runtime/{nitro → server}/og-image/bindings/css-inline/node.js +0 -0
  185. /package/dist/runtime/{nitro → server}/og-image/bindings/css-inline/wasm-fs.d.ts +0 -0
  186. /package/dist/runtime/{nitro → server}/og-image/bindings/css-inline/wasm-fs.js +0 -0
  187. /package/dist/runtime/{nitro → server}/og-image/bindings/css-inline/wasm.d.ts +0 -0
  188. /package/dist/runtime/{nitro → server}/og-image/bindings/css-inline/wasm.js +0 -0
  189. /package/dist/runtime/{nitro → server}/og-image/bindings/resvg/node.d.ts +0 -0
  190. /package/dist/runtime/{nitro → server}/og-image/bindings/resvg/node.js +0 -0
  191. /package/dist/runtime/{nitro → server}/og-image/bindings/resvg/wasm-fs.d.ts +0 -0
  192. /package/dist/runtime/{nitro → server}/og-image/bindings/resvg/wasm-fs.js +0 -0
  193. /package/dist/runtime/{nitro → server}/og-image/bindings/resvg/wasm.d.ts +0 -0
  194. /package/dist/runtime/{nitro → server}/og-image/bindings/resvg/wasm.js +0 -0
  195. /package/dist/runtime/{nitro → server}/og-image/bindings/satori/node.d.ts +0 -0
  196. /package/dist/runtime/{nitro → server}/og-image/bindings/satori/node.js +0 -0
  197. /package/dist/runtime/{nitro → server}/og-image/bindings/satori/wasm-fs.d.ts +0 -0
  198. /package/dist/runtime/{nitro → server}/og-image/bindings/satori/wasm-fs.js +0 -0
  199. /package/dist/runtime/{nitro → server}/og-image/bindings/satori/wasm.d.ts +0 -0
  200. /package/dist/runtime/{nitro → server}/og-image/bindings/satori/wasm.js +0 -0
  201. /package/dist/runtime/{nitro → server}/og-image/bindings/sharp/node.d.ts +0 -0
  202. /package/dist/runtime/{nitro → server}/og-image/bindings/sharp/node.js +0 -0
  203. /package/dist/runtime/{nitro → server}/og-image/cache/lru.d.ts +0 -0
  204. /package/dist/runtime/{nitro → server}/og-image/cache/lru.js +0 -0
  205. /package/dist/runtime/{nitro → server}/og-image/cache/mock.d.ts +0 -0
  206. /package/dist/runtime/{nitro → server}/og-image/cache/mock.js +0 -0
  207. /package/dist/runtime/{nitro → server}/og-image/chromium/renderer.d.ts +0 -0
  208. /package/dist/runtime/{nitro → server}/og-image/chromium/screenshot.d.ts +0 -0
  209. /package/dist/runtime/{nitro → server}/og-image/chromium/screenshot.js +0 -0
  210. /package/dist/runtime/{nitro → server}/og-image/context.d.ts +0 -0
  211. /package/dist/runtime/{nitro → server}/og-image/instances.d.ts +0 -0
  212. /package/dist/runtime/{nitro → server}/og-image/satori/font.d.ts +0 -0
  213. /package/dist/runtime/{nitro → server}/og-image/satori/font.js +0 -0
  214. /package/dist/runtime/{nitro → server}/og-image/satori/instances.d.ts +0 -0
  215. /package/dist/runtime/{nitro → server}/og-image/satori/plugins/classes.d.ts +0 -0
  216. /package/dist/runtime/{nitro → server}/og-image/satori/plugins/classes.js +0 -0
  217. /package/dist/runtime/{nitro → server}/og-image/satori/plugins/emojis.d.ts +0 -0
  218. /package/dist/runtime/{nitro → server}/og-image/satori/plugins/emojis.js +0 -0
  219. /package/dist/runtime/{nitro → server}/og-image/satori/plugins/encoding.d.ts +0 -0
  220. /package/dist/runtime/{nitro → server}/og-image/satori/plugins/encoding.js +0 -0
  221. /package/dist/runtime/{nitro → server}/og-image/satori/plugins/flex.d.ts +0 -0
  222. /package/dist/runtime/{nitro → server}/og-image/satori/plugins/flex.js +0 -0
  223. /package/dist/runtime/{nitro → server}/og-image/satori/plugins/imageSrc.d.ts +0 -0
  224. /package/dist/runtime/{nitro → server}/og-image/satori/plugins/imageSrc.js +0 -0
  225. /package/dist/runtime/{nitro → server}/og-image/satori/plugins/unocss.d.ts +0 -0
  226. /package/dist/runtime/{nitro → server}/og-image/satori/renderer.d.ts +0 -0
  227. /package/dist/runtime/{nitro → server}/og-image/satori/transforms/emojis.d.ts +0 -0
  228. /package/dist/runtime/{nitro → server}/og-image/satori/transforms/inlineCss.d.ts +0 -0
  229. /package/dist/runtime/{nitro → server}/og-image/satori/transforms/inlineCss.js +0 -0
  230. /package/dist/runtime/{nitro → server}/og-image/satori/utils.d.ts +0 -0
  231. /package/dist/runtime/{nitro → server}/og-image/satori/utils.js +0 -0
  232. /package/dist/runtime/{nitro → server}/og-image/satori/vnodes.d.ts +0 -0
  233. /package/dist/runtime/{nitro → server}/og-image/satori/vnodes.js +0 -0
  234. /package/dist/runtime/{nitro → server}/og-image/templates/html.d.ts +0 -0
  235. /package/dist/runtime/{nitro → server}/routes/__zero-runtime/font.d.ts +0 -0
  236. /package/dist/runtime/{nitro → server}/routes/__zero-runtime/font.js +0 -0
  237. /package/dist/runtime/{nitro → server}/routes/__zero-runtime/image.d.ts +0 -0
  238. /package/dist/runtime/{nitro → server}/routes/__zero-runtime/image.js +0 -0
  239. /package/dist/runtime/{nitro → server}/routes/font.d.ts +0 -0
  240. /package/dist/runtime/{nitro → server}/routes/font.js +0 -0
  241. /package/dist/runtime/{nitro → server}/routes/image.d.ts +0 -0
  242. /package/dist/runtime/{nitro → server}/routes/image.js +0 -0
  243. /package/dist/runtime/{nitro → server}/tsconfig.json +0 -0
  244. /package/dist/runtime/{nitro → server}/util/cache.d.ts +0 -0
  245. /package/dist/runtime/{nitro → server}/util/cache.js +0 -0
  246. /package/dist/runtime/{nitro → server}/util/encoding.d.ts +0 -0
  247. /package/dist/runtime/{nitro → server}/util/encoding.js +0 -0
  248. /package/dist/runtime/{nitro → server}/util/eventHandlers.d.ts +0 -0
  249. /package/dist/runtime/{nitro → server}/util/eventHandlers.js +0 -0
  250. /package/dist/runtime/{nitro → server}/util/kit.d.ts +0 -0
  251. /package/dist/runtime/{nitro → server}/util/kit.js +0 -0
  252. /package/dist/runtime/{nitro → server}/util/logger.d.ts +0 -0
  253. /package/dist/runtime/{nitro → server}/util/logger.js +0 -0
  254. /package/dist/runtime/{nitro → server}/util/options.d.ts +0 -0
  255. /package/dist/runtime/{nitro → server}/util/wasm.d.ts +0 -0
  256. /package/dist/runtime/{nitro → server}/util/wasm.js +0 -0
package/dist/module.mjs CHANGED
@@ -143,8 +143,8 @@ async function applyNitroPresetCompatibility(nitroConfig, options) {
143
143
  const { resolve } = options;
144
144
  const satoriEnabled = typeof options.compatibility?.satori !== "undefined" ? !!options.compatibility.satori : !!compatibility.satori;
145
145
  const chromiumEnabled = typeof options.compatibility?.chromium !== "undefined" ? !!options.compatibility.chromium : !!compatibility.chromium;
146
- nitroConfig.alias["#nuxt-og-image/renderers/satori"] = satoriEnabled ? resolve("./runtime/nitro/og-image/satori/renderer") : "unenv/runtime/mock/empty";
147
- nitroConfig.alias["#nuxt-og-image/renderers/chromium"] = chromiumEnabled ? resolve("./runtime/nitro/og-image/chromium/renderer") : "unenv/runtime/mock/empty";
146
+ nitroConfig.alias["#og-image/renderers/satori"] = satoriEnabled ? resolve("./runtime/server/og-image/satori/renderer") : "unenv/runtime/mock/empty";
147
+ nitroConfig.alias["#og-image/renderers/chromium"] = chromiumEnabled ? resolve("./runtime/server/og-image/chromium/renderer") : "unenv/runtime/mock/empty";
148
148
  const resolvedCompatibility = {};
149
149
  function applyBinding(key) {
150
150
  let binding = options.compatibility?.[key];
@@ -159,7 +159,7 @@ async function applyNitroPresetCompatibility(nitroConfig, options) {
159
159
  }
160
160
  resolvedCompatibility[key] = binding;
161
161
  return {
162
- [`#nuxt-og-image/bindings/${key}`]: binding === false ? "unenv/runtime/mock/empty" : resolve(`./runtime/nitro/og-image/bindings/${key}/${binding}`)
162
+ [`#og-image/bindings/${key}`]: binding === false ? "unenv/runtime/mock/empty" : resolve(`./runtime/server/og-image/bindings/${key}/${binding}`)
163
163
  };
164
164
  }
165
165
  nitroConfig.alias = defu(
@@ -176,7 +176,7 @@ async function applyNitroPresetCompatibility(nitroConfig, options) {
176
176
  }
177
177
  nitroConfig.rollupConfig = nitroConfig.rollupConfig || {};
178
178
  nitroConfig.wasm = defu(compatibility.wasm, nitroConfig.wasm);
179
- nitroConfig.virtual["#nuxt-og-image/compatibility"] = () => `export default ${JSON.stringify(resolvedCompatibility)}`;
179
+ nitroConfig.virtual["#og-image/compatibility"] = () => `export default ${JSON.stringify(resolvedCompatibility)}`;
180
180
  addTemplate({
181
181
  filename: "nuxt-og-image/compatibility.mjs",
182
182
  getContents() {
@@ -285,7 +285,7 @@ function setupDevToolsUI(options, resolve, nuxt = useNuxt()) {
285
285
  const rpc = extendServerRpc("nuxt-og-image", {});
286
286
  nuxt.hook("builder:watch", (e, path) => {
287
287
  path = relative(nuxt.options.srcDir, resolve(nuxt.options.srcDir, path));
288
- if ((e === "change" || e.includes("link")) && path.startsWith("pages")) {
288
+ if ((e === "change" || e.includes("link")) && (path.startsWith("pages") || path.startsWith("content"))) {
289
289
  rpc.broadcast.refreshRouteData(path).catch(() => {
290
290
  });
291
291
  }
@@ -563,7 +563,7 @@ const module = defineNuxtModule({
563
563
  if (config.enabled === false) {
564
564
  logger.debug("The module is disabled, skipping setup.");
565
565
  ["defineOgImage", "defineOgImageComponent", "defineOgImageScreenshot"].forEach((name2) => {
566
- addImports({ name: name2, from: resolve(`./runtime/nuxt/composables/mock`) });
566
+ addImports({ name: name2, from: resolve(`./runtime/app/composables/mock`) });
567
567
  });
568
568
  return;
569
569
  }
@@ -571,8 +571,8 @@ const module = defineNuxtModule({
571
571
  logger.warn("Nuxt OG Image is enabled but SSR is disabled.\n\nYou should enable SSR (`ssr: true`) or disable the module (`ogImage: { enabled: false }`).");
572
572
  return;
573
573
  }
574
- nuxt.options.alias["#nuxt-og-image-utils"] = resolve("./runtime/shared");
575
- nuxt.options.alias["#nuxt-og-image-cache"] = resolve("./runtime/nitro/og-image/cache/lru");
574
+ nuxt.options.alias["#og-image"] = resolve("./runtime");
575
+ nuxt.options.alias["#og-image-cache"] = resolve("./runtime/server/og-image/cache/lru");
576
576
  const preset = resolveNitroPreset(nuxt.options.nitro);
577
577
  const targetCompatibility = getPresetNitroPresetCompatibility(preset);
578
578
  if (config.zeroRuntime) {
@@ -585,7 +585,7 @@ const module = defineNuxtModule({
585
585
  });
586
586
  if (!nuxt.options.dev) {
587
587
  addBuildPlugin(TreeShakeComposablesPlugin, { server: true, client: true, build: true });
588
- nuxt.options.alias["#nuxt-og-image-cache"] = resolve("./runtime/nitro/og-image/cache/mock");
588
+ nuxt.options.alias["#og-image-cache"] = resolve("./runtime/server/og-image/cache/mock");
589
589
  }
590
590
  }
591
591
  let isUsingSharp = false;
@@ -652,7 +652,7 @@ const module = defineNuxtModule({
652
652
  });
653
653
  await installNuxtSiteConfig();
654
654
  if (hasNuxtModule("@nuxt/content")) {
655
- addServerPlugin(resolve("./runtime/nitro/plugins/nuxt-content"));
655
+ addServerPlugin(resolve("./runtime/server/plugins/nuxt-content"));
656
656
  }
657
657
  if (!config.fonts.length) {
658
658
  config.fonts = [
@@ -713,7 +713,7 @@ const module = defineNuxtModule({
713
713
  nuxt.options.nitro.serverAssets.push({ baseName: "nuxt-og-image:fonts", dir: serverFontsDir });
714
714
  }
715
715
  nuxt.options.experimental.componentIslands ||= true;
716
- const basePath = config.zeroRuntime ? "./runtime/nitro/routes/__zero-runtime" : "./runtime/nitro/routes";
716
+ const basePath = config.zeroRuntime ? "./runtime/server/routes/__zero-runtime" : "./runtime/server/routes";
717
717
  addServerHandler({
718
718
  lazy: true,
719
719
  route: "/__og-image__/font/**",
@@ -723,7 +723,7 @@ const module = defineNuxtModule({
723
723
  addServerHandler({
724
724
  lazy: true,
725
725
  route: "/__og-image__/debug.json",
726
- handler: resolve("./runtime/nitro/routes/debug.json")
726
+ handler: resolve("./runtime/server/routes/debug.json")
727
727
  });
728
728
  }
729
729
  addServerHandler({
@@ -740,13 +740,13 @@ const module = defineNuxtModule({
740
740
  ["defineOgImage", "defineOgImageComponent", "defineOgImageScreenshot"].forEach((name2) => {
741
741
  addImports({
742
742
  name: name2,
743
- from: resolve(`./runtime/nuxt/composables/${name2}`)
743
+ from: resolve(`./runtime/app/composables/${name2}`)
744
744
  });
745
745
  nuxt.options.optimization.treeShake.composables.client["nuxt-og-image"].push(name2);
746
746
  });
747
747
  if (!config.zeroRuntime || nuxt.options.dev) {
748
748
  await addComponentsDir({
749
- path: resolve("./runtime/nuxt/components/Templates/Community"),
749
+ path: resolve("./runtime/app/components/Templates/Community"),
750
750
  island: true
751
751
  // watch: true,
752
752
  });
@@ -758,11 +758,11 @@ const module = defineNuxtModule({
758
758
  ].forEach((name2) => {
759
759
  addComponent({
760
760
  name: name2,
761
- filePath: resolve(`./runtime/nuxt/components/OgImage/${name2}`),
761
+ filePath: resolve(`./runtime/app/components/OgImage/${name2}`),
762
762
  ...config.componentOptions
763
763
  });
764
764
  });
765
- const basePluginPath = `./runtime/nuxt/plugins${config.zeroRuntime ? "/__zero-runtime" : ""}`;
765
+ const basePluginPath = `./runtime/app/plugins${config.zeroRuntime ? "/__zero-runtime" : ""}`;
766
766
  addPlugin({ mode: "server", src: resolve(`${basePluginPath}/route-rule-og-image.server`) });
767
767
  addPlugin({ mode: "server", src: resolve(`${basePluginPath}/og-image-canonical-urls.server`) });
768
768
  const ogImageComponentCtx = { components: [] };
@@ -775,13 +775,13 @@ const module = defineNuxtModule({
775
775
  valid = true;
776
776
  }
777
777
  });
778
- if (component.filePath.includes(resolve("./runtime/nuxt/components/Templates")))
778
+ if (component.filePath.includes(resolve("./runtime/app/components/Templates")))
779
779
  valid = true;
780
780
  if (valid && fs.existsSync(component.filePath)) {
781
781
  component.island = true;
782
782
  component.mode = "server";
783
783
  let category = "app";
784
- if (component.filePath.includes(resolve("./runtime/nuxt/components/Templates/Community")))
784
+ if (component.filePath.includes(resolve("./runtime/app/components/Templates/Community")))
785
785
  category = "community";
786
786
  const componentFile = fs.readFileSync(component.filePath, "utf-8");
787
787
  const credits = componentFile.split("\n").find((line) => line.startsWith(" * @credits"))?.replace("* @credits", "").trim();
@@ -806,7 +806,7 @@ const module = defineNuxtModule({
806
806
  options: { mode: "server" }
807
807
  });
808
808
  nuxt.options.nitro.virtual = nuxt.options.nitro.virtual || {};
809
- nuxt.options.nitro.virtual["#nuxt-og-image/component-names.mjs"] = () => {
809
+ nuxt.options.nitro.virtual["#og-image-virtual/component-names.mjs"] = () => {
810
810
  return `export const componentNames = ${JSON.stringify(ogImageComponentCtx.components)}`;
811
811
  };
812
812
  let unoCssConfig = {};
@@ -816,7 +816,7 @@ const module = defineNuxtModule({
816
816
  nuxt.hook("unocss:config", (_unoCssConfig) => {
817
817
  unoCssConfig = { ..._unoCssConfig.theme };
818
818
  });
819
- nuxt.options.nitro.virtual["#nuxt-og-image/unocss-config.mjs"] = () => {
819
+ nuxt.options.nitro.virtual["#og-image-virtual/unocss-config.mjs"] = () => {
820
820
  return `export const theme = ${JSON.stringify(unoCssConfig)}`;
821
821
  };
822
822
  extendTypes("nuxt-og-image", ({ typesPath }) => {
@@ -841,12 +841,12 @@ declare module 'nitropack' {
841
841
  }
842
842
  }
843
843
 
844
- declare module '#nuxt-og-image/components' {
844
+ declare module '#og-image/components' {
845
845
  export interface OgImageComponents {
846
846
  ${componentImports}
847
847
  }
848
848
  }
849
- declare module '#nuxt-og-image/unocss-config' {
849
+ declare module '#og-image/unocss-config' {
850
850
  export type theme = any
851
851
  }
852
852
  `;
@@ -889,6 +889,8 @@ declare module '#nuxt-og-image/unocss-config' {
889
889
  fonts: normalisedFonts,
890
890
  hasNuxtIcon: hasNuxtModule("nuxt-icon") || hasNuxtModule("@nuxt/icon"),
891
891
  colorPreference,
892
+ hasNuxtContent: hasNuxtModule("@nuxt/content"),
893
+ strictNuxtContentPaths: config.strictNuxtContentPaths,
892
894
  // @ts-expect-error runtime type
893
895
  isNuxtContentDocumentDriven: config.strictNuxtContentPaths || !!nuxt.options.content?.documentDriven
894
896
  };
@@ -904,7 +906,7 @@ declare module '#nuxt-og-image/unocss-config' {
904
906
  await setupBuildHandler(config, resolve);
905
907
  }
906
908
  if (nuxt.options.build)
907
- addServerPlugin(resolve("./runtime/nitro/plugins/prerender"));
909
+ addServerPlugin(resolve("./runtime/server/plugins/prerender"));
908
910
  setupPrerenderHandler(config, resolve);
909
911
  }
910
912
  });
@@ -4,7 +4,7 @@
4
4
  */
5
5
 
6
6
  import { useSiteConfig } from '#imports'
7
- import { useOgImageRuntimeConfig } from '#nuxt-og-image-utils'
7
+ import { useOgImageRuntimeConfig } from '#og-image/shared'
8
8
  import { computed, defineComponent, h, resolveComponent } from 'vue'
9
9
 
10
10
  // convert to typescript props
@@ -1,7 +1,7 @@
1
1
  import { useNuxtApp, useRequestEvent, useRoute } from "#imports";
2
2
  import { defu } from "defu";
3
3
  import { appendHeader } from "h3";
4
- import { createNitroRouteRuleMatcher } from "../../nitro/util/kit.js";
4
+ import { createNitroRouteRuleMatcher } from "../../server/util/kit.js";
5
5
  import { getOgImagePath, separateProps, useOgImageRuntimeConfig } from "../../shared.js";
6
6
  import { createOgImageMeta, normaliseOptions } from "../utils.js";
7
7
  export function defineOgImage(_options = {}) {
@@ -1,3 +1,3 @@
1
- import type { OgImageComponents } from '#nuxt-og-image/components';
1
+ import type { OgImageComponents } from '#og-image/components';
2
2
  import type { ExtractComponentProps, OgImageOptions } from '../../types.js';
3
3
  export declare function defineOgImageComponent<T extends keyof OgImageComponents>(component: T, props?: Partial<ExtractComponentProps<OgImageComponents[T]>>, options?: OgImageOptions): void;
@@ -1,4 +1,4 @@
1
- import type { OgImageComponents } from '#nuxt-og-image/components';
1
+ import type { OgImageComponents } from '#og-image/components';
2
2
  import type { DefineOgImageInput, ExtractComponentProps, OgImageOptions, OgImagePageScreenshotOptions } from '../../types.js';
3
3
  export declare function defineOgImage(_options?: DefineOgImageInput): void;
4
4
  export declare function defineOgImageComponent<T extends keyof OgImageComponents>(component: T, props?: Partial<ExtractComponentProps<OgImageComponents[T]>>, options?: OgImageOptions): void;
@@ -4,7 +4,7 @@ import { parse, stringify } from "devalue";
4
4
  import { createRouter as createRadixRouter, toRouteMatcher } from "radix3";
5
5
  import { parseURL, withoutBase } from "ufo";
6
6
  import { toValue } from "vue";
7
- import { createOgImageMeta, normaliseOptions } from "../../nuxt/utils.js";
7
+ import { createOgImageMeta, normaliseOptions } from "../../app/utils.js";
8
8
  import { isInternalRoute, separateProps } from "../../pure.js";
9
9
  import { getOgImagePath, useOgImageRuntimeConfig } from "../../shared.js";
10
10
  export function ogImageCanonicalUrls(nuxtApp) {
@@ -1,10 +1,10 @@
1
1
  import { componentNames } from "#build/nuxt-og-image/components.mjs";
2
- import { unref, useServerHead } from "#imports";
3
- import { resolveUnrefHeadInput } from "@unhead/vue";
2
+ import { resolveUnrefHeadInput, useServerHead } from "@unhead/vue";
4
3
  import { defu } from "defu";
5
4
  import { stringify } from "devalue";
6
5
  import { withQuery } from "ufo";
7
- import { getExtension, separateProps } from "../shared.js";
6
+ import { unref } from "vue";
7
+ import { generateMeta, separateProps } from "../shared.js";
8
8
  export function createOgImageMeta(src, input, resolvedOptions, ssrContext) {
9
9
  const _input = separateProps(defu(input, ssrContext._ogImagePayload));
10
10
  let url = src || input.url || resolvedOptions.url;
@@ -12,29 +12,7 @@ export function createOgImageMeta(src, input, resolvedOptions, ssrContext) {
12
12
  return;
13
13
  if (input._query && Object.keys(input._query).length && url)
14
14
  url = withQuery(url, { _query: input._query });
15
- let urlExtension = getExtension(url) || resolvedOptions.extension;
16
- if (urlExtension === "jpg")
17
- urlExtension = "jpeg";
18
- const meta = [
19
- { property: "og:image", content: url },
20
- { property: "og:image:type", content: `image/${urlExtension}` },
21
- { name: "twitter:card", content: "summary_large_image" },
22
- // we don't need this but avoids issue when using useSeoMeta({ twitterImage })
23
- { name: "twitter:image", content: url },
24
- { name: "twitter:image:src", content: url }
25
- ];
26
- if (resolvedOptions.width) {
27
- meta.push({ property: "og:image:width", content: resolvedOptions.width });
28
- meta.push({ name: "twitter:image:width", content: resolvedOptions.width });
29
- }
30
- if (resolvedOptions.height) {
31
- meta.push({ property: "og:image:height", content: resolvedOptions.height });
32
- meta.push({ name: "twitter:image:height", content: resolvedOptions.height });
33
- }
34
- if (resolvedOptions.alt) {
35
- meta.push({ property: "og:image:alt", content: resolvedOptions.alt });
36
- meta.push({ name: "twitter:image:alt", content: resolvedOptions.alt });
37
- }
15
+ const meta = generateMeta(url, resolvedOptions);
38
16
  ssrContext._ogImageInstances = ssrContext._ogImageInstances || [];
39
17
  const script = [];
40
18
  if (src) {
@@ -1,4 +1,4 @@
1
- import { createBrowser } from "#nuxt-og-image/bindings/chromium";
1
+ import { createBrowser } from "#og-image/bindings/chromium";
2
2
  import { createError } from "h3";
3
3
  import { createScreenshot } from "./screenshot.js";
4
4
  const ChromiumRenderer = {
@@ -1,8 +1,8 @@
1
- import { htmlPayloadCache, prerenderOptionsCache } from "#nuxt-og-image-cache";
1
+ import { useNitroApp } from "#imports";
2
+ import { htmlPayloadCache, prerenderOptionsCache } from "#og-image-cache";
2
3
  import { defu } from "defu";
3
4
  import { parse } from "devalue";
4
5
  import { createError, getQuery } from "h3";
5
- import { useNitroApp } from "nitropack/runtime/app";
6
6
  import { hash } from "ohash";
7
7
  import { parseURL, withoutLeadingSlash, withoutTrailingSlash, withQuery } from "ufo";
8
8
  import { normalizeKey } from "unstorage";
@@ -1,10 +1,10 @@
1
1
  const satoriRendererInstance = { instance: void 0 };
2
2
  const chromiumRendererInstance = { instance: void 0 };
3
3
  export async function useSatoriRenderer() {
4
- satoriRendererInstance.instance = satoriRendererInstance.instance || await import("#nuxt-og-image/renderers/satori").then((m) => m.default);
4
+ satoriRendererInstance.instance = satoriRendererInstance.instance || await import("#og-image/renderers/satori").then((m) => m.default);
5
5
  return satoriRendererInstance.instance;
6
6
  }
7
7
  export async function useChromiumRenderer() {
8
- chromiumRendererInstance.instance = chromiumRendererInstance.instance || await import("#nuxt-og-image/renderers/chromium").then((m) => m.default);
8
+ chromiumRendererInstance.instance = chromiumRendererInstance.instance || await import("#og-image/renderers/chromium").then((m) => m.default);
9
9
  return chromiumRendererInstance.instance;
10
10
  }
@@ -3,21 +3,21 @@ const sharpInstance = { instance: void 0 };
3
3
  const resvgInstance = { instance: void 0 };
4
4
  const satoriInstance = { instance: void 0 };
5
5
  export async function useResvg() {
6
- resvgInstance.instance = resvgInstance.instance || await import("#nuxt-og-image/bindings/resvg").then((m) => m.default);
6
+ resvgInstance.instance = resvgInstance.instance || await import("#og-image/bindings/resvg").then((m) => m.default);
7
7
  await resvgInstance.instance.initWasmPromise;
8
8
  return resvgInstance.instance.Resvg;
9
9
  }
10
10
  export async function useSatori() {
11
- satoriInstance.instance = satoriInstance.instance || await import("#nuxt-og-image/bindings/satori").then((m) => m.default);
11
+ satoriInstance.instance = satoriInstance.instance || await import("#og-image/bindings/satori").then((m) => m.default);
12
12
  await satoriInstance.instance.initWasmPromise;
13
13
  return satoriInstance.instance.satori;
14
14
  }
15
15
  export async function useSharp() {
16
- sharpInstance.instance = sharpInstance.instance || await import("#nuxt-og-image/bindings/sharp").then((m) => m.default);
16
+ sharpInstance.instance = sharpInstance.instance || await import("#og-image/bindings/sharp").then((m) => m.default);
17
17
  return sharpInstance.instance;
18
18
  }
19
19
  export async function useCssInline() {
20
- cssInlineInstance.instance = cssInlineInstance.instance || await import("#nuxt-og-image/bindings/css-inline").then((m) => m.default);
20
+ cssInlineInstance.instance = cssInlineInstance.instance || await import("#og-image/bindings/css-inline").then((m) => m.default);
21
21
  await cssInlineInstance.instance.initWasmPromise;
22
22
  return cssInlineInstance.instance.cssInline;
23
23
  }
@@ -1,4 +1,4 @@
1
- import { theme } from "#nuxt-og-image/unocss-config.mjs";
1
+ import { theme } from "#og-image-virtual/unocss-config.mjs";
2
2
  import { createGenerator } from "@unocss/core";
3
3
  import presetWind from "@unocss/preset-wind";
4
4
  import { defineSatoriTransformer } from "../utils.js";
@@ -1,5 +1,5 @@
1
- import { theme } from "#nuxt-og-image/unocss-config.mjs";
2
- import { fontCache } from "#nuxt-og-image-cache";
1
+ import { fontCache } from "#og-image-cache";
2
+ import { theme } from "#og-image-virtual/unocss-config.mjs";
3
3
  import { defu } from "defu";
4
4
  import { normaliseFontInput, useOgImageRuntimeConfig } from "../../../shared.js";
5
5
  import { loadFont } from "./font.js";
@@ -11,19 +11,21 @@ async function resolveFonts(event) {
11
11
  const normalisedFonts = normaliseFontInput([...event.options.fonts || [], ...fonts]);
12
12
  const localFontPromises = [];
13
13
  const preloadedFonts = [];
14
- for (const font of normalisedFonts) {
15
- if (await fontCache.hasItem(font.cacheKey)) {
16
- font.data = await fontCache.getItemRaw(font.cacheKey);
17
- preloadedFonts.push(font);
18
- } else {
19
- if (!fontPromises[font.cacheKey]) {
20
- fontPromises[font.cacheKey] = loadFont(event, font).then(async (_font) => {
21
- if (_font?.data)
22
- await fontCache.setItemRaw(_font.cacheKey, _font.data);
23
- return _font;
24
- });
14
+ if (fontCache) {
15
+ for (const font of normalisedFonts) {
16
+ if (await fontCache.hasItem(font.cacheKey)) {
17
+ font.data = await fontCache.getItemRaw(font.cacheKey);
18
+ preloadedFonts.push(font);
19
+ } else {
20
+ if (!fontPromises[font.cacheKey]) {
21
+ fontPromises[font.cacheKey] = loadFont(event, font).then(async (_font) => {
22
+ if (_font?.data)
23
+ await fontCache?.setItemRaw(_font.cacheKey, _font.data);
24
+ return _font;
25
+ });
26
+ }
27
+ localFontPromises.push(fontPromises[font.cacheKey]);
25
28
  }
26
- localFontPromises.push(fontPromises[font.cacheKey]);
27
29
  }
28
30
  }
29
31
  const awaitedFonts = await Promise.all(localFontPromises);
@@ -1,4 +1,4 @@
1
- import { emojiCache } from "#nuxt-og-image-cache";
1
+ import { emojiCache } from "#og-image-cache";
2
2
  const charMap = {
3
3
  "2049": "exclamation-question-mark",
4
4
  "2122": "trade-mark",
@@ -1,4 +1,4 @@
1
- import { theme } from "#nuxt-og-image/unocss-config.mjs";
1
+ import { theme } from "#og-image-virtual/unocss-config.mjs";
2
2
  import { renderSSRHead } from "@unhead/ssr";
3
3
  import { createHeadCore } from "@unhead/vue";
4
4
  import { createError } from "h3";
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -1,4 +1,4 @@
1
- import { defineNitroPlugin } from "nitropack/dist/runtime/plugin";
1
+ import { defineNitroPlugin } from "#imports";
2
2
  import { nuxtContentPlugin } from "../../util/plugins.js";
3
3
  export default defineNitroPlugin((nitroApp) => {
4
4
  if (import.meta.dev || import.meta.prerender) {
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -1,4 +1,4 @@
1
- import { defineNitroPlugin } from "nitropack/dist/runtime/plugin";
1
+ import { defineNitroPlugin } from "#imports";
2
2
  import { nuxtContentPlugin } from "../util/plugins.js";
3
3
  export default defineNitroPlugin((nitroApp) => {
4
4
  nuxtContentPlugin(nitroApp);
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -1,5 +1,5 @@
1
- import { prerenderOptionsCache } from "#nuxt-og-image-cache";
2
- import { defineNitroPlugin } from "nitropack/dist/runtime/plugin";
1
+ import { defineNitroPlugin } from "#imports";
2
+ import { prerenderOptionsCache } from "#og-image-cache";
3
3
  import { parseURL } from "ufo";
4
4
  import { isInternalRoute } from "../../pure.js";
5
5
  import { extractAndNormaliseOgImageOptions, resolvePathCacheKey } from "../og-image/context.js";
@@ -1,4 +1,5 @@
1
1
  declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<{
2
+ siteConfigUrl: string;
2
3
  componentNames: any;
3
4
  runtimeConfig: import("../../types").OgImageRuntimeConfig;
4
5
  compatibility: any;
@@ -1,11 +1,13 @@
1
- import compatibility from "#nuxt-og-image/compatibility";
2
- import { componentNames } from "#nuxt-og-image/component-names.mjs";
1
+ import { useSiteConfig } from "#imports";
2
+ import compatibility from "#og-image/compatibility";
3
+ import { componentNames } from "#og-image-virtual/component-names.mjs";
3
4
  import { defineEventHandler, setHeader } from "h3";
4
5
  import { useOgImageRuntimeConfig } from "../../shared.js";
5
6
  export default defineEventHandler(async (e) => {
6
7
  setHeader(e, "Content-Type", "application/json");
7
8
  const runtimeConfig = useOgImageRuntimeConfig();
8
9
  return {
10
+ siteConfigUrl: useSiteConfig(e).url,
9
11
  componentNames,
10
12
  runtimeConfig,
11
13
  compatibility
@@ -1,4 +1,4 @@
1
- import { componentNames } from "#nuxt-og-image/component-names.mjs";
1
+ import { componentNames } from "#og-image-virtual/component-names.mjs";
2
2
  export function normaliseOptions(_options) {
3
3
  const options = { ..._options };
4
4
  if (!options)
@@ -1,2 +1,2 @@
1
- import type { NitroApp } from 'nitropack';
1
+ import type { NitroApp } from 'nitropack/runtime/app';
2
2
  export declare function nuxtContentPlugin(nitroApp: NitroApp): void;
@@ -1,19 +1,31 @@
1
1
  import { defu } from "defu";
2
2
  import { stringify } from "devalue";
3
- import { getOgImagePath, useOgImageRuntimeConfig } from "../../shared.js";
3
+ import { withQuery } from "ufo";
4
+ import { generateMeta, getOgImagePath, useOgImageRuntimeConfig } from "../../shared.js";
4
5
  import { normaliseOptions } from "./options.js";
5
6
  export function nuxtContentPlugin(nitroApp) {
6
- const { isNuxtContentDocumentDriven, defaults } = useOgImageRuntimeConfig();
7
+ const { isNuxtContentDocumentDriven, strictNuxtContentPaths, defaults } = useOgImageRuntimeConfig();
7
8
  nitroApp.hooks.hook("content:file:afterParse", async (content) => {
8
9
  if (content._draft || content._extension !== "md" || content._partial || content.indexable === false || content.index === false)
9
10
  return;
10
11
  let path = content.path;
11
- if (isNuxtContentDocumentDriven && content.path)
12
+ if (isNuxtContentDocumentDriven && !path)
12
13
  path = content._path;
13
- if (path && content.ogImage) {
14
- const ogImageConfig = typeof content.ogImage === "object" ? content.ogImage : {};
14
+ let shouldRenderOgImage = !!content.ogImage;
15
+ if (typeof content.ogImage === "undefined" && (strictNuxtContentPaths || typeof content.path !== "undefined")) {
16
+ shouldRenderOgImage = true;
17
+ }
18
+ if (path && shouldRenderOgImage) {
19
+ const ogImageConfig = (typeof content.ogImage === "object" ? content.ogImage : {}) || {};
15
20
  const optionsWithDefault = defu(ogImageConfig, defaults);
16
- const src = getOgImagePath(path, optionsWithDefault);
21
+ let src = optionsWithDefault.url || getOgImagePath(path, optionsWithDefault);
22
+ if (optionsWithDefault._query && Object.keys(optionsWithDefault._query).length)
23
+ src = withQuery(src, { _query: optionsWithDefault._query });
24
+ const meta = generateMeta(src, optionsWithDefault);
25
+ if (optionsWithDefault.url) {
26
+ content.head = defu({ meta }, content.head);
27
+ return content;
28
+ }
17
29
  const payload = {
18
30
  title: content.title,
19
31
  excerpt: content.description || content.excerpt,
@@ -48,7 +60,7 @@ export function nuxtContentPlugin(nitroApp) {
48
60
  { name: "twitter:image:height", content: optionsWithDefault.height },
49
61
  { name: "twitter:image:alt", content: optionsWithDefault.alt }
50
62
  ]
51
- });
63
+ }, content.head);
52
64
  }
53
65
  return content;
54
66
  });
@@ -1,4 +1,5 @@
1
1
  import type { OgImageOptions, OgImageRuntimeConfig } from './types.js';
2
2
  export * from './pure.js';
3
+ export declare function generateMeta(url: string, resolvedOptions: OgImageOptions): import("@unhead/schema").Meta<import("@unhead/schema").UserTagConfigWithoutInnerContent>[];
3
4
  export declare function getOgImagePath(pagePath: string, _options?: Partial<OgImageOptions>): string;
4
5
  export declare function useOgImageRuntimeConfig(): OgImageRuntimeConfig;
@@ -1,7 +1,34 @@
1
1
  import { useRuntimeConfig } from "#imports";
2
2
  import { defu } from "defu";
3
3
  import { joinURL } from "ufo";
4
+ import { getExtension } from "./pure.js";
4
5
  export * from "./pure.js";
6
+ export function generateMeta(url, resolvedOptions) {
7
+ let urlExtension = getExtension(url) || resolvedOptions.extension;
8
+ if (urlExtension === "jpg")
9
+ urlExtension = "jpeg";
10
+ const meta = [
11
+ { property: "og:image", content: url },
12
+ { property: "og:image:type", content: `image/${urlExtension}` },
13
+ { name: "twitter:card", content: "summary_large_image" },
14
+ // we don't need this but avoids issue when using useSeoMeta({ twitterImage })
15
+ { name: "twitter:image", content: url },
16
+ { name: "twitter:image:src", content: url }
17
+ ];
18
+ if (resolvedOptions.width) {
19
+ meta.push({ property: "og:image:width", content: resolvedOptions.width });
20
+ meta.push({ name: "twitter:image:width", content: resolvedOptions.width });
21
+ }
22
+ if (resolvedOptions.height) {
23
+ meta.push({ property: "og:image:height", content: resolvedOptions.height });
24
+ meta.push({ name: "twitter:image:height", content: resolvedOptions.height });
25
+ }
26
+ if (resolvedOptions.alt) {
27
+ meta.push({ property: "og:image:alt", content: resolvedOptions.alt });
28
+ meta.push({ name: "twitter:image:alt", content: resolvedOptions.alt });
29
+ }
30
+ return meta;
31
+ }
5
32
  export function getOgImagePath(pagePath, _options) {
6
33
  const baseURL = useRuntimeConfig().app.baseURL;
7
34
  const options = defu(_options, useOgImageRuntimeConfig().defaults);
@@ -1,4 +1,4 @@
1
- import type { OgImageComponents } from '#nuxt-og-image/components';
1
+ import type { OgImageComponents } from '#og-image/components';
2
2
  import type { ResvgRenderOptions } from '@resvg/resvg-js';
3
3
  import type { AllowedComponentProps, Component, ComponentCustomProps, VNodeProps } from '@vue/runtime-core';
4
4
  import type { H3Error, H3Event } from 'h3';
@@ -30,7 +30,9 @@ export interface OgImageRuntimeConfig {
30
30
  fonts: FontConfig[];
31
31
  hasNuxtIcon: boolean;
32
32
  colorPreference: 'light' | 'dark';
33
+ hasNuxtContent: boolean;
33
34
  isNuxtContentDocumentDriven: boolean;
35
+ strictNuxtContentPaths: boolean;
34
36
  zeroRuntime: boolean;
35
37
  }
36
38
  export interface OgImageComponent {