Sha256: 56cffa3c255deebc45ccd0310de1ecbbca777c3c4b2c9483c40704ba5bee8030
Contents?: true
Size: 1.66 KB
Versions: 5
Compression:
Stored size: 1.66 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
5 entries across 5 versions & 1 rubygems