Sha256: fa82ec855f43c5f168e049b0444ed6823adb090833b00648c949c6651117aadf
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
# frozen_string_literal: true module Cosensee # for CLI class CLI # for initializer class Initializer def initialize(logger:, option:) @logger = logger @option = option end attr_reader :logger, :option def run logger.info 'Initializing...' create_project_dir if option.init? create_directories create_files logger.info 'Done!' end private def create_project_dir return if File.exist?(project_path) FileUtils.mkdir_p(project_path) logger.info "Created project directory: #{project_path}" end def create_directories FileUtils.mkdir_p(project_path(option.output_dir)) FileUtils.mkdir_p(project_path(option.output_dir, option.css_dir)) end def create_files create_tailwind_config end def create_tailwind_config return if File.exist?(project_path(Cosensee::TAILWIND_CONFIG_FILE)) logger.info 'Creating TailwindCSS config file...' File.write(project_path(Cosensee::TAILWIND_CONFIG_FILE), <<~TAILWIND_CONFIG) /** @type {import('tailwindcss').Config} */ module.exports = { content: [ "dist/**/*.html" ], theme: { extend: {}, }, plugins: [], } TAILWIND_CONFIG end def project_path(*relative_paths) File.join(option.project_dir, *relative_paths) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cosensee-0.8.0 | lib/cosensee/cli/initializer.rb |