nuxt-og-image 4.0.2 → 4.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 (401) hide show
  1. package/LICENSE.md +9 -9
  2. package/README.md +75 -75
  3. package/dist/client/200.html +218 -217
  4. package/dist/client/404.html +218 -217
  5. package/dist/client/_nuxt/3kbuJQcV.js +1 -0
  6. package/dist/client/_nuxt/3xVqZejG.js +1 -0
  7. package/dist/client/_nuxt/4XBoJZZ4.js +3834 -0
  8. package/dist/client/_nuxt/{CrOfvjVs.js → 5LuOXUq_.js} +1 -1
  9. package/dist/client/_nuxt/727ZlQH0.js +1 -0
  10. package/dist/client/_nuxt/7O62HKoU.js +1 -0
  11. package/dist/client/_nuxt/9C6ErRqt.js +1 -0
  12. package/dist/client/_nuxt/B-DoSBHF.js +1 -0
  13. package/dist/client/_nuxt/{I3KQ5pkt.js → B-MI_7-y.js} +1 -1
  14. package/dist/client/_nuxt/B-k3dvlD.js +1 -0
  15. package/dist/client/_nuxt/B0XVJmRM.js +1 -0
  16. package/dist/client/_nuxt/B14Poo8t.js +1 -0
  17. package/dist/client/_nuxt/B1SYOhNW.js +1 -0
  18. package/dist/client/_nuxt/B1bQXN8T.js +1 -0
  19. package/dist/client/_nuxt/B2vK47Ag.js +1 -0
  20. package/dist/client/_nuxt/B3ZDOciz.js +1 -0
  21. package/dist/client/_nuxt/B430Bg39.js +1 -0
  22. package/dist/client/_nuxt/B48N-Iqd.js +1 -0
  23. package/dist/client/_nuxt/B5auBHZD.js +1 -0
  24. package/dist/client/_nuxt/B5lbUyaz.js +1 -0
  25. package/dist/client/_nuxt/B6W0miNI.js +1 -0
  26. package/dist/client/_nuxt/B7mTdjB0.js +1 -0
  27. package/dist/client/_nuxt/B9wLZaAG.js +1 -0
  28. package/dist/client/_nuxt/BAng5TT0.js +1 -0
  29. package/dist/client/_nuxt/{BzaEo2Du.js → BC5c_5Pe.js} +1 -1
  30. package/dist/client/_nuxt/BE9QQhgF.js +1 -0
  31. package/dist/client/_nuxt/BEhvmC7f.js +1 -0
  32. package/dist/client/_nuxt/{C8pgRvQH.js → BFOHcciG.js} +1 -1
  33. package/dist/client/_nuxt/BHOwM8T6.js +1 -0
  34. package/dist/client/_nuxt/BIEUsx6d.js +1 -0
  35. package/dist/client/_nuxt/BILxekzW.js +1 -0
  36. package/dist/client/_nuxt/BJ4Li9vH.js +1 -0
  37. package/dist/client/_nuxt/BJGe-b2p.js +1 -0
  38. package/dist/client/_nuxt/{C0hdQUNN.js → BMR_PYu6.js} +1 -1
  39. package/dist/client/_nuxt/{dwbxrGt_.js → BMYPR7BL.js} +1 -1
  40. package/dist/client/_nuxt/BMj5Y0dO.js +1 -0
  41. package/dist/client/_nuxt/{BTbGKmhu.js → BNHBcdi1.js} +1 -1
  42. package/dist/client/_nuxt/BNioltXt.js +1 -0
  43. package/dist/client/_nuxt/BPT9niGB.js +1 -0
  44. package/dist/client/_nuxt/BPhBrDlE.js +1 -0
  45. package/dist/client/_nuxt/{DWmkr0yC.js → BQoSv7ci.js} +1 -1
  46. package/dist/client/_nuxt/BQwtg7Y-.js +1 -0
  47. package/dist/client/_nuxt/BUEGK8hf.js +1 -0
  48. package/dist/client/_nuxt/BVUVsWT6.js +1 -0
  49. package/dist/client/_nuxt/BVr_1_27.js +1 -0
  50. package/dist/client/_nuxt/{D44NvAEk.js → BVz_zdnA.js} +1 -1
  51. package/dist/client/_nuxt/{CMz7PuSU.js → BX77sIaO.js} +1 -1
  52. package/dist/client/_nuxt/BXW1EomU.js +1 -0
  53. package/dist/client/_nuxt/{BD9UVO-6.js → BXWLJovA.js} +1 -1
  54. package/dist/client/_nuxt/BY-TUvya.js +1 -0
  55. package/dist/client/_nuxt/B_49xXYf.js +1 -0
  56. package/dist/client/_nuxt/BbSNqyBO.js +1 -0
  57. package/dist/client/_nuxt/BdxkyMLR.js +1 -0
  58. package/dist/client/_nuxt/Be6lgOlo.js +1 -0
  59. package/dist/client/_nuxt/BeQkCIfX.js +1 -0
  60. package/dist/client/_nuxt/BfCpw3nA.js +1 -0
  61. package/dist/client/_nuxt/{CpRrwcwt.js → BfivnA6A.js} +1 -1
  62. package/dist/client/_nuxt/Bg-kzb6g.js +1 -0
  63. package/dist/client/_nuxt/BgYniUM_.js +1 -0
  64. package/dist/client/_nuxt/{i5HCB2tm.js → BiFfXF7O.js} +1 -1
  65. package/dist/client/_nuxt/Bid6LQhH.js +1 -0
  66. package/dist/client/_nuxt/BjQB5zDj.js +1 -0
  67. package/dist/client/_nuxt/{D-RymO5g.js → BknIz3MU.js} +1 -1
  68. package/dist/client/_nuxt/{eACALr6E.js → Bl1h29GH.js} +1 -1
  69. package/dist/client/_nuxt/{CKfqYE_r.js → BlxRB_8X.js} +1 -1
  70. package/dist/client/_nuxt/BoXegm-a.js +1 -0
  71. package/dist/client/_nuxt/BpWG_bgh.js +1 -0
  72. package/dist/client/_nuxt/BsOYHjMa.js +1 -0
  73. package/dist/client/_nuxt/Bu5BbsvL.js +1 -0
  74. package/dist/client/_nuxt/{DNDvMORL.js → Bvotw-X0.js} +1 -1
  75. package/dist/client/_nuxt/Bw0wYZmb.js +1 -0
  76. package/dist/client/_nuxt/{DDUKAZWS.js → BwXTMy5W.js} +1 -1
  77. package/dist/client/_nuxt/C-nORZOA.js +1 -0
  78. package/dist/client/_nuxt/C-wny61x.js +1 -0
  79. package/dist/client/_nuxt/C0nbwVuJ.js +1 -0
  80. package/dist/client/_nuxt/C1XDQQGZ.js +1 -0
  81. package/dist/client/_nuxt/C1tVc3UG.js +1 -0
  82. package/dist/client/_nuxt/{DymQr0nX.js → C1w2a3ep.js} +1 -1
  83. package/dist/client/_nuxt/C30yJ1fx.js +1 -0
  84. package/dist/client/_nuxt/C39BiMTA.js +1 -0
  85. package/dist/client/_nuxt/C3FkfJm5.js +1 -0
  86. package/dist/client/_nuxt/C3mMm8J8.js +1 -0
  87. package/dist/client/_nuxt/C3t2pwGQ.js +1 -0
  88. package/dist/client/_nuxt/C5Y8tDhP.js +1 -0
  89. package/dist/client/_nuxt/C5wWYbrZ.js +1 -0
  90. package/dist/client/_nuxt/{sH2JAGjN.js → C6j12Q_x.js} +1 -1
  91. package/dist/client/_nuxt/C7L56vO4.js +1 -0
  92. package/dist/client/_nuxt/C7gG9l05.js +1 -0
  93. package/dist/client/_nuxt/CAQ2eGtk.js +1 -0
  94. package/dist/client/_nuxt/{CSoQzgif.js → CB0Krxn9.js} +1 -1
  95. package/dist/client/_nuxt/{Dwo6uFCY.js → CB2ApiWb.js} +1 -1
  96. package/dist/client/_nuxt/{B6E6ObS_.js → CG55hV0U.js} +2 -2
  97. package/dist/client/_nuxt/{CyEc264g.js → CGVVOGHx.js} +1 -1
  98. package/dist/client/_nuxt/CJaU5se_.js +1 -0
  99. package/dist/client/_nuxt/CKg9tqCS.js +1 -0
  100. package/dist/client/_nuxt/{CmWLV2bY.js → CM8KxXT1.js} +1 -1
  101. package/dist/client/_nuxt/CMt9yHYq.js +1 -0
  102. package/dist/client/_nuxt/COJ4H7py.js +1 -0
  103. package/dist/client/_nuxt/COK4E0Yg.js +1 -0
  104. package/dist/client/_nuxt/{CbUnruJU.js → COyJrUc7.js} +1 -1
  105. package/dist/client/_nuxt/CQ0soPOq.js +1 -0
  106. package/dist/client/_nuxt/CSHBycmS.js +1 -0
  107. package/dist/client/_nuxt/CSp6iqVD.js +1 -0
  108. package/dist/client/_nuxt/CUnW07Te.js +1 -0
  109. package/dist/client/_nuxt/{CIiI48o2.js → CVw76BM1.js} +1 -1
  110. package/dist/client/_nuxt/CYFUjXW1.js +1 -0
  111. package/dist/client/_nuxt/CZe0XNBd.js +1 -0
  112. package/dist/client/_nuxt/Cc5clBb7.js +1 -0
  113. package/dist/client/_nuxt/CcHjYXgz.js +1 -0
  114. package/dist/client/_nuxt/{Bv-mwDEg.js → CdO5JTpU.js} +1 -1
  115. package/dist/client/_nuxt/{j_FrBdja.js → Cf8iN4DR.js} +1 -1
  116. package/dist/client/_nuxt/{zchoCBdH.js → CfQXZHmo.js} +1 -1
  117. package/dist/client/_nuxt/Ci6OQyBP.js +1 -0
  118. package/dist/client/_nuxt/{RXHOmnpW.js → CkXjmgJE.js} +1 -1
  119. package/dist/client/_nuxt/{yA8e6OR-.js → ClGRhx96.js} +1 -1
  120. package/dist/client/_nuxt/CsSk9TLD.js +1 -0
  121. package/dist/client/_nuxt/{Cqv5JV-q.js → CwjWoCRV.js} +1 -1
  122. package/dist/client/_nuxt/{s1PdnzAn.js → CyIGOvEh.js} +1 -1
  123. package/dist/client/_nuxt/{CodIOJDM.js → Cz8P-rqG.js} +1 -1
  124. package/dist/client/_nuxt/Cza_XSSt.js +1 -0
  125. package/dist/client/_nuxt/CzouJOBO.js +1 -0
  126. package/dist/client/_nuxt/{ZJvK9Z2N.js → D4Tzg5kh.js} +1 -1
  127. package/dist/client/_nuxt/{CQWsIgnU.js → D4h5O-jR.js} +1 -1
  128. package/dist/client/_nuxt/D5pd2Owo.js +1 -0
  129. package/dist/client/_nuxt/D8mZ0lfy.js +1 -0
  130. package/dist/client/_nuxt/D9-PGadD.js +1 -0
  131. package/dist/client/_nuxt/D9R-vmeu.js +1 -0
  132. package/dist/client/_nuxt/DB_GagMm.js +1 -0
  133. package/dist/client/_nuxt/DCE3LsBG.js +1 -0
  134. package/dist/client/_nuxt/DDtJtuOZ.js +1 -0
  135. package/dist/client/_nuxt/DHo0CJ0O.js +1 -0
  136. package/dist/client/_nuxt/{Dzwn3p-3.js → DJlmqQ1C.js} +1 -1
  137. package/dist/client/_nuxt/DKOGybHv.js +1 -0
  138. package/dist/client/_nuxt/DKXYxT9g.js +1 -0
  139. package/dist/client/_nuxt/DKykz6zU.js +1 -0
  140. package/dist/client/_nuxt/DLVR-baX.js +1 -0
  141. package/dist/client/_nuxt/{CEjiMJLT.js → DNquZEk8.js} +1 -1
  142. package/dist/client/_nuxt/DPvbFsQx.js +1 -0
  143. package/dist/client/_nuxt/{NUI3YrRW.js → DQ1-QYvQ.js} +1 -1
  144. package/dist/client/_nuxt/{NKd-Y1zG.js → DREVFZK8.js} +1 -1
  145. package/dist/client/_nuxt/{IqKf4WGj.js → DRNBmV_Q.js} +1 -1
  146. package/dist/client/_nuxt/DRhBOlRY.js +1 -0
  147. package/dist/client/_nuxt/{DoiKbUTj.js → DWJ3fJO_.js} +1 -1
  148. package/dist/client/_nuxt/{2aygx1xg.js → DWedfzmr.js} +1 -1
  149. package/dist/client/_nuxt/{CmY0Y6Yh.js → DXbdFlpD.js} +1 -1
  150. package/dist/client/_nuxt/DYoNaHQp.js +1 -0
  151. package/dist/client/_nuxt/DYvnoCeB.js +1 -0
  152. package/dist/client/_nuxt/D_z4Izcz.js +1 -0
  153. package/dist/client/_nuxt/{CNRQ974Q.js → Dayu4EKP.js} +1 -1
  154. package/dist/client/_nuxt/Dbxjm_CC.js +1 -0
  155. package/dist/client/_nuxt/{B6NdQBKR.js → Deuh7S70.js} +1 -1
  156. package/dist/client/_nuxt/DfxzS6Rs.js +1 -0
  157. package/dist/client/_nuxt/DhUJRlN_.js +1 -0
  158. package/dist/client/_nuxt/Dhn9LcZ4.js +1 -0
  159. package/dist/client/_nuxt/Dj6nwHGl.js +1 -0
  160. package/dist/client/_nuxt/{ClV7KpCc.js → DjHMNizO.js} +1 -1
  161. package/dist/client/_nuxt/DkBy-JyN.js +1 -0
  162. package/dist/client/_nuxt/DkLiglaE.js +1 -0
  163. package/dist/client/_nuxt/Dmy2k9nq.js +1 -0
  164. package/dist/client/_nuxt/Drsz93k2.js +1 -0
  165. package/dist/client/_nuxt/DsBKuouk.js +1 -0
  166. package/dist/client/_nuxt/{DFW6HATB.js → DsWjAdsX.js} +1 -1
  167. package/dist/client/_nuxt/{BCzYJAay.js → Dsg_Bt_b.js} +1 -1
  168. package/dist/client/_nuxt/DtFQj3wx.js +1 -0
  169. package/dist/client/_nuxt/Du268qiB.js +1 -0
  170. package/dist/client/_nuxt/Du5NY7AG.js +1 -0
  171. package/dist/client/_nuxt/DxSadP1t.js +1 -0
  172. package/dist/client/_nuxt/HNqc6WRo.js +1 -0
  173. package/dist/client/_nuxt/HnGAYVZD.js +1 -0
  174. package/dist/client/_nuxt/HzYwdGDm.js +1 -0
  175. package/dist/client/_nuxt/{Dtn98rcr.js → IuBKFhSY.js} +1 -1
  176. package/dist/client/_nuxt/{DZQMDcrx.js → L9t79GZl.js} +1 -1
  177. package/dist/client/_nuxt/{DlYXzDlu.js → P4WzXJd0.js} +1 -1
  178. package/dist/client/_nuxt/{BGct0Hx7.js → QhoSD0DR.js} +1 -1
  179. package/dist/client/_nuxt/R900dpIa.js +1 -0
  180. package/dist/client/_nuxt/{BSHf-0eb.js → SKMF96pI.js} +1 -1
  181. package/dist/client/_nuxt/SPD3sf1n.js +1 -0
  182. package/dist/client/_nuxt/{D9Bn7OQI.js → T-Tgc4AT.js} +1 -1
  183. package/dist/client/_nuxt/{B8E-_56i.js → TU54ms6u.js} +1 -1
  184. package/dist/client/_nuxt/Tz6hzZYG.js +1 -0
  185. package/dist/client/_nuxt/UIAJJxZW.js +1 -0
  186. package/dist/client/_nuxt/UL5zprDm.js +1 -0
  187. package/dist/client/_nuxt/XBlWyCtg.js +1 -0
  188. package/dist/client/_nuxt/{L9-HYnaW.js → YJb9dmdj.js} +1 -1
  189. package/dist/client/_nuxt/{D2TqM893.js → Ye_uPAM8.js} +1 -1
  190. package/dist/client/_nuxt/{Bnbw1zOw.js → ahYVQIuB.js} +1 -1
  191. package/dist/client/_nuxt/{DJEtsjbi.js → ajMbGru0.js} +1 -1
  192. package/dist/client/_nuxt/atvbtKCR.js +1 -0
  193. package/dist/client/_nuxt/{dZn0vQkf.js → bCA53EVm.js} +1 -1
  194. package/dist/client/_nuxt/bN70gL4F.js +1 -0
  195. package/dist/client/_nuxt/builds/latest.json +1 -1
  196. package/dist/client/_nuxt/builds/meta/b9d6b3a8-8e55-4600-8c54-953432a44665.json +1 -0
  197. package/dist/client/_nuxt/{CkqQx3Va.js → cPjAOO0u.js} +1 -1
  198. package/dist/client/_nuxt/din0uRiO.js +1 -0
  199. package/dist/client/_nuxt/{FMvz1E70.js → e4jU7D2d.js} +1 -1
  200. package/dist/client/_nuxt/{BINKOAKH.js → eg146-Ew.js} +1 -1
  201. package/dist/client/_nuxt/{entry.CpT28PgB.css → entry.0k2jyAbH.css} +1 -1
  202. package/dist/client/_nuxt/error-404.CeB15F3i.css +1 -0
  203. package/dist/client/_nuxt/error-500.kWwbyTjN.css +1 -0
  204. package/dist/client/_nuxt/fje9CFhw.js +1 -0
  205. package/dist/client/_nuxt/ifBTmRxC.js +1 -0
  206. package/dist/client/_nuxt/{DfpIq38s.js → m2LEI-9-.js} +1 -1
  207. package/dist/client/_nuxt/m4gc_qpA.js +1 -0
  208. package/dist/client/_nuxt/m4uW47V2.js +1 -0
  209. package/dist/client/_nuxt/mebxcVVE.js +1 -0
  210. package/dist/client/_nuxt/nyqBNV6O.js +1 -0
  211. package/dist/client/_nuxt/qmhIZ77x.js +1 -0
  212. package/dist/client/_nuxt/{CY2R9RuK.js → qpfuy3xp.js} +1 -1
  213. package/dist/client/_nuxt/sacFqUAJ.js +1 -0
  214. package/dist/client/_nuxt/{Bcw97oti.js → sdHcTMYB.js} +1 -1
  215. package/dist/client/_nuxt/shcSOmrb.js +1 -0
  216. package/dist/client/_nuxt/{CQzXS8_C.js → w-ucz2PV.js} +1 -1
  217. package/dist/client/_nuxt/{BDjtpMT8.js → w8dY5SsB.js} +1 -1
  218. package/dist/client/_nuxt/wI6OXr6j.js +1 -0
  219. package/dist/client/_nuxt/xI-RfyKK.js +1 -0
  220. package/dist/client/_nuxt/{CpWBKVjh.js → xW4inM5L.js} +1 -1
  221. package/dist/client/_nuxt/ySlJ1b_l.js +1 -0
  222. package/dist/client/_nuxt/{hdsyEllQ.js → zocC4JxJ.js} +1 -1
  223. package/dist/client/index.html +218 -217
  224. package/dist/content.cjs +20 -0
  225. package/dist/content.d.cts +35 -0
  226. package/dist/content.d.mts +35 -0
  227. package/dist/content.d.ts +35 -0
  228. package/dist/content.mjs +17 -0
  229. package/dist/module.cjs +944 -4
  230. package/dist/module.d.cts +108 -0
  231. package/dist/module.d.mts +1 -1
  232. package/dist/module.d.ts +1 -1
  233. package/dist/module.json +1 -1
  234. package/dist/module.mjs +37 -18
  235. package/dist/runtime/app/components/Templates/Community/BrandedLogo.vue +29 -29
  236. package/dist/runtime/app/components/Templates/Community/Frame.vue +64 -64
  237. package/dist/runtime/app/components/Templates/Community/Nuxt.vue +185 -185
  238. package/dist/runtime/app/components/Templates/Community/NuxtSeo.vue +137 -137
  239. package/dist/runtime/app/components/Templates/Community/Pergel.vue +103 -103
  240. package/dist/runtime/app/components/Templates/Community/SimpleBlog.vue +35 -35
  241. package/dist/runtime/app/components/Templates/Community/UnJs.vue +108 -108
  242. package/dist/runtime/app/components/Templates/Community/Wave.vue +34 -34
  243. package/dist/runtime/app/components/Templates/Community/WithEmoji.vue +28 -28
  244. package/dist/runtime/logger.d.ts +1 -1
  245. package/dist/runtime/pure.js +15 -4
  246. package/dist/runtime/server/og-image/satori/plugins/imageSrc.js +5 -2
  247. package/dist/runtime/server/og-image/satori/renderer.d.ts +1 -1
  248. package/dist/runtime/server/og-image/satori/renderer.js +10 -3
  249. package/dist/runtime/server/og-image/templates/html.js +3 -3
  250. package/dist/runtime/server/tsconfig.json +3 -3
  251. package/dist/runtime/server/util/logger.d.ts +1 -1
  252. package/dist/runtime/types.d.ts +2 -3
  253. package/package.json +31 -33
  254. package/virtual.d.ts +71 -71
  255. package/dist/client/_nuxt/-ALZ4IvE.js +0 -1
  256. package/dist/client/_nuxt/2pWuV6-S.js +0 -1
  257. package/dist/client/_nuxt/5Vw9JATd.js +0 -1
  258. package/dist/client/_nuxt/6RUVFG9U.js +0 -1
  259. package/dist/client/_nuxt/8Uu6eIa-.js +0 -1
  260. package/dist/client/_nuxt/B1rsb5QC.js +0 -1
  261. package/dist/client/_nuxt/B2bjgU-v.js +0 -1
  262. package/dist/client/_nuxt/B2uSYIFn.js +0 -1
  263. package/dist/client/_nuxt/B3Z_eaxm.js +0 -1
  264. package/dist/client/_nuxt/B4_rEpOs.js +0 -1
  265. package/dist/client/_nuxt/B5L7zzq-.js +0 -1
  266. package/dist/client/_nuxt/B74Y8nHz.js +0 -1
  267. package/dist/client/_nuxt/B9Vj0mJK.js +0 -1
  268. package/dist/client/_nuxt/BA1ndEPy.js +0 -1
  269. package/dist/client/_nuxt/BCawSwWi.js +0 -1
  270. package/dist/client/_nuxt/BIguuW30.js +0 -1
  271. package/dist/client/_nuxt/BJGgnGWZ.js +0 -1
  272. package/dist/client/_nuxt/BJNXdUBN.js +0 -1
  273. package/dist/client/_nuxt/BKbjiiqg.js +0 -1
  274. package/dist/client/_nuxt/BMwgFBEQ.js +0 -1
  275. package/dist/client/_nuxt/BN40hmum.js +0 -1
  276. package/dist/client/_nuxt/BNxDCkIA.js +0 -1
  277. package/dist/client/_nuxt/BSPpinrx.js +0 -1
  278. package/dist/client/_nuxt/BWkuYGGO.js +0 -1
  279. package/dist/client/_nuxt/BWslPs4p.js +0 -1
  280. package/dist/client/_nuxt/BYqZ7etr.js +0 -1
  281. package/dist/client/_nuxt/BZ3P6AVf.js +0 -1
  282. package/dist/client/_nuxt/BZRbnyjI.js +0 -1
  283. package/dist/client/_nuxt/B_R80ZlN.js +0 -1
  284. package/dist/client/_nuxt/BaLI2h1d.js +0 -1
  285. package/dist/client/_nuxt/BbalPOsb.js +0 -1
  286. package/dist/client/_nuxt/BbccZ3y2.js +0 -1
  287. package/dist/client/_nuxt/Bdprqoiu.js +0 -1
  288. package/dist/client/_nuxt/BgqZeg96.js +0 -1
  289. package/dist/client/_nuxt/BhC5s0V7.js +0 -1
  290. package/dist/client/_nuxt/BhsLqr-4.js +0 -1
  291. package/dist/client/_nuxt/BjXeLqNd.js +0 -1
  292. package/dist/client/_nuxt/Bjs2cL5p.js +0 -1
  293. package/dist/client/_nuxt/BkG9CdHo.js +0 -1
  294. package/dist/client/_nuxt/Bmb0A568.js +0 -1
  295. package/dist/client/_nuxt/BnfnAR_u.js +0 -1
  296. package/dist/client/_nuxt/BoZcIFWd.js +0 -1
  297. package/dist/client/_nuxt/BqtQrzRp.js +0 -1
  298. package/dist/client/_nuxt/BrbOHqWv.js +0 -1
  299. package/dist/client/_nuxt/Bv_sPlCv.js +0 -1
  300. package/dist/client/_nuxt/BwpQXVS2.js +0 -1
  301. package/dist/client/_nuxt/ByY1Guvr.js +0 -1
  302. package/dist/client/_nuxt/BzAMEn9Z.js +0 -1
  303. package/dist/client/_nuxt/BzwtH5UL.js +0 -1
  304. package/dist/client/_nuxt/C30t_gpS.js +0 -1
  305. package/dist/client/_nuxt/C4Ro8ZjH.js +0 -1
  306. package/dist/client/_nuxt/C5-9kuJc.js +0 -1
  307. package/dist/client/_nuxt/CBzZD_Xh.js +0 -1
  308. package/dist/client/_nuxt/CGXjegLJ.js +0 -1
  309. package/dist/client/_nuxt/CI15r38m.js +0 -1
  310. package/dist/client/_nuxt/CIxipgmy.js +0 -1
  311. package/dist/client/_nuxt/CJxt7p29.js +0 -1
  312. package/dist/client/_nuxt/CK56Z9cH.js +0 -1
  313. package/dist/client/_nuxt/CK7S-5jS.js +0 -1
  314. package/dist/client/_nuxt/CLmbwNS9.js +0 -1
  315. package/dist/client/_nuxt/CM4fc1WH.js +0 -1
  316. package/dist/client/_nuxt/CMOi41r9.js +0 -1
  317. package/dist/client/_nuxt/CMnybHwx.js +0 -1
  318. package/dist/client/_nuxt/CNXuF1yM.js +0 -1
  319. package/dist/client/_nuxt/CQO4gZEw.js +0 -1
  320. package/dist/client/_nuxt/CVESyXxo.js +0 -1
  321. package/dist/client/_nuxt/CWJejSyX.js +0 -1
  322. package/dist/client/_nuxt/CXmV_HiI.js +0 -1
  323. package/dist/client/_nuxt/C_wU0A-3.js +0 -3834
  324. package/dist/client/_nuxt/CcPoRNJz.js +0 -1
  325. package/dist/client/_nuxt/CcSEeikT.js +0 -1
  326. package/dist/client/_nuxt/CeZwWGti.js +0 -1
  327. package/dist/client/_nuxt/ChDww4um.js +0 -1
  328. package/dist/client/_nuxt/Ci-La1BS.js +0 -1
  329. package/dist/client/_nuxt/CnsmiicP.js +0 -1
  330. package/dist/client/_nuxt/CuIYtGag.js +0 -1
  331. package/dist/client/_nuxt/Cv3cJnDV.js +0 -1
  332. package/dist/client/_nuxt/CwIbMU3B.js +0 -1
  333. package/dist/client/_nuxt/Cztwc-HH.js +0 -1
  334. package/dist/client/_nuxt/D2O4HAMr.js +0 -1
  335. package/dist/client/_nuxt/D7v6OrNy.js +0 -1
  336. package/dist/client/_nuxt/D8nBeWSR.js +0 -1
  337. package/dist/client/_nuxt/DA0ESIWO.js +0 -1
  338. package/dist/client/_nuxt/DCcCncrU.js +0 -1
  339. package/dist/client/_nuxt/DES0gjzB.js +0 -1
  340. package/dist/client/_nuxt/DFIOpqzz.js +0 -1
  341. package/dist/client/_nuxt/DFQ4Xr-4.js +0 -1
  342. package/dist/client/_nuxt/DH4N8IuU.js +0 -1
  343. package/dist/client/_nuxt/DIt9OTko.js +0 -1
  344. package/dist/client/_nuxt/DL4Dju3v.js +0 -1
  345. package/dist/client/_nuxt/DNgb01dh.js +0 -1
  346. package/dist/client/_nuxt/DOAn35dn.js +0 -1
  347. package/dist/client/_nuxt/DPTZissz.js +0 -1
  348. package/dist/client/_nuxt/DQxx3LPD.js +0 -1
  349. package/dist/client/_nuxt/DRhUEtVu.js +0 -1
  350. package/dist/client/_nuxt/DUdzsfxe.js +0 -1
  351. package/dist/client/_nuxt/DVWcdiGS.js +0 -1
  352. package/dist/client/_nuxt/DWMP3yrW.js +0 -1
  353. package/dist/client/_nuxt/DZ4hUExO.js +0 -1
  354. package/dist/client/_nuxt/Db-JQHi3.js +0 -1
  355. package/dist/client/_nuxt/DdAYiE08.js +0 -1
  356. package/dist/client/_nuxt/DepYB8Ml.js +0 -1
  357. package/dist/client/_nuxt/DhG9BCpW.js +0 -1
  358. package/dist/client/_nuxt/DhRVplvY.js +0 -1
  359. package/dist/client/_nuxt/DhqJCFIX.js +0 -1
  360. package/dist/client/_nuxt/Dk1rBueR.js +0 -1
  361. package/dist/client/_nuxt/DkpUthgY.js +0 -1
  362. package/dist/client/_nuxt/DmF4-xLG.js +0 -1
  363. package/dist/client/_nuxt/DmZ-uG0V.js +0 -1
  364. package/dist/client/_nuxt/Dnfm4U7b.js +0 -1
  365. package/dist/client/_nuxt/DnyWjya5.js +0 -1
  366. package/dist/client/_nuxt/DqpEK-75.js +0 -1
  367. package/dist/client/_nuxt/DsCg8CPl.js +0 -1
  368. package/dist/client/_nuxt/DvA-6Bhw.js +0 -1
  369. package/dist/client/_nuxt/DvQyZZSe.js +0 -1
  370. package/dist/client/_nuxt/DwU8c_yx.js +0 -1
  371. package/dist/client/_nuxt/DzaHHFTY.js +0 -1
  372. package/dist/client/_nuxt/EZUUsui8.js +0 -1
  373. package/dist/client/_nuxt/F89DG-fP.js +0 -1
  374. package/dist/client/_nuxt/HNM5thJl.js +0 -1
  375. package/dist/client/_nuxt/IBB5Tl9j.js +0 -1
  376. package/dist/client/_nuxt/KUYRHWK4.js +0 -1
  377. package/dist/client/_nuxt/Kxp7UmFj.js +0 -1
  378. package/dist/client/_nuxt/Lp17StYA.js +0 -1
  379. package/dist/client/_nuxt/NgWrSVUg.js +0 -1
  380. package/dist/client/_nuxt/W2lx4xae.js +0 -1
  381. package/dist/client/_nuxt/XF954dHc.js +0 -1
  382. package/dist/client/_nuxt/YurBl9Qv.js +0 -1
  383. package/dist/client/_nuxt/aeT0-ak7.js +0 -1
  384. package/dist/client/_nuxt/bGS5FTDY.js +0 -1
  385. package/dist/client/_nuxt/builds/meta/a938c56b-6345-454a-9e52-026adcc92670.json +0 -1
  386. package/dist/client/_nuxt/error-404.DNn2eSPw.css +0 -1
  387. package/dist/client/_nuxt/error-500.B_Aslu6N.css +0 -1
  388. package/dist/client/_nuxt/gOa3Yz9U.js +0 -1
  389. package/dist/client/_nuxt/i22b9gbM.js +0 -1
  390. package/dist/client/_nuxt/mLcCfA0-.js +0 -1
  391. package/dist/client/_nuxt/plSVBvJQ.js +0 -1
  392. package/dist/client/_nuxt/rf8nNrOk.js +0 -1
  393. package/dist/client/_nuxt/u4bm_LMz.js +0 -1
  394. package/dist/client/_nuxt/vocl-2a6.js +0 -1
  395. package/dist/client/_nuxt/w1el_4yc.js +0 -1
  396. package/dist/client/_nuxt/xfgw03QH.js +0 -1
  397. package/dist/client/_nuxt/yLioyJ2E.js +0 -1
  398. /package/dist/runtime/assets/{Inter-400.ttf.base64 → Inter-normal-400.ttf.base64} +0 -0
  399. /package/dist/runtime/assets/{Inter-700.ttf.base64 → Inter-normal-700.ttf.base64} +0 -0
  400. /package/dist/runtime/server/plugins/{nuxt-content.d.ts → nuxt-content-v2.d.ts} +0 -0
  401. /package/dist/runtime/server/plugins/{nuxt-content.js → nuxt-content-v2.js} +0 -0
@@ -0,0 +1,108 @@
1
+ import * as _nuxt_schema from '@nuxt/schema';
2
+ import { AddComponentOptions } from '@nuxt/kit';
3
+ import { ResvgRenderOptions } from '@resvg/resvg-js';
4
+ import { SatoriOptions } from 'satori';
5
+ import { SharpOptions } from 'sharp';
6
+ import { OgImageOptions, InputFontConfig, CompatibilityFlagEnvOverrides, OgImageComponent } from '../dist/runtime/types.js';
7
+
8
+ interface ModuleOptions {
9
+ /**
10
+ * Whether the og:image images should be generated.
11
+ *
12
+ * @default true
13
+ */
14
+ enabled: boolean;
15
+ /**
16
+ * Default data used within the payload to generate the OG Image.
17
+ *
18
+ * You can use this to change the default template, image sizing and more.
19
+ *
20
+ * @default { component: 'NuxtSeo', width: 1200, height: 630, cache: true, cacheTtl: 24 * 60 * 60 * 1000 }
21
+ */
22
+ defaults: OgImageOptions;
23
+ /**
24
+ * Fonts to use when rendering the og:image.
25
+ *
26
+ * @example ['Roboto:400', 'Roboto:700', { path: 'path/to/font.ttf', weight: 400, name: 'MyFont' }]
27
+ */
28
+ fonts: InputFontConfig[];
29
+ /**
30
+ * Options to pass to satori.
31
+ *
32
+ * @see https://github.com/vercel/satori/blob/main/src/satori.ts#L18
33
+ */
34
+ satoriOptions?: Partial<SatoriOptions>;
35
+ /**
36
+ * Options to pass to resvg.
37
+ *
38
+ * @see https://github.com/yisibl/resvg-js/blob/main/wasm/index.d.ts#L39
39
+ */
40
+ resvgOptions?: Partial<ResvgRenderOptions>;
41
+ /**
42
+ * Options to pass to sharp.
43
+ *
44
+ * @see https://sharp.pixelplumbing.com/api-constructor
45
+ */
46
+ sharpOptions?: true | Partial<SharpOptions>;
47
+ /**
48
+ * Enables debug logs and a debug endpoint.
49
+ *
50
+ * @false false
51
+ */
52
+ debug: boolean;
53
+ /**
54
+ * Options to pass to the <OgImage> and <OgImageScreenshot> component.
55
+ */
56
+ componentOptions?: Pick<AddComponentOptions, 'global'>;
57
+ /**
58
+ * Modify the cache behavior.
59
+ *
60
+ * Passing a boolean will enable or disable the runtime cache with the default options.
61
+ *
62
+ * Providing a record will allow you to configure the runtime cache fully.
63
+ *
64
+ * @default true
65
+ * @see https://nitro.unjs.io/guide/storage#mountpoints
66
+ * @example { driver: 'redis', host: 'localhost', port: 6379, password: 'password' }
67
+ */
68
+ runtimeCacheStorage: boolean | (Record<string, any> & {
69
+ driver: string;
70
+ });
71
+ /**
72
+ * Extra component directories that should be used to resolve components.
73
+ *
74
+ * @default ['OgImage', 'OgImageTemplate']
75
+ */
76
+ componentDirs: string[];
77
+ /**
78
+ * Manually modify the compatibility.
79
+ */
80
+ compatibility?: CompatibilityFlagEnvOverrides;
81
+ /**
82
+ * Use an alternative host for downloading Google Fonts. This is used to support China where Google Fonts is blocked.
83
+ *
84
+ * When `true` is set will use `fonts.font.im`, otherwise will use a string as the host.
85
+ */
86
+ googleFontMirror?: true | string;
87
+ /**
88
+ * Only allow the prerendering and dev runtimes to generate images.
89
+ */
90
+ zeroRuntime?: boolean;
91
+ /**
92
+ * Enable when your nuxt/content files match your pages.
93
+ *
94
+ * This will automatically map the `ogImage` frontmatter key to the correct path.
95
+ *
96
+ * This is similar behavior to using `nuxt/content` with `documentDriven: true`.
97
+ */
98
+ strictNuxtContentPaths?: boolean;
99
+ }
100
+ interface ModuleHooks {
101
+ 'nuxt-og-image:components': (ctx: {
102
+ components: OgImageComponent[];
103
+ }) => Promise<void> | void;
104
+ 'nuxt-og-image:runtime-config': (config: ModuleOptions) => Promise<void> | void;
105
+ }
106
+ declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
107
+
108
+ export { type ModuleHooks, type ModuleOptions, _default as default };
package/dist/module.d.mts CHANGED
@@ -95,7 +95,7 @@ interface ModuleOptions {
95
95
  *
96
96
  * This is similar behavior to using `nuxt/content` with `documentDriven: true`.
97
97
  */
98
- strictNuxtContentPaths: boolean;
98
+ strictNuxtContentPaths?: boolean;
99
99
  }
100
100
  interface ModuleHooks {
101
101
  'nuxt-og-image:components': (ctx: {
package/dist/module.d.ts CHANGED
@@ -95,7 +95,7 @@ interface ModuleOptions {
95
95
  *
96
96
  * This is similar behavior to using `nuxt/content` with `documentDriven: true`.
97
97
  */
98
- strictNuxtContentPaths: boolean;
98
+ strictNuxtContentPaths?: boolean;
99
99
  }
100
100
  interface ModuleHooks {
101
101
  'nuxt-og-image:components': (ctx: {
package/dist/module.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "bridge": false
6
6
  },
7
7
  "configKey": "ogImage",
8
- "version": "4.0.1",
8
+ "version": "4.0.3",
9
9
  "builder": {
10
10
  "@nuxt/module-builder": "0.8.4",
11
11
  "unbuild": "2.0.0"
package/dist/module.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as fs from 'node:fs';
2
2
  import { existsSync } from 'node:fs';
3
3
  import { readFile, writeFile } from 'node:fs/promises';
4
- import { useNuxt, tryResolveModule, addTemplate, resolvePath, loadNuxtModuleInstance, createResolver, defineNuxtModule, addImports, addBuildPlugin, hasNuxtModule, addServerPlugin, addServerHandler, addComponentsDir, addComponent, addPlugin } from '@nuxt/kit';
4
+ import { useNuxt, tryResolveModule, addTemplate, resolvePath, loadNuxtModuleInstance, createResolver, defineNuxtModule, addImports, addBuildPlugin, hasNuxtModule, hasNuxtModuleCompatibility, addServerPlugin, addServerHandler, addComponentsDir, addComponent, addPlugin } from '@nuxt/kit';
5
5
  import { defu } from 'defu';
6
6
  import { installNuxtSiteConfig } from 'nuxt-site-config/kit';
7
7
  import { hash } from 'ohash';
@@ -456,17 +456,27 @@ function isNuxtGenerate(nuxt = useNuxt()) {
456
456
  function normaliseFontInput(fonts) {
457
457
  return fonts.map((f) => {
458
458
  if (typeof f === "string") {
459
- const [name, weight] = f.split(":");
459
+ const vals = f.split(":");
460
+ const includesStyle = vals.length === 3;
461
+ let name, weight, style;
462
+ if (includesStyle) {
463
+ name = vals[0];
464
+ style = vals[1];
465
+ weight = vals[2];
466
+ } else {
467
+ name = vals[0];
468
+ weight = vals[1];
469
+ }
460
470
  return {
461
471
  cacheKey: f,
462
472
  name,
463
473
  weight: weight || 400,
464
- style: "normal",
474
+ style: style || "normal",
465
475
  path: void 0
466
476
  };
467
477
  }
468
478
  return {
469
- cacheKey: f.key || `${f.name}:${f.weight}`,
479
+ cacheKey: f.key || `${f.name}:${f.style}:${f.weight}`,
470
480
  style: "normal",
471
481
  weight: 400,
472
482
  ...f
@@ -489,12 +499,12 @@ async function checkPlaywrightDependency() {
489
499
  return !!await tryResolveModule("playwright");
490
500
  }
491
501
  async function downloadFont(font, storage, mirror) {
492
- const { name, weight } = font;
493
- const key = `${name}-${weight}.ttf.base64`;
502
+ const { name, weight, style } = font;
503
+ const key = `${name}-${style}-${weight}.ttf.base64`;
494
504
  if (await storage.hasItem(key))
495
505
  return true;
496
506
  const host = typeof mirror === "undefined" ? "fonts.googleapis.com" : mirror === true ? "fonts.font.im" : mirror;
497
- const css = await $fetch(`https://${host}/css2?family=${name}:wght@${weight}`, {
507
+ const css = await $fetch(`https://${host}/css2?family=${name}:${style === "ital" ? `ital,wght@1,${weight}` : `wght@${weight}`}`, {
498
508
  timeout: 10 * 1e3,
499
509
  // 10 second timeout
500
510
  headers: {
@@ -561,6 +571,7 @@ const module = defineNuxtModule({
561
571
  }
562
572
  nuxt.options.alias["#og-image"] = resolve("./runtime");
563
573
  nuxt.options.alias["#og-image-cache"] = resolve("./runtime/server/og-image/cache/lru");
574
+ nuxt.options.alias["#nuxt-og-image-utils"] = resolve("./runtime/shared");
564
575
  const preset = resolveNitroPreset(nuxt.options.nitro);
565
576
  const targetCompatibility = getPresetNitroPresetCompatibility(preset);
566
577
  if (config.zeroRuntime) {
@@ -639,13 +650,20 @@ const module = defineNuxtModule({
639
650
  }
640
651
  });
641
652
  await installNuxtSiteConfig();
642
- if (hasNuxtModule("@nuxt/content")) {
653
+ const usingNuxtContent = hasNuxtModule("@nuxt/content");
654
+ const isNuxtContentV3 = usingNuxtContent && await hasNuxtModuleCompatibility("@nuxt/content", "^3");
655
+ const isNuxtContentV2 = usingNuxtContent && await hasNuxtModuleCompatibility("@nuxt/content", "^2");
656
+ if (isNuxtContentV3) {
657
+ if (typeof config.strictNuxtContentPaths !== "undefined") {
658
+ logger.warn("The `strictNuxtContentPaths` option is deprecated and has no effect in Nuxt Content v3.");
659
+ }
660
+ } else if (isNuxtContentV2) {
643
661
  addServerPlugin(resolve("./runtime/server/plugins/nuxt-content"));
644
662
  }
645
663
  if (!config.fonts.length) {
646
664
  config.fonts = [
647
- { name: "Inter", weight: 400, path: resolve("./runtime/assets/Inter-400.ttf.base64"), absolutePath: true },
648
- { name: "Inter", weight: 700, path: resolve("./runtime/assets/Inter-700.ttf.base64"), absolutePath: true }
665
+ { name: "Inter", weight: 400, path: resolve("./runtime/assets/Inter-normal-400.ttf.base64"), absolutePath: true },
666
+ { name: "Inter", weight: 700, path: resolve("./runtime/assets/Inter-normal-700.ttf.base64"), absolutePath: true }
649
667
  ];
650
668
  }
651
669
  let publicDirAbs = nuxt.options.dir.public;
@@ -659,32 +677,34 @@ const module = defineNuxtModule({
659
677
  })
660
678
  });
661
679
  config.fonts = (await Promise.all(normaliseFontInput(config.fonts).map(async (f) => {
680
+ const fontKey = `${f.name}:${f.style}:${f.weight}`;
681
+ const fontFileBase = fontKey.replaceAll(":", "-");
662
682
  if (!f.key && !f.path) {
663
683
  if (preset === "stackblitz") {
664
- logger.warn(`The ${f.name}:${f.weight} font was skipped because remote fonts are not available in StackBlitz, please use a local font.`);
684
+ logger.warn(`The ${fontKey} font was skipped because remote fonts are not available in StackBlitz, please use a local font.`);
665
685
  return false;
666
686
  }
667
687
  if (await downloadFont(f, fontStorage, config.googleFontMirror)) {
668
- f.key = `nuxt-og-image:fonts:${f.name}-${f.weight}.ttf.base64`;
688
+ f.key = `nuxt-og-image:fonts:${fontFileBase}.ttf.base64`;
669
689
  } else {
670
- logger.warn(`Failed to download font ${f.name}:${f.weight}. You may be offline or behind a firewall blocking Google. Consider setting \`googleFontMirror: true\`.`);
690
+ logger.warn(`Failed to download font ${fontKey}. You may be offline or behind a firewall blocking Google. Consider setting \`googleFontMirror: true\`.`);
671
691
  return false;
672
692
  }
673
693
  } else if (f.path) {
674
694
  const extension = basename(f.path.replace(".base64", "")).split(".").pop();
675
695
  if (!["woff", "ttf", "otf"].includes(extension)) {
676
- logger.warn(`The ${f.name}:${f.weight} font was skipped because the file extension ${extension} is not supported. Only woff, ttf and otf are supported.`);
696
+ logger.warn(`The ${fontKey} font was skipped because the file extension ${extension} is not supported. Only woff, ttf and otf are supported.`);
677
697
  return false;
678
698
  }
679
699
  if (!f.absolutePath)
680
700
  f.path = resolve(publicDirAbs, withoutLeadingSlash(f.path));
681
701
  if (!existsSync(f.path)) {
682
- logger.warn(`The ${f.name}:${f.weight} font was skipped because the file does not exist at path ${f.path}.`);
702
+ logger.warn(`The ${fontKey} font was skipped because the file does not exist at path ${f.path}.`);
683
703
  return false;
684
704
  }
685
705
  const fontData = await readFile(f.path, f.path.endsWith(".base64") ? "utf-8" : "base64");
686
- f.key = `nuxt-og-image:fonts:${f.name}-${f.weight}.${extension}.base64`;
687
- await fontStorage.setItem(`${f.name}-${f.weight}.${extension}.base64`, fontData);
706
+ f.key = `nuxt-og-image:fonts:${fontFileBase}.${extension}.base64`;
707
+ await fontStorage.setItem(`${fontFileBase}.${extension}.base64`, fontData);
688
708
  delete f.path;
689
709
  delete f.absolutePath;
690
710
  }
@@ -881,7 +901,6 @@ declare module '#og-image/unocss-config' {
881
901
  fonts: normalisedFonts,
882
902
  hasNuxtIcon: hasNuxtModule("nuxt-icon") || hasNuxtModule("@nuxt/icon"),
883
903
  colorPreference,
884
- hasNuxtContent: hasNuxtModule("@nuxt/content"),
885
904
  strictNuxtContentPaths: config.strictNuxtContentPaths,
886
905
  // @ts-expect-error runtime type
887
906
  isNuxtContentDocumentDriven: config.strictNuxtContentPaths || !!nuxt.options.content?.documentDriven
@@ -1,29 +1,29 @@
1
- <script setup lang="ts">
2
- /**
3
- * @credits Full Stack Heroes <https://fullstackheroes.com/>
4
- */
5
-
6
- withDefaults(defineProps<{
7
- title?: string
8
- logo?: string
9
- }>(), {
10
- title: 'title',
11
- logo: 'https://nuxt.com/assets/design-kit/logo-white.png',
12
- })
13
- </script>
14
-
15
- <template>
16
- <div
17
- :style="{ backgroundImage: 'linear-gradient(to right, #24243e, #302b63, #0f0c29)' }"
18
- class="h-full w-full flex items-start justify-start"
19
- >
20
- <div class="flex items-start justify-start h-full">
21
- <div class="flex flex-col justify-between w-full h-full p-20">
22
- <img :src="logo" height="50">
23
- <h1 class="text-[60px] text-white font-bold text-left">
24
- {{ title }}
25
- </h1>
26
- </div>
27
- </div>
28
- </div>
29
- </template>
1
+ <script setup lang="ts">
2
+ /**
3
+ * @credits Full Stack Heroes <https://fullstackheroes.com/>
4
+ */
5
+
6
+ withDefaults(defineProps<{
7
+ title?: string
8
+ logo?: string
9
+ }>(), {
10
+ title: 'title',
11
+ logo: 'https://nuxt.com/assets/design-kit/logo-white.png',
12
+ })
13
+ </script>
14
+
15
+ <template>
16
+ <div
17
+ :style="{ backgroundImage: 'linear-gradient(to right, #24243e, #302b63, #0f0c29)' }"
18
+ class="h-full w-full flex items-start justify-start"
19
+ >
20
+ <div class="flex items-start justify-start h-full">
21
+ <div class="flex flex-col justify-between w-full h-full p-20">
22
+ <img :src="logo" height="50">
23
+ <h1 class="text-[60px] text-white font-bold text-left">
24
+ {{ title }}
25
+ </h1>
26
+ </div>
27
+ </div>
28
+ </div>
29
+ </template>
@@ -1,64 +1,64 @@
1
- <script setup lang="ts">
2
- /**
3
- * @credits @arashsheyda <https://github.com/arashsheyda>
4
- */
5
-
6
- withDefaults(defineProps<{
7
- title?: string
8
- description?: string
9
- bg?: string
10
- icon?: string
11
- logo?: string
12
- image?: string
13
- username?: string
14
- socials?: { name: string, icon: string }[]
15
- }>(), {
16
- bg: 'linear-gradient(to bottom right, #171717, #131313)',
17
- })
18
- </script>
19
-
20
- <template>
21
- <div
22
- class="relative h-full w-full flex items-center justify-center bg-neutral-900 text-white border-2 border-white"
23
- :style="{ backgroundImage: bg }"
24
- >
25
- <div
26
- v-if="image"
27
- class="absolute inset-0 w-full h-full bg-center opacity-10"
28
- :style="{ backgroundImage: `url(${image})` }"
29
- />
30
- <div class="flex flex-col items-center text-center">
31
- <h1 class="flex gap-4 text-7xl font-bold">
32
- <Icon
33
- v-if="icon"
34
- :name="icon"
35
- />
36
- {{ title }}
37
- </h1>
38
- <p class="text-2xl max-w-3xl">
39
- {{ description }}
40
- </p>
41
- </div>
42
-
43
- <img
44
- v-if="logo"
45
- :src="logo"
46
- class="absolute bottom-0 left-0 p-5"
47
- style="height: 125px; width: 153px;"
48
- >
49
- <div class="absolute bottom-5 right-5 flex gap-4">
50
- <div
51
- v-if="username"
52
- class="absolute bottom-12 right-8 font-bold"
53
- >
54
- {{ username }}
55
- </div>
56
- <Icon
57
- v-for="social of socials"
58
- :key="social.name"
59
- :name="social.icon!"
60
- class="w-7 h-7"
61
- />
62
- </div>
63
- </div>
64
- </template>
1
+ <script setup lang="ts">
2
+ /**
3
+ * @credits @arashsheyda <https://github.com/arashsheyda>
4
+ */
5
+
6
+ withDefaults(defineProps<{
7
+ title?: string
8
+ description?: string
9
+ bg?: string
10
+ icon?: string
11
+ logo?: string
12
+ image?: string
13
+ username?: string
14
+ socials?: { name: string, icon: string }[]
15
+ }>(), {
16
+ bg: 'linear-gradient(to bottom right, #171717, #131313)',
17
+ })
18
+ </script>
19
+
20
+ <template>
21
+ <div
22
+ class="relative h-full w-full flex items-center justify-center bg-neutral-900 text-white border-2 border-white"
23
+ :style="{ backgroundImage: bg }"
24
+ >
25
+ <div
26
+ v-if="image"
27
+ class="absolute inset-0 w-full h-full bg-center opacity-10"
28
+ :style="{ backgroundImage: `url(${image})` }"
29
+ />
30
+ <div class="flex flex-col items-center text-center">
31
+ <h1 class="flex gap-4 text-7xl font-bold">
32
+ <Icon
33
+ v-if="icon"
34
+ :name="icon"
35
+ />
36
+ {{ title }}
37
+ </h1>
38
+ <p class="text-2xl max-w-3xl">
39
+ {{ description }}
40
+ </p>
41
+ </div>
42
+
43
+ <img
44
+ v-if="logo"
45
+ :src="logo"
46
+ class="absolute bottom-0 left-0 p-5"
47
+ style="height: 125px; width: 153px;"
48
+ >
49
+ <div class="absolute bottom-5 right-5 flex gap-4">
50
+ <div
51
+ v-if="username"
52
+ class="absolute bottom-12 right-8 font-bold"
53
+ >
54
+ {{ username }}
55
+ </div>
56
+ <Icon
57
+ v-for="social of socials"
58
+ :key="social.name"
59
+ :name="social.icon!"
60
+ class="w-7 h-7"
61
+ />
62
+ </div>
63
+ </div>
64
+ </template>