Sha256: 9f4a86cd50d768ad3d205d07e2cceebc78f01a534b74a14903edd1fd8ab990e5

Contents?: true

Size: 978 Bytes

Versions: 3

Compression:

Stored size: 978 Bytes

Contents

# frozen_string_literal: true

require 'jekyll/vite'

# Internal: Extends the base installation script from Vite Ruby to work for a
# typical Jekyll site.
module Jekyll::Vite::Installation
  JEKYLL_TEMPLATES = Pathname.new(File.expand_path('../../../templates', __dir__))

  # Override: Setup a typical Jekyll site to use Vite.
  def setup_app_files
    cp JEKYLL_TEMPLATES.join('config/jekyll-vite.json'), config.config_path
    append root.join('Rakefile'), <<~RAKE
      require 'jekyll/vite'
      ViteRuby.install_tasks
    RAKE
  end

  # Override: Inject the vite client and sample script to the default HTML template.
  def install_sample_files
    super
    inject_line_after root.join('_config.yml'), 'plugins:', '  - jekyll/vite'
    inject_line_before root.join('_layouts/default.html'), '</head>', <<-HTML.chomp("\n")
    {% vite_client_tag %}
    {% vite_javascript_tag application %}
    HTML
  end
end

ViteRuby::CLI::Install.prepend(Jekyll::Vite::Installation)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jekyll-vite-0.0.3 lib/jekyll/vite/installation.rb
jekyll-vite-0.0.2 lib/jekyll/vite/installation.rb
jekyll-vite-0.0.1 lib/jekyll/vite/installation.rb