Module: Vault::SinatraHelpers::HtmlSerializer
- Defined in:
- lib/vault-tools/sinatra_helpers/html_serializer.rb
Overview
Public: Methods for including and serializing javascript and css files for HTML
Examples
# = js 'foo' # <%= js 'foo', 'bar', 'foo/bar' %>
# = css 'foo' # <%= cssjs 'foo', 'bar', 'foo/bar' %>
Instance Method Summary collapse
-
#css(*files) ⇒ Object
Public: create css markup with file references replaced by data-urls.
-
#js(*files) ⇒ Object
Public: create js markup by concatenating all javascript files.
Instance Method Details
#css(*files) ⇒ Object
Public: create css markup with file references replaced by data-urls
files - one or many file names assuming settings.public_folder/css/ is the root
Examples
# given: settings.public_folder/css/invoice.css
css('invoice') # => " # "
Returns the HTML String
61 62 63 64 65 66 |
# File 'lib/vault-tools/sinatra_helpers/html_serializer.rb', line 61 def css(*files) files.inject('') do |string, filename| filename = File.join('/css', filename) + '.css' string + "<style>\n#{inject_data_urls(slurp(filename))}\n</style>" end end |
#js(*files) ⇒ Object
Public: create js markup by concatenating all javascript files
files - one or many file names assuming settings.public_folder/js/ is the root
Examples
# given: settings.public_folder/js/hello.js
js('hello') # => " # "
Returns the HTML String
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/vault-tools/sinatra_helpers/html_serializer.rb', line 33 def js(*files) files.inject('') do |string, filename| filename = File.join('/js', filename) + '.js' string + %{ <script type='text/javascript'> //<![CDATA[ #{slurp(filename)} //]]> </script> } end end |