NAME
    Mojolicious::Plugin::InlineJSON - Bootstrap your app with inline JSON

SYNOPSIS
      # Mojolicious
      use Mojolicious;
      $app->plugin('InlineJSON');

      # Mojolicious::Lite
      plugin 'InlineJSON';

      # in your controller
      $c->stash(important_stuff => { data => [ ... ] });

      # then, in a template
      <script>
         // bootstrap with literal JSON
         var prerenderedData =  <%= js_data($important_stuff) %>
      </script>

DESCRIPTION
    Mojolicious::Plugin::InlineJSON is a Mojolicious plugin for rendering
    data to json in a template. This is useful for when you want to serve
    content managed dynamically by javascript without needing any extra AJAX
    calls after the page loads.

    This plugin provides 3 different helpers for rendering JSON in a variety
    of different ways.

HELPERS
  js_data
      <script> 
        var prerenderedData = <%= js_data($important_stuff) %>
        // ...
      </script>

    "js_data" will render the perl data structure passed to it into a
    literal javascript structure, capable of being directly consumed by
    javascript.

    In essence, it turns this

      { key => 'value' }

    into

      { key: 'value' }

    while making sure to avoid any attribute escaping or accidental tag
    closure.

  js_json_string
      <script>
         var jsonString = <%= js_json_string($important_stuff) %>
         var decoded = JSON.parse(jsonString)
         // ...
      <script>

    "js_json_string" will turn the perl data structure into JSON, and then
    turn that into a string which can be parsed with "JSON.parse()" in JS.
    This can be useful for places where your code would've expected an XHR
    that you decode.

  js_data_via_json
      <script>
         var decodedData = <%= js_data_via_json($important_stuff) %>
         // ...
      <script>

    "js_data_via_json" is similar to "js_json_string", but it also does the
    JSON.parse for you.

AUTHORS
    mst - Matt S. Trout (cpan:MSTROUT) "mst@shadowcat.co.uk"
    veesh - Veesh Goldman (cpan:VEESH) "veesh@cpan.org"

CONTRIBUTORS
    None yet - maybe this software is perfect! (ahahahahahahahahaha)

COPYRIGHT
    Copyright (c) 2020 the Mojolicious::Plugin::InlineJSON "AUTHORS" and
    "CONTRIBUTORS" as listed above.

LICENSE
    This library is free software and may be distributed under the same
    terms as perl itself.

