 				return content if has.ph content, ph
 				return content if has.attr attr, content
 				for tag in tags
-					pat  = pats.opening.tag tag
-					oTag = get.attr pat, ph, attr, content # o = opening tag
-					continue unless oTag
-					content = content.replace pat, oTag
+					method  = if tag is '*' then 'anyAttr' else 'indAttr'
+					info    = get.content[method] ph, attr, content, tag
+					continue unless info.oTag
+					content = info.content
 					break
 				content
+
+			indAttr: (ph, attr, content, tag) -> # specific tag
+				info = { oTag: null, content }
+				pat  = pats.opening.tag tag
+				info.oTag = get.attr pat, ph, attr, content # o = opening tag
+				return info unless info.oTag
+				info.content = info.content.replace pat, info.oTag
+				info
+
+			anyAttr: (ph, attr, content, tag) -> # any tag
+				info        = { oTag: null, content }
+				comments    = []
+				pat         = pats.opening.tag tag
+				patCmtsHtml = pats.comments.html
+				content     = content.replace patCmtsHtml, (cmt) -> comments.push cmt; needle.comments
+				info.oTag   = get.attr pat, ph, attr, content # o = opening tag
+				return info unless info.oTag
+				patCmtsNeedle = pats.comments.needle
+				info.content  = content.replace pat, info.oTag
+				return info unless comments.length
+				cmtCnt = -1
+				info.content = info.content.replace patCmtsNeedle, -> cmtCnt++; comments[cmtCnt]
+				info
 
 		tag: (pat, ph, loc, content) ->
 			match = pat.exec content

	fse          = require 'fs-extra'
	path         = require 'path'
	promiseHelp  = require "#{config.req.helpers}/promise"
	needle       = left: '<!--#include ', right: '-->'
	placeholders = {
		'scripts'
		'styles'

			tag: (tag) ->
				pats.opening.tag tag

		comments:
			html:
				new RegExp '<!--(.|\\s)*?-->', 'ig'
			needle:
				new RegExp needle.comments, 'g'

	get =
		content:
			tag: (ph, content, tags) ->
