Sha256: 1bd74570a49b91f7f8fc838722b7882f25cc31e2a0e6dc282c2d642dfffc7787
Contents?: true
Size: 1.27 KB
Versions: 2
Compression:
Stored size: 1.27 KB
Contents
# frozen_string_literal: true # Internal: Adds all assets generated by Vite to the static_files list, so # that they are copied over to the built site. class Jekyll::Vite::Generator < Jekyll::Generator safe true priority :highest class ViteAssetFile < Jekyll::StaticFile # Override: Copy to the configured public_output_dir def cleaned_relative_path super.sub( ViteRuby.config.build_output_dir.relative_path_from(@site.source).to_s, ViteRuby.config.public_output_dir, ) end end # Internal: Set the mode based on which command was run. # Builds assets with Vite only if `jekyll build` was run. def generate(site) serving = site.config['serving'] ENV['JEKYLL_ENV'] ||= serving ? 'development' : 'production' generate_vite_build(site) unless serving end # Internal: Build all assets with Vite and add them to the site's static files. def generate_vite_build(site) ViteRuby.commands.build_from_task assets_dir = ViteRuby.config.build_output_dir.relative_path_from(site.source) files = Dir.chdir(ViteRuby.config.build_output_dir.to_s) { Dir.glob('**/*').select { |f| File.file?(f) } } site.static_files.concat(files.map { |file| ViteAssetFile.new(site, site.source, assets_dir, file) }) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
jekyll-vite-0.0.2 | lib/jekyll/vite/generator.rb |
jekyll-vite-0.0.1 | lib/jekyll/vite/generator.rb |