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.
- package/LICENSE.md +9 -9
- package/README.md +75 -75
- package/dist/client/200.html +218 -217
- package/dist/client/404.html +218 -217
- package/dist/client/_nuxt/3kbuJQcV.js +1 -0
- package/dist/client/_nuxt/3xVqZejG.js +1 -0
- package/dist/client/_nuxt/4XBoJZZ4.js +3834 -0
- package/dist/client/_nuxt/{CrOfvjVs.js → 5LuOXUq_.js} +1 -1
- package/dist/client/_nuxt/727ZlQH0.js +1 -0
- package/dist/client/_nuxt/7O62HKoU.js +1 -0
- package/dist/client/_nuxt/9C6ErRqt.js +1 -0
- package/dist/client/_nuxt/B-DoSBHF.js +1 -0
- package/dist/client/_nuxt/{I3KQ5pkt.js → B-MI_7-y.js} +1 -1
- package/dist/client/_nuxt/B-k3dvlD.js +1 -0
- package/dist/client/_nuxt/B0XVJmRM.js +1 -0
- package/dist/client/_nuxt/B14Poo8t.js +1 -0
- package/dist/client/_nuxt/B1SYOhNW.js +1 -0
- package/dist/client/_nuxt/B1bQXN8T.js +1 -0
- package/dist/client/_nuxt/B2vK47Ag.js +1 -0
- package/dist/client/_nuxt/B3ZDOciz.js +1 -0
- package/dist/client/_nuxt/B430Bg39.js +1 -0
- package/dist/client/_nuxt/B48N-Iqd.js +1 -0
- package/dist/client/_nuxt/B5auBHZD.js +1 -0
- package/dist/client/_nuxt/B5lbUyaz.js +1 -0
- package/dist/client/_nuxt/B6W0miNI.js +1 -0
- package/dist/client/_nuxt/B7mTdjB0.js +1 -0
- package/dist/client/_nuxt/B9wLZaAG.js +1 -0
- package/dist/client/_nuxt/BAng5TT0.js +1 -0
- package/dist/client/_nuxt/{BzaEo2Du.js → BC5c_5Pe.js} +1 -1
- package/dist/client/_nuxt/BE9QQhgF.js +1 -0
- package/dist/client/_nuxt/BEhvmC7f.js +1 -0
- package/dist/client/_nuxt/{C8pgRvQH.js → BFOHcciG.js} +1 -1
- package/dist/client/_nuxt/BHOwM8T6.js +1 -0
- package/dist/client/_nuxt/BIEUsx6d.js +1 -0
- package/dist/client/_nuxt/BILxekzW.js +1 -0
- package/dist/client/_nuxt/BJ4Li9vH.js +1 -0
- package/dist/client/_nuxt/BJGe-b2p.js +1 -0
- package/dist/client/_nuxt/{C0hdQUNN.js → BMR_PYu6.js} +1 -1
- package/dist/client/_nuxt/{dwbxrGt_.js → BMYPR7BL.js} +1 -1
- package/dist/client/_nuxt/BMj5Y0dO.js +1 -0
- package/dist/client/_nuxt/{BTbGKmhu.js → BNHBcdi1.js} +1 -1
- package/dist/client/_nuxt/BNioltXt.js +1 -0
- package/dist/client/_nuxt/BPT9niGB.js +1 -0
- package/dist/client/_nuxt/BPhBrDlE.js +1 -0
- package/dist/client/_nuxt/{DWmkr0yC.js → BQoSv7ci.js} +1 -1
- package/dist/client/_nuxt/BQwtg7Y-.js +1 -0
- package/dist/client/_nuxt/BUEGK8hf.js +1 -0
- package/dist/client/_nuxt/BVUVsWT6.js +1 -0
- package/dist/client/_nuxt/BVr_1_27.js +1 -0
- package/dist/client/_nuxt/{D44NvAEk.js → BVz_zdnA.js} +1 -1
- package/dist/client/_nuxt/{CMz7PuSU.js → BX77sIaO.js} +1 -1
- package/dist/client/_nuxt/BXW1EomU.js +1 -0
- package/dist/client/_nuxt/{BD9UVO-6.js → BXWLJovA.js} +1 -1
- package/dist/client/_nuxt/BY-TUvya.js +1 -0
- package/dist/client/_nuxt/B_49xXYf.js +1 -0
- package/dist/client/_nuxt/BbSNqyBO.js +1 -0
- package/dist/client/_nuxt/BdxkyMLR.js +1 -0
- package/dist/client/_nuxt/Be6lgOlo.js +1 -0
- package/dist/client/_nuxt/BeQkCIfX.js +1 -0
- package/dist/client/_nuxt/BfCpw3nA.js +1 -0
- package/dist/client/_nuxt/{CpRrwcwt.js → BfivnA6A.js} +1 -1
- package/dist/client/_nuxt/Bg-kzb6g.js +1 -0
- package/dist/client/_nuxt/BgYniUM_.js +1 -0
- package/dist/client/_nuxt/{i5HCB2tm.js → BiFfXF7O.js} +1 -1
- package/dist/client/_nuxt/Bid6LQhH.js +1 -0
- package/dist/client/_nuxt/BjQB5zDj.js +1 -0
- package/dist/client/_nuxt/{D-RymO5g.js → BknIz3MU.js} +1 -1
- package/dist/client/_nuxt/{eACALr6E.js → Bl1h29GH.js} +1 -1
- package/dist/client/_nuxt/{CKfqYE_r.js → BlxRB_8X.js} +1 -1
- package/dist/client/_nuxt/BoXegm-a.js +1 -0
- package/dist/client/_nuxt/BpWG_bgh.js +1 -0
- package/dist/client/_nuxt/BsOYHjMa.js +1 -0
- package/dist/client/_nuxt/Bu5BbsvL.js +1 -0
- package/dist/client/_nuxt/{DNDvMORL.js → Bvotw-X0.js} +1 -1
- package/dist/client/_nuxt/Bw0wYZmb.js +1 -0
- package/dist/client/_nuxt/{DDUKAZWS.js → BwXTMy5W.js} +1 -1
- package/dist/client/_nuxt/C-nORZOA.js +1 -0
- package/dist/client/_nuxt/C-wny61x.js +1 -0
- package/dist/client/_nuxt/C0nbwVuJ.js +1 -0
- package/dist/client/_nuxt/C1XDQQGZ.js +1 -0
- package/dist/client/_nuxt/C1tVc3UG.js +1 -0
- package/dist/client/_nuxt/{DymQr0nX.js → C1w2a3ep.js} +1 -1
- package/dist/client/_nuxt/C30yJ1fx.js +1 -0
- package/dist/client/_nuxt/C39BiMTA.js +1 -0
- package/dist/client/_nuxt/C3FkfJm5.js +1 -0
- package/dist/client/_nuxt/C3mMm8J8.js +1 -0
- package/dist/client/_nuxt/C3t2pwGQ.js +1 -0
- package/dist/client/_nuxt/C5Y8tDhP.js +1 -0
- package/dist/client/_nuxt/C5wWYbrZ.js +1 -0
- package/dist/client/_nuxt/{sH2JAGjN.js → C6j12Q_x.js} +1 -1
- package/dist/client/_nuxt/C7L56vO4.js +1 -0
- package/dist/client/_nuxt/C7gG9l05.js +1 -0
- package/dist/client/_nuxt/CAQ2eGtk.js +1 -0
- package/dist/client/_nuxt/{CSoQzgif.js → CB0Krxn9.js} +1 -1
- package/dist/client/_nuxt/{Dwo6uFCY.js → CB2ApiWb.js} +1 -1
- package/dist/client/_nuxt/{B6E6ObS_.js → CG55hV0U.js} +2 -2
- package/dist/client/_nuxt/{CyEc264g.js → CGVVOGHx.js} +1 -1
- package/dist/client/_nuxt/CJaU5se_.js +1 -0
- package/dist/client/_nuxt/CKg9tqCS.js +1 -0
- package/dist/client/_nuxt/{CmWLV2bY.js → CM8KxXT1.js} +1 -1
- package/dist/client/_nuxt/CMt9yHYq.js +1 -0
- package/dist/client/_nuxt/COJ4H7py.js +1 -0
- package/dist/client/_nuxt/COK4E0Yg.js +1 -0
- package/dist/client/_nuxt/{CbUnruJU.js → COyJrUc7.js} +1 -1
- package/dist/client/_nuxt/CQ0soPOq.js +1 -0
- package/dist/client/_nuxt/CSHBycmS.js +1 -0
- package/dist/client/_nuxt/CSp6iqVD.js +1 -0
- package/dist/client/_nuxt/CUnW07Te.js +1 -0
- package/dist/client/_nuxt/{CIiI48o2.js → CVw76BM1.js} +1 -1
- package/dist/client/_nuxt/CYFUjXW1.js +1 -0
- package/dist/client/_nuxt/CZe0XNBd.js +1 -0
- package/dist/client/_nuxt/Cc5clBb7.js +1 -0
- package/dist/client/_nuxt/CcHjYXgz.js +1 -0
- package/dist/client/_nuxt/{Bv-mwDEg.js → CdO5JTpU.js} +1 -1
- package/dist/client/_nuxt/{j_FrBdja.js → Cf8iN4DR.js} +1 -1
- package/dist/client/_nuxt/{zchoCBdH.js → CfQXZHmo.js} +1 -1
- package/dist/client/_nuxt/Ci6OQyBP.js +1 -0
- package/dist/client/_nuxt/{RXHOmnpW.js → CkXjmgJE.js} +1 -1
- package/dist/client/_nuxt/{yA8e6OR-.js → ClGRhx96.js} +1 -1
- package/dist/client/_nuxt/CsSk9TLD.js +1 -0
- package/dist/client/_nuxt/{Cqv5JV-q.js → CwjWoCRV.js} +1 -1
- package/dist/client/_nuxt/{s1PdnzAn.js → CyIGOvEh.js} +1 -1
- package/dist/client/_nuxt/{CodIOJDM.js → Cz8P-rqG.js} +1 -1
- package/dist/client/_nuxt/Cza_XSSt.js +1 -0
- package/dist/client/_nuxt/CzouJOBO.js +1 -0
- package/dist/client/_nuxt/{ZJvK9Z2N.js → D4Tzg5kh.js} +1 -1
- package/dist/client/_nuxt/{CQWsIgnU.js → D4h5O-jR.js} +1 -1
- package/dist/client/_nuxt/D5pd2Owo.js +1 -0
- package/dist/client/_nuxt/D8mZ0lfy.js +1 -0
- package/dist/client/_nuxt/D9-PGadD.js +1 -0
- package/dist/client/_nuxt/D9R-vmeu.js +1 -0
- package/dist/client/_nuxt/DB_GagMm.js +1 -0
- package/dist/client/_nuxt/DCE3LsBG.js +1 -0
- package/dist/client/_nuxt/DDtJtuOZ.js +1 -0
- package/dist/client/_nuxt/DHo0CJ0O.js +1 -0
- package/dist/client/_nuxt/{Dzwn3p-3.js → DJlmqQ1C.js} +1 -1
- package/dist/client/_nuxt/DKOGybHv.js +1 -0
- package/dist/client/_nuxt/DKXYxT9g.js +1 -0
- package/dist/client/_nuxt/DKykz6zU.js +1 -0
- package/dist/client/_nuxt/DLVR-baX.js +1 -0
- package/dist/client/_nuxt/{CEjiMJLT.js → DNquZEk8.js} +1 -1
- package/dist/client/_nuxt/DPvbFsQx.js +1 -0
- package/dist/client/_nuxt/{NUI3YrRW.js → DQ1-QYvQ.js} +1 -1
- package/dist/client/_nuxt/{NKd-Y1zG.js → DREVFZK8.js} +1 -1
- package/dist/client/_nuxt/{IqKf4WGj.js → DRNBmV_Q.js} +1 -1
- package/dist/client/_nuxt/DRhBOlRY.js +1 -0
- package/dist/client/_nuxt/{DoiKbUTj.js → DWJ3fJO_.js} +1 -1
- package/dist/client/_nuxt/{2aygx1xg.js → DWedfzmr.js} +1 -1
- package/dist/client/_nuxt/{CmY0Y6Yh.js → DXbdFlpD.js} +1 -1
- package/dist/client/_nuxt/DYoNaHQp.js +1 -0
- package/dist/client/_nuxt/DYvnoCeB.js +1 -0
- package/dist/client/_nuxt/D_z4Izcz.js +1 -0
- package/dist/client/_nuxt/{CNRQ974Q.js → Dayu4EKP.js} +1 -1
- package/dist/client/_nuxt/Dbxjm_CC.js +1 -0
- package/dist/client/_nuxt/{B6NdQBKR.js → Deuh7S70.js} +1 -1
- package/dist/client/_nuxt/DfxzS6Rs.js +1 -0
- package/dist/client/_nuxt/DhUJRlN_.js +1 -0
- package/dist/client/_nuxt/Dhn9LcZ4.js +1 -0
- package/dist/client/_nuxt/Dj6nwHGl.js +1 -0
- package/dist/client/_nuxt/{ClV7KpCc.js → DjHMNizO.js} +1 -1
- package/dist/client/_nuxt/DkBy-JyN.js +1 -0
- package/dist/client/_nuxt/DkLiglaE.js +1 -0
- package/dist/client/_nuxt/Dmy2k9nq.js +1 -0
- package/dist/client/_nuxt/Drsz93k2.js +1 -0
- package/dist/client/_nuxt/DsBKuouk.js +1 -0
- package/dist/client/_nuxt/{DFW6HATB.js → DsWjAdsX.js} +1 -1
- package/dist/client/_nuxt/{BCzYJAay.js → Dsg_Bt_b.js} +1 -1
- package/dist/client/_nuxt/DtFQj3wx.js +1 -0
- package/dist/client/_nuxt/Du268qiB.js +1 -0
- package/dist/client/_nuxt/Du5NY7AG.js +1 -0
- package/dist/client/_nuxt/DxSadP1t.js +1 -0
- package/dist/client/_nuxt/HNqc6WRo.js +1 -0
- package/dist/client/_nuxt/HnGAYVZD.js +1 -0
- package/dist/client/_nuxt/HzYwdGDm.js +1 -0
- package/dist/client/_nuxt/{Dtn98rcr.js → IuBKFhSY.js} +1 -1
- package/dist/client/_nuxt/{DZQMDcrx.js → L9t79GZl.js} +1 -1
- package/dist/client/_nuxt/{DlYXzDlu.js → P4WzXJd0.js} +1 -1
- package/dist/client/_nuxt/{BGct0Hx7.js → QhoSD0DR.js} +1 -1
- package/dist/client/_nuxt/R900dpIa.js +1 -0
- package/dist/client/_nuxt/{BSHf-0eb.js → SKMF96pI.js} +1 -1
- package/dist/client/_nuxt/SPD3sf1n.js +1 -0
- package/dist/client/_nuxt/{D9Bn7OQI.js → T-Tgc4AT.js} +1 -1
- package/dist/client/_nuxt/{B8E-_56i.js → TU54ms6u.js} +1 -1
- package/dist/client/_nuxt/Tz6hzZYG.js +1 -0
- package/dist/client/_nuxt/UIAJJxZW.js +1 -0
- package/dist/client/_nuxt/UL5zprDm.js +1 -0
- package/dist/client/_nuxt/XBlWyCtg.js +1 -0
- package/dist/client/_nuxt/{L9-HYnaW.js → YJb9dmdj.js} +1 -1
- package/dist/client/_nuxt/{D2TqM893.js → Ye_uPAM8.js} +1 -1
- package/dist/client/_nuxt/{Bnbw1zOw.js → ahYVQIuB.js} +1 -1
- package/dist/client/_nuxt/{DJEtsjbi.js → ajMbGru0.js} +1 -1
- package/dist/client/_nuxt/atvbtKCR.js +1 -0
- package/dist/client/_nuxt/{dZn0vQkf.js → bCA53EVm.js} +1 -1
- package/dist/client/_nuxt/bN70gL4F.js +1 -0
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/b9d6b3a8-8e55-4600-8c54-953432a44665.json +1 -0
- package/dist/client/_nuxt/{CkqQx3Va.js → cPjAOO0u.js} +1 -1
- package/dist/client/_nuxt/din0uRiO.js +1 -0
- package/dist/client/_nuxt/{FMvz1E70.js → e4jU7D2d.js} +1 -1
- package/dist/client/_nuxt/{BINKOAKH.js → eg146-Ew.js} +1 -1
- package/dist/client/_nuxt/{entry.CpT28PgB.css → entry.0k2jyAbH.css} +1 -1
- package/dist/client/_nuxt/error-404.CeB15F3i.css +1 -0
- package/dist/client/_nuxt/error-500.kWwbyTjN.css +1 -0
- package/dist/client/_nuxt/fje9CFhw.js +1 -0
- package/dist/client/_nuxt/ifBTmRxC.js +1 -0
- package/dist/client/_nuxt/{DfpIq38s.js → m2LEI-9-.js} +1 -1
- package/dist/client/_nuxt/m4gc_qpA.js +1 -0
- package/dist/client/_nuxt/m4uW47V2.js +1 -0
- package/dist/client/_nuxt/mebxcVVE.js +1 -0
- package/dist/client/_nuxt/nyqBNV6O.js +1 -0
- package/dist/client/_nuxt/qmhIZ77x.js +1 -0
- package/dist/client/_nuxt/{CY2R9RuK.js → qpfuy3xp.js} +1 -1
- package/dist/client/_nuxt/sacFqUAJ.js +1 -0
- package/dist/client/_nuxt/{Bcw97oti.js → sdHcTMYB.js} +1 -1
- package/dist/client/_nuxt/shcSOmrb.js +1 -0
- package/dist/client/_nuxt/{CQzXS8_C.js → w-ucz2PV.js} +1 -1
- package/dist/client/_nuxt/{BDjtpMT8.js → w8dY5SsB.js} +1 -1
- package/dist/client/_nuxt/wI6OXr6j.js +1 -0
- package/dist/client/_nuxt/xI-RfyKK.js +1 -0
- package/dist/client/_nuxt/{CpWBKVjh.js → xW4inM5L.js} +1 -1
- package/dist/client/_nuxt/ySlJ1b_l.js +1 -0
- package/dist/client/_nuxt/{hdsyEllQ.js → zocC4JxJ.js} +1 -1
- package/dist/client/index.html +218 -217
- package/dist/content.cjs +20 -0
- package/dist/content.d.cts +35 -0
- package/dist/content.d.mts +35 -0
- package/dist/content.d.ts +35 -0
- package/dist/content.mjs +17 -0
- package/dist/module.cjs +944 -4
- package/dist/module.d.cts +108 -0
- package/dist/module.d.mts +1 -1
- package/dist/module.d.ts +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +37 -18
- package/dist/runtime/app/components/Templates/Community/BrandedLogo.vue +29 -29
- package/dist/runtime/app/components/Templates/Community/Frame.vue +64 -64
- package/dist/runtime/app/components/Templates/Community/Nuxt.vue +185 -185
- package/dist/runtime/app/components/Templates/Community/NuxtSeo.vue +137 -137
- package/dist/runtime/app/components/Templates/Community/Pergel.vue +103 -103
- package/dist/runtime/app/components/Templates/Community/SimpleBlog.vue +35 -35
- package/dist/runtime/app/components/Templates/Community/UnJs.vue +108 -108
- package/dist/runtime/app/components/Templates/Community/Wave.vue +34 -34
- package/dist/runtime/app/components/Templates/Community/WithEmoji.vue +28 -28
- package/dist/runtime/logger.d.ts +1 -1
- package/dist/runtime/pure.js +15 -4
- package/dist/runtime/server/og-image/satori/plugins/imageSrc.js +5 -2
- package/dist/runtime/server/og-image/satori/renderer.d.ts +1 -1
- package/dist/runtime/server/og-image/satori/renderer.js +10 -3
- package/dist/runtime/server/og-image/templates/html.js +3 -3
- package/dist/runtime/server/tsconfig.json +3 -3
- package/dist/runtime/server/util/logger.d.ts +1 -1
- package/dist/runtime/types.d.ts +2 -3
- package/package.json +31 -33
- package/virtual.d.ts +71 -71
- package/dist/client/_nuxt/-ALZ4IvE.js +0 -1
- package/dist/client/_nuxt/2pWuV6-S.js +0 -1
- package/dist/client/_nuxt/5Vw9JATd.js +0 -1
- package/dist/client/_nuxt/6RUVFG9U.js +0 -1
- package/dist/client/_nuxt/8Uu6eIa-.js +0 -1
- package/dist/client/_nuxt/B1rsb5QC.js +0 -1
- package/dist/client/_nuxt/B2bjgU-v.js +0 -1
- package/dist/client/_nuxt/B2uSYIFn.js +0 -1
- package/dist/client/_nuxt/B3Z_eaxm.js +0 -1
- package/dist/client/_nuxt/B4_rEpOs.js +0 -1
- package/dist/client/_nuxt/B5L7zzq-.js +0 -1
- package/dist/client/_nuxt/B74Y8nHz.js +0 -1
- package/dist/client/_nuxt/B9Vj0mJK.js +0 -1
- package/dist/client/_nuxt/BA1ndEPy.js +0 -1
- package/dist/client/_nuxt/BCawSwWi.js +0 -1
- package/dist/client/_nuxt/BIguuW30.js +0 -1
- package/dist/client/_nuxt/BJGgnGWZ.js +0 -1
- package/dist/client/_nuxt/BJNXdUBN.js +0 -1
- package/dist/client/_nuxt/BKbjiiqg.js +0 -1
- package/dist/client/_nuxt/BMwgFBEQ.js +0 -1
- package/dist/client/_nuxt/BN40hmum.js +0 -1
- package/dist/client/_nuxt/BNxDCkIA.js +0 -1
- package/dist/client/_nuxt/BSPpinrx.js +0 -1
- package/dist/client/_nuxt/BWkuYGGO.js +0 -1
- package/dist/client/_nuxt/BWslPs4p.js +0 -1
- package/dist/client/_nuxt/BYqZ7etr.js +0 -1
- package/dist/client/_nuxt/BZ3P6AVf.js +0 -1
- package/dist/client/_nuxt/BZRbnyjI.js +0 -1
- package/dist/client/_nuxt/B_R80ZlN.js +0 -1
- package/dist/client/_nuxt/BaLI2h1d.js +0 -1
- package/dist/client/_nuxt/BbalPOsb.js +0 -1
- package/dist/client/_nuxt/BbccZ3y2.js +0 -1
- package/dist/client/_nuxt/Bdprqoiu.js +0 -1
- package/dist/client/_nuxt/BgqZeg96.js +0 -1
- package/dist/client/_nuxt/BhC5s0V7.js +0 -1
- package/dist/client/_nuxt/BhsLqr-4.js +0 -1
- package/dist/client/_nuxt/BjXeLqNd.js +0 -1
- package/dist/client/_nuxt/Bjs2cL5p.js +0 -1
- package/dist/client/_nuxt/BkG9CdHo.js +0 -1
- package/dist/client/_nuxt/Bmb0A568.js +0 -1
- package/dist/client/_nuxt/BnfnAR_u.js +0 -1
- package/dist/client/_nuxt/BoZcIFWd.js +0 -1
- package/dist/client/_nuxt/BqtQrzRp.js +0 -1
- package/dist/client/_nuxt/BrbOHqWv.js +0 -1
- package/dist/client/_nuxt/Bv_sPlCv.js +0 -1
- package/dist/client/_nuxt/BwpQXVS2.js +0 -1
- package/dist/client/_nuxt/ByY1Guvr.js +0 -1
- package/dist/client/_nuxt/BzAMEn9Z.js +0 -1
- package/dist/client/_nuxt/BzwtH5UL.js +0 -1
- package/dist/client/_nuxt/C30t_gpS.js +0 -1
- package/dist/client/_nuxt/C4Ro8ZjH.js +0 -1
- package/dist/client/_nuxt/C5-9kuJc.js +0 -1
- package/dist/client/_nuxt/CBzZD_Xh.js +0 -1
- package/dist/client/_nuxt/CGXjegLJ.js +0 -1
- package/dist/client/_nuxt/CI15r38m.js +0 -1
- package/dist/client/_nuxt/CIxipgmy.js +0 -1
- package/dist/client/_nuxt/CJxt7p29.js +0 -1
- package/dist/client/_nuxt/CK56Z9cH.js +0 -1
- package/dist/client/_nuxt/CK7S-5jS.js +0 -1
- package/dist/client/_nuxt/CLmbwNS9.js +0 -1
- package/dist/client/_nuxt/CM4fc1WH.js +0 -1
- package/dist/client/_nuxt/CMOi41r9.js +0 -1
- package/dist/client/_nuxt/CMnybHwx.js +0 -1
- package/dist/client/_nuxt/CNXuF1yM.js +0 -1
- package/dist/client/_nuxt/CQO4gZEw.js +0 -1
- package/dist/client/_nuxt/CVESyXxo.js +0 -1
- package/dist/client/_nuxt/CWJejSyX.js +0 -1
- package/dist/client/_nuxt/CXmV_HiI.js +0 -1
- package/dist/client/_nuxt/C_wU0A-3.js +0 -3834
- package/dist/client/_nuxt/CcPoRNJz.js +0 -1
- package/dist/client/_nuxt/CcSEeikT.js +0 -1
- package/dist/client/_nuxt/CeZwWGti.js +0 -1
- package/dist/client/_nuxt/ChDww4um.js +0 -1
- package/dist/client/_nuxt/Ci-La1BS.js +0 -1
- package/dist/client/_nuxt/CnsmiicP.js +0 -1
- package/dist/client/_nuxt/CuIYtGag.js +0 -1
- package/dist/client/_nuxt/Cv3cJnDV.js +0 -1
- package/dist/client/_nuxt/CwIbMU3B.js +0 -1
- package/dist/client/_nuxt/Cztwc-HH.js +0 -1
- package/dist/client/_nuxt/D2O4HAMr.js +0 -1
- package/dist/client/_nuxt/D7v6OrNy.js +0 -1
- package/dist/client/_nuxt/D8nBeWSR.js +0 -1
- package/dist/client/_nuxt/DA0ESIWO.js +0 -1
- package/dist/client/_nuxt/DCcCncrU.js +0 -1
- package/dist/client/_nuxt/DES0gjzB.js +0 -1
- package/dist/client/_nuxt/DFIOpqzz.js +0 -1
- package/dist/client/_nuxt/DFQ4Xr-4.js +0 -1
- package/dist/client/_nuxt/DH4N8IuU.js +0 -1
- package/dist/client/_nuxt/DIt9OTko.js +0 -1
- package/dist/client/_nuxt/DL4Dju3v.js +0 -1
- package/dist/client/_nuxt/DNgb01dh.js +0 -1
- package/dist/client/_nuxt/DOAn35dn.js +0 -1
- package/dist/client/_nuxt/DPTZissz.js +0 -1
- package/dist/client/_nuxt/DQxx3LPD.js +0 -1
- package/dist/client/_nuxt/DRhUEtVu.js +0 -1
- package/dist/client/_nuxt/DUdzsfxe.js +0 -1
- package/dist/client/_nuxt/DVWcdiGS.js +0 -1
- package/dist/client/_nuxt/DWMP3yrW.js +0 -1
- package/dist/client/_nuxt/DZ4hUExO.js +0 -1
- package/dist/client/_nuxt/Db-JQHi3.js +0 -1
- package/dist/client/_nuxt/DdAYiE08.js +0 -1
- package/dist/client/_nuxt/DepYB8Ml.js +0 -1
- package/dist/client/_nuxt/DhG9BCpW.js +0 -1
- package/dist/client/_nuxt/DhRVplvY.js +0 -1
- package/dist/client/_nuxt/DhqJCFIX.js +0 -1
- package/dist/client/_nuxt/Dk1rBueR.js +0 -1
- package/dist/client/_nuxt/DkpUthgY.js +0 -1
- package/dist/client/_nuxt/DmF4-xLG.js +0 -1
- package/dist/client/_nuxt/DmZ-uG0V.js +0 -1
- package/dist/client/_nuxt/Dnfm4U7b.js +0 -1
- package/dist/client/_nuxt/DnyWjya5.js +0 -1
- package/dist/client/_nuxt/DqpEK-75.js +0 -1
- package/dist/client/_nuxt/DsCg8CPl.js +0 -1
- package/dist/client/_nuxt/DvA-6Bhw.js +0 -1
- package/dist/client/_nuxt/DvQyZZSe.js +0 -1
- package/dist/client/_nuxt/DwU8c_yx.js +0 -1
- package/dist/client/_nuxt/DzaHHFTY.js +0 -1
- package/dist/client/_nuxt/EZUUsui8.js +0 -1
- package/dist/client/_nuxt/F89DG-fP.js +0 -1
- package/dist/client/_nuxt/HNM5thJl.js +0 -1
- package/dist/client/_nuxt/IBB5Tl9j.js +0 -1
- package/dist/client/_nuxt/KUYRHWK4.js +0 -1
- package/dist/client/_nuxt/Kxp7UmFj.js +0 -1
- package/dist/client/_nuxt/Lp17StYA.js +0 -1
- package/dist/client/_nuxt/NgWrSVUg.js +0 -1
- package/dist/client/_nuxt/W2lx4xae.js +0 -1
- package/dist/client/_nuxt/XF954dHc.js +0 -1
- package/dist/client/_nuxt/YurBl9Qv.js +0 -1
- package/dist/client/_nuxt/aeT0-ak7.js +0 -1
- package/dist/client/_nuxt/bGS5FTDY.js +0 -1
- package/dist/client/_nuxt/builds/meta/a938c56b-6345-454a-9e52-026adcc92670.json +0 -1
- package/dist/client/_nuxt/error-404.DNn2eSPw.css +0 -1
- package/dist/client/_nuxt/error-500.B_Aslu6N.css +0 -1
- package/dist/client/_nuxt/gOa3Yz9U.js +0 -1
- package/dist/client/_nuxt/i22b9gbM.js +0 -1
- package/dist/client/_nuxt/mLcCfA0-.js +0 -1
- package/dist/client/_nuxt/plSVBvJQ.js +0 -1
- package/dist/client/_nuxt/rf8nNrOk.js +0 -1
- package/dist/client/_nuxt/u4bm_LMz.js +0 -1
- package/dist/client/_nuxt/vocl-2a6.js +0 -1
- package/dist/client/_nuxt/w1el_4yc.js +0 -1
- package/dist/client/_nuxt/xfgw03QH.js +0 -1
- package/dist/client/_nuxt/yLioyJ2E.js +0 -1
- /package/dist/runtime/assets/{Inter-400.ttf.base64 → Inter-normal-400.ttf.base64} +0 -0
- /package/dist/runtime/assets/{Inter-700.ttf.base64 → Inter-normal-700.ttf.base64} +0 -0
- /package/dist/runtime/server/plugins/{nuxt-content.d.ts → nuxt-content-v2.d.ts} +0 -0
- /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
|
|
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
|
|
98
|
+
strictNuxtContentPaths?: boolean;
|
|
99
99
|
}
|
|
100
100
|
interface ModuleHooks {
|
|
101
101
|
'nuxt-og-image:components': (ctx: {
|
package/dist/module.json
CHANGED
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
|
|
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
|
-
|
|
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 ${
|
|
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:${
|
|
688
|
+
f.key = `nuxt-og-image:fonts:${fontFileBase}.ttf.base64`;
|
|
669
689
|
} else {
|
|
670
|
-
logger.warn(`Failed to download font ${
|
|
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 ${
|
|
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 ${
|
|
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:${
|
|
687
|
-
await fontStorage.setItem(`${
|
|
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>
|