Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
HTML::RewriteAttributeUsereContributed PeHTML::RewriteAttributes::Resources(3)

NAME
       HTML::RewriteAttributes::Resources - concise resource-link rewriting

SYNOPSIS
	   # writing some HTML email I see..
	   $html = HTML::RewriteAttributes::Resources->rewrite($html, sub {
	       my $uri = shift;
	       my $content = render_template($uri);
	       my $cid = generate_cid_from($content);
	       $mime->attach($cid => content);
	       return "cid:$cid";
	   });

	   # need to inline CSS	too?
	   $html = HTML::RewriteAttributes::Resources->rewrite($html, sub {
	       # see above
	   },
	   inline_css => sub {
	       my $uri = shift;
	       return render_template($uri);
	   });

	   # need to inline CSS	and follow @imports?
	   $html = HTML::RewriteAttributes::Resources->rewrite($html, sub {
	       # see above
	   },
	   inline_css => sub {
	       # see above
	   }, inline_imports =>	1);

DESCRIPTION
       "HTML::RewriteAttributes::Resources" is a special case of
       HTML::RewriteAttributes for rewriting links to resources. This is to
       facilitate generating, for example, HTML	email in an extensible way.

       We don't	care about how to fetch	resources and attach them to the MIME
       object; that's your job.	But you	don't have to care about how to
       rewrite the HTML.

METHODS
   "new"
       You don't need to call "new" explicitly - it's done in "rewrite". It
       takes no	arguments.

   "rewrite" HTML, callback[, args] -> HTML
       See the documentation of	HTML::RewriteAttributes.

       The callback receives as	arguments the resource URI (the	attribute
       value), then, in	a hash,	"tag" and "attr".

       Inlining	CSS

       "rewrite" can automatically inline CSS for you.

       Passing "inline_css" will invoke	that callback to inline	"style"	tags.
       The callback receives as	its argument the URI to	a CSS file, and
       expects as a return value the contents of that file, so that it may be
       inlined.	Returning "undef" prevents any sort of inlining.

       Passing "inline_imports"	(a boolean) will look at any inline CSS	and
       call the	"inline_css" callback to inline	that import.

       This keeps track	of what	CSS has	already	been inlined, and won't	inline
       a particular CSS	file more than once (to	prevent	import loops).

SEE ALSO
       HTML::RewriteAttributes,	HTML::Parser, Email::MIME::CreateHTML

AUTHOR
       Shawn M Moore, "<sartak@bestpractical.com>"

LICENSE
       Copyright 2008-2010 Best	Practical Solutions, LLC.
       HTML::RewriteAttributes::Resources is distributed under the same	terms
       as Perl itself.

perl v5.24.1			  2012-10HTML::RewriteAttributes::Resources(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO | AUTHOR | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=HTML::RewriteAttributes::Resources&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help