Sha256: c8448d55f7ad8f91699768e62bdd485e8ca69b5cbddaea09d8667981cfc9ea2b
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
# encoding: utf-8 usage 'show-rules [thing]' aliases :explain summary 'describe the rules for each item' description " Prints the rules used for all items and layouts in the current site. " module Nanoc::CLI::Commands class ShowRules < ::Nanoc::CLI::CommandRunner def run require_site @c = Nanoc::CLI::ANSIStringColorizer @calc = site.compiler.rule_memory_calculator # TODO: explain /foo/ # TODO: explain content/foo.html # TODO: explain output/foo/index.html site.items.each { |i| explain_item(i) } site.layouts.each { |l| explain_layout(l) } end protected def explain_item(item) puts "#{@c.c('Item ' + item.identifier, :bold, :yellow)}:" puts " (from #{item[:filename]})" if item[:filename] item.reps.each do |rep| puts " Rep #{rep.name}:" if @calc[rep].empty? && rep.raw_path.nil? puts ' (nothing)' else @calc[rep].each do |mem| puts format(' %s %s', @c.c(format('%-10s', mem[0].to_s), :blue), mem[1..-1].map(&:inspect).join(', ') ) end if rep.raw_path puts format(' %s %s', @c.c(format('%-10s', 'write to'), :blue), rep.raw_path ) end end end puts end def explain_layout(layout) puts "#{@c.c('Layout ' + layout.identifier, :bold, :yellow)}:" puts " (from #{layout[:filename]})" if layout[:filename] puts format(' %s %s', @c.c(format('%-10s', 'filter'), :blue), @calc[layout].map(&:inspect).join(', ') ) puts end end end runner Nanoc::CLI::Commands::ShowRules
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nanoc-3.7.5 | lib/nanoc/cli/commands/show-rules.rb |