Sha256: e3f78729594448ccd7fa09c625da341148956ccba0bfbab0fa66d1235019ff33

Contents?: true

Size: 1.74 KB

Versions: 53

Compression:

Stored size: 1.74 KB

Contents

require "pathname"
require "metanorma/cli/site_generator"
require "metanorma/cli/thor_with_config"

module Metanorma
  module Cli
    module Commands
      class Site < ThorWithConfig
        SITE_OUTPUT_DIRNAME = "_site".freeze

        desc "generate [SOURCE_PATH]", "Generate site from collection"
        option :config, aliases: "-c", desc: "Metanorma configuration file"
        option(
          :output_dir,
          aliases: "-o",
          default: Pathname.new(Dir.pwd).join(SITE_OUTPUT_DIRNAME).to_s,
          desc: "Output directory for generated site",
        )
        option :agree_to_terms, type: :boolean, desc: "Agree / Disagree with all third-party licensing terms "\
                                                      "presented (WARNING: do know what you are agreeing with!)"
        option :no_install_fonts, type: :boolean, desc: "Skip the font installation process"
        option :continue_without_fonts, type: :boolean, desc: "Continue processing even when fonts are missing"
        option :stylesheet, alias: "-s", desc: "Stylesheet file path for rendering HTML page"
        option :template_dir, alias: "-t", desc: "Liquid template directory to render site design"
        option(
          :strict,
          aliases: "-S",
          type: :boolean,
          desc: "Strict compilation: abort if there are any errors",
        )

        def generate(source_path = Dir.pwd)
          Cli::SiteGenerator.generate(
            source_path,
            options,
            filter_compile_options(options),
          )
          UI.say("Site has been generated at #{options[:output_dir]}")
        rescue Cli::Errors::InvalidManifestFileError
          UI.error("Invalid data in: #{options[:config]}")
        end
      end
    end
  end
end

Version data entries

53 entries across 53 versions & 1 rubygems

Version Path
metanorma-cli-1.9.7 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.9.6 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.9.5 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.9.4 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.9.3 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.9.2 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.9.1 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.9.0 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.8.11 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.8.10 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.8.9 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.8.8 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.8.8.pre lib/metanorma/cli/commands/site.rb
metanorma-cli-1.8.7 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.8.7.pre lib/metanorma/cli/commands/site.rb
metanorma-cli-1.8.6 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.8.6.pre lib/metanorma/cli/commands/site.rb
metanorma-cli-1.8.5 lib/metanorma/cli/commands/site.rb
metanorma-cli-1.8.5.pre.pre lib/metanorma/cli/commands/site.rb
metanorma-cli-1.8.4 lib/metanorma/cli/commands/site.rb