Sha256: a9ed18087e95d43a40d1f57f551bf9c243606db55ecda860f9bb1eb8d7447239

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

# frozen_string_literal: true

require "vite_ruby"

ViteRuby.install_tasks

desc "Precompile assets"
task :environment do
  require "./config/boot"

  Staticky.application.monitor(:builder, methods: %i[call]) do |event|
    Staticky.logger.info "Built site in #{event[:time]}ms"
  end
end

namespace :site do
  desc "Build the site and its assets into the Staticky.build_path (./build)"
  task build: :environment do
    Staticky.logger.info "Building site in #{Staticky.env.name} environment..."
    Staticky.builder.call
  end

  desc "Watch the site and its assets for changes"
  task watch: :environment do
    require "filewatcher"

    unless Staticky.build_path.join("500.html").exist?
      Rake::Task["site:build"].execute
    end

    Staticky.logger.info "Watching site in #{Staticky.env.name} environment..."

    Filewatcher.new(
      [
        "app/**/*.rb",
        "lib/**/*.rb",
        "content/**/*"
      ]
    ).watch do
      Staticky.logger.info "Change detected, rebuilding site..."
      sh("bin/rake site:build") do |ok, res|
        unless ok
          Staticky.logger.error "Error rebuilding site:"
          puts res
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
staticky-0.3.1 site_template/Rakefile
staticky-0.3.0 site_template/Rakefile