var searchIndex = {}; searchIndex["handlebars"] = {"doc":"# Handlebars\nHandlebars is a modern and extensible templating solution originally created in the JavaScript world. It's used by many popular frameworks like [Ember.js](http://emberjs.com) and Chaplin. It's also ported to some other platforms such as [Java](https://github.com/jknack/handlebars.java).","items":[[3,"Template","handlebars","",null,null],[12,"name","","",0,null],[12,"elements","","",0,null],[12,"mapping","","",0,null],[3,"Handlebars","","The single entry point of your Handlebars templates",null,null],[3,"RenderError","","",null,null],[12,"desc","","",1,null],[12,"template_name","","",1,null],[12,"line_no","","",1,null],[12,"column_no","","",1,null],[3,"RenderContext","","The context of a render call",null,null],[12,"writer","","the `Write` where page is generated",2,null],[12,"current_template","","current template name",2,null],[12,"root_template","","root template name",2,null],[12,"disable_escape","","",2,null],[3,"Helper","","Render-time Helper data when using in a helper definition",null,null],[3,"ContextJson","","Json wrapper that holds the Json value and reference path information",null,null],[3,"Context","","The context wrap data you render on your templates.",null,null],[4,"TemplateError","","Template parsing error",null,null],[13,"MismatchingClosedHelper","","",3,null],[13,"InvalidSyntax","","",3,null],[13,"InvalidParam","","",3,null],[13,"NestedSubexpression","","",3,null],[4,"TemplateFileError","","",null,null],[13,"TemplateError","","",4,null],[13,"IOError","","",4,null],[4,"TemplateRenderError","","",null,null],[13,"TemplateError","","",5,null],[13,"RenderError","","",5,null],[13,"IOError","","",5,null],[5,"no_escape","","`EscapeFn` that donot change any thing. Useful when using in a non-html\nenvironment.",null,{"inputs":[{"name":"str"}],"output":{"name":"string"}}],[5,"html_escape","","The default *escape fn* replaces the characters `&"<>`\nwith the equivalent html / xml entities.",null,{"inputs":[{"name":"str"}],"output":{"name":"string"}}],[11,"fmt","","",0,null],[11,"clone","","",0,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"new","","",0,{"inputs":[{"name":"bool"}],"output":{"name":"template"}}],[11,"compile","","",0,{"inputs":[{"name":"s"}],"output":{"name":"result"}}],[11,"compile2","","",0,{"inputs":[{"name":"s"},{"name":"bool"}],"output":{"name":"result"}}],[11,"compile_with_name","","",0,{"inputs":[{"name":"s"},{"name":"string"},{"name":"bool"}],"output":{"name":"result"}}],[11,"clone","","",3,null],[11,"fmt","","",3,null],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"fmt","","",3,null],[11,"description","","",3,null],[11,"cause","","",3,null],[11,"fmt","","",4,null],[11,"fmt","","",4,null],[11,"description","","",4,null],[11,"cause","","",4,null],[11,"from","","",4,{"inputs":[{"name":"templateerror"}],"output":{"name":"templatefileerror"}}],[11,"from","","",4,{"inputs":[{"name":"ioerror"}],"output":{"name":"templatefileerror"}}],[11,"fmt","","",5,null],[11,"fmt","","",5,null],[11,"description","","",5,null],[11,"cause","","",5,null],[11,"from","","",5,{"inputs":[{"name":"templateerror"}],"output":{"name":"templaterendererror"}}],[11,"from","","",5,{"inputs":[{"name":"rendererror"}],"output":{"name":"templaterendererror"}}],[11,"from","","",5,{"inputs":[{"name":"ioerror"}],"output":{"name":"templaterendererror"}}],[11,"new","","",6,{"inputs":[],"output":{"name":"registry"}}],[11,"source_map_enable","","Enable handlebars template source map",6,null],[11,"register_template","","Register a template",6,null],[11,"register_template_string","","Register a template string",6,null],[11,"register_template_file","","Register a template from a path",6,null],[11,"register_template_source","","Register a template from `std::io::Read` source",6,null],[11,"unregister_template","","remove a template from the registry",6,null],[11,"register_helper","","register a helper",6,null],[11,"register_escape_fn","","Register a new *escape fn* to be used from now on by this registry.",6,null],[11,"unregister_escape_fn","","Restore the default *escape fn*.",6,null],[11,"get_escape_fn","","Get a reference to the current *escape fn*.",6,null],[11,"get_template","","Return a registered template,",6,null],[11,"get_helper","","Return a registered helper",6,null],[11,"get_templates","","Return all templates registered",6,null],[11,"clear_templates","","Unregister all templates",6,null],[11,"render","","Render a registered template with some data into a string",6,null],[11,"renderw","","Render a registered template with some data to the `std::io::Write`",6,null],[11,"template_render","","render a template string using current registry without register it",6,null],[11,"template_renderw","","render a template string using current registry without register it",6,null],[11,"template_renderw2","","render a template source using current registry without register it",6,null],[11,"clone","","",1,null],[11,"fmt","","",1,null],[11,"fmt","","",1,null],[11,"description","","",1,null],[11,"from","","",1,{"inputs":[{"name":"ioerror"}],"output":{"name":"rendererror"}}],[11,"new","","",1,{"inputs":[{"name":"t"}],"output":{"name":"rendererror"}}],[11,"new","","Create a render context from a `Write`",2,{"inputs":[{"name":"write"}],"output":{"name":"rendercontext"}}],[11,"with_writer","","Create a new `RenderContext` with a different `Write`",2,null],[11,"get_partial","","",2,null],[11,"set_partial","","",2,null],[11,"get_path","","",2,null],[11,"set_path","","",2,null],[11,"set_local_var","","",2,null],[11,"clear_local_vars","","",2,null],[11,"promote_local_vars","","",2,null],[11,"demote_local_vars","","",2,null],[11,"get_local_var","","",2,null],[11,"writer","","",2,null],[11,"fmt","","",2,null],[11,"fmt","","",7,null],[11,"path","","Returns relative path when the value is referenced\nIf the value is from a literal, the path is `None`",7,null],[11,"value","","Returns the value",7,null],[11,"name","","Returns helper name",8,null],[11,"params","","Returns all helper params, resolved within the context",8,null],[11,"param","","Returns nth helper param, resolved within the context",8,null],[11,"hash","","Returns hash, resolved within the context",8,null],[11,"hash_get","","Return hash value of a given key, resolved within the context",8,null],[11,"template","","Returns the default inner template if any",8,null],[11,"inverse","","Returns the template of `else` branch if any",8,null],[11,"is_block","","Returns if the helper is a block one `{{#helper}}{{/helper}}` or not `{{helper 123}}`",8,null],[11,"render","","",0,null],[11,"fmt","","",9,null],[11,"null","","Create a context with null data",9,{"inputs":[],"output":{"name":"context"}}],[11,"wraps","","Create a context with given data",9,{"inputs":[{"name":"t"}],"output":{"name":"context"}}],[11,"extend","","Extend current context with another JSON object\nIf current context is a JSON object, it's identical to a normal merge\nOtherwise, the current value will be stored in new JSON object with key `this`, and merged\nkeys are also available.",9,null],[11,"navigate","","Navigate the context with base path and relative path\nTypically you will set base path to `RenderContext.get_path()`\nand set relative path to helper argument or so.",9,null],[6,"EscapeFn","","This type represents an *escape fn*, that is a function who's purpose it is\nto escape potentially problematic characters in a string.",null,null],[8,"Renderable","","",null,null],[10,"render","","",10,null],[8,"HelperDef","","Helper Definition",null,null],[10,"call","","",11,null],[8,"JsonRender","","",null,null],[10,"render","","",12,null],[8,"JsonTruthy","","",null,null],[10,"is_truthy","","",13,null]],"paths":[[3,"Template"],[3,"RenderError"],[3,"RenderContext"],[4,"TemplateError"],[4,"TemplateFileError"],[4,"TemplateRenderError"],[3,"Handlebars"],[3,"ContextJson"],[3,"Helper"],[3,"Context"],[8,"Renderable"],[8,"HelperDef"],[8,"JsonRender"],[8,"JsonTruthy"]]}; initSearch(searchIndex);