module StaticMatic module Builder class DotNetGenerator < BaseGenerator glob! "images", [] # No templates glob! "javascripts", [] # No templates glob! "stylesheets", site.extentions # Registered templates # Run the dynamic pages through actionpack site.dynamic_pages.each do |relative_path| output_name = site.rendered_ext(relative_path).gsub("pages/", "") template output_name.gsub('.', '_').to_sym, relative_path, output_name end # Build master pages site.layouts.each do |layout_name| file_name = (site.layouts.length <= 1) ? "MasterPage" : layout_name.split('.')[0].capitalize template :layout, File.join("layouts", layout_name), "#{file_name}.master" end # Copy static pages site.static_pages.each do |relative_path| output_name = relative_path.gsub("pages/", "") file output_name.gsub('.', '_').to_sym, relative_path, output_name end def render(action) if action.name == :layout output = site.render_layout(action.source, '') file_name = File.basename(action.destination).gsub(".master", '') prefix = %Q(<%@ Master Language="C#" AutoEventWireup="true" CodeFile="#{file_name}.master.cs" Inherits="#{file_name}" %>) output = prefix + "\n" + output output.gsub!(") #output = prefix + "\n" + output end end end add :build_dotnet, DotNetGenerator end end