vuepress-plugin-lightgallery
Version:
Light Gallery plugin for VuePress
11 lines (9 loc) • 1.75 kB
JavaScript
import{getModulePath as g,Logger as u,ensureEndingSlash as c,addViteOptimizeDepsExclude as a,addViteConfig as h,chainWebpack as d}from"@vuepress/helper";import{useSassPalettePlugin as y}from"@vuepress/plugin-sass-palette";import{colors as p,path as $,getDirname as f}from"vuepress/utils";import{createConverter as L}from"vuepress-shared/node";const P=s=>{const{droppedLogger:t}=L("lightgallery");t({options:s,old:"options",msg:`Please import and use ${p.cyan("defineLightGalleryConfig")} from ${p.magenta("vuepress-plugin-lightgallery/client")} instead.`})},O=async(s,t=["pager","share","zoom"])=>{const l=t.map(e=>`import(/* webpackChunkName: "lightgallery" */ "${g(`lightgallery/plugins/${e}/lg-${e}.es5.js`,import.meta)}")`),r=t.map(e=>`import "${g(`lightgallery/css/lg-${e}.css`,import.meta)}";`);await s.writeTemp("lightgallery/plugins.js",`${r.join(`
`)}
export const useLightGalleryPlugins = () =>
Promise.all([
${l.map(e=>` ${e}`).join(`,
`)}
]);
`)},v=f(import.meta.url),m="vuepress-plugin-lightgallery",j=new u(m),C=c($.resolve(v,"../client")),E=(s={},t=!0)=>l=>{t&&P(s),l.env.isDebug&&j.info("Options:",s);const r=s.plugins??["pager","share","zoom"];return y(l,{id:"hope"}),{name:m,define:()=>({__LG_SELECTOR__:s.selector??"[vp-content] :not(a) > img:not([no-view])"}),extendsBundlerOptions:(e,o)=>{a(e,o,["lightgallery/lightgallery.es5.js",...r.map(i=>`lightgallery/plugins/${i}/lg-${i}.es5.js`)]),a(e,o,["lightgallery"]),h(e,o,{css:{preprocessorOptions:{scss:{quietDeps:!0}}}}),d(e,o,i=>{i.module.rule("scss").use("sass-loader").tap(n=>({...n,sassOptions:{quietDeps:!0,...n.sassOptions}}))})},onPrepared:e=>O(e,s.plugins),clientConfigFile:`${C}config.js`}};export{E as lightgalleryPlugin};
//# sourceMappingURL=index.js.map