Sha256: 22217ca96c9204833c640743d65b14b57f78921b73fc1e556ac34883a410daff
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 KB
Contents
require 'middleman-core' class Middleman::WebComponents < ::Middleman::Extension option :suffix, '.vulcanized.html', 'Suffix appended to vulcanized files' option :directory, 'components', 'Directory for web components' option :command, 'vulcanize', 'vulcanize command such as vulcanize, /usr/local/bin/valucanize or $(npm bin)/vulcanize' def manipulate_resource_list(resources) resources.collect do |resource| next resource if resource.ignored? next resource unless resource.path.start_with? options.directory content = `#{options.command} #{resource.source_file}` resource = Middleman::Sitemap::StringResource.new(app.sitemap, resource.path, content) resource.destination_path = Pathname(resource.path).sub_ext(options.suffix).to_path unless resource.ext == options.suffix resource end end helpers do def component_import_tag(*sources) extension = app.extensions.each.find {|(name, instance)| name == :web_components}[1] options = { rel: 'import' }.update(sources.extract_options!.symbolize_keys) sources.flatten.inject(ActiveSupport::SafeBuffer.new) do |all, source| url = url_for(File.join(extension.options.directory, "#{source}.html"), relative: true) all << tag(:link, {href: url}.update(options)) end end end end ::Middleman::Extensions.register(:web_components, ::Middleman::WebComponents)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
middleman-web_components-0.0.1 | lib/middleman-web_components.rb |