It is sometimes desirable or even necessary to have Smarty ignore sections it would otherwise parse. A classic example is embedding Javascript or CSS code in a template. The problem arises as those languages use the { and } characters which are also the default delimiters for Smarty.
A good practice for avoiding escapement altogether is by separating your Javascript/CSS into their own files and use standard HTML methods to access them. This will also take advantage of browser script caching. When you need to embed Smarty variables/functions into your Javascript/CSS, then the following applies.
  In Smarty templates, the { and } braces will be ignored so long as they are surrounded by white space.
  This behavior can be disabled by setting the Smarty class variable $auto_literal to false.
 
Example 3.8. Using the auto-literal feature
<script>
   // the following braces are ignored by Smarty
   // since they are surrounded by whitespace
   function foobar {
	alert('foobar!');
   }
   // this one will need literal escapement
   {literal}
	function bazzy {alert('foobar!');}
   {/literal}
</script>
  
 
  
  {literal}..{/literal} blocks are used for escaping blocks of template logic.
  You can also escape the braces individually with {ldelim},{rdelim} tags or 
  {$smarty.ldelim},{$smarty.rdelim} variables.
 
  Smarty's default delimiters { and } cleanly represent presentational content. However if another set of delimiters suit your
  needs better, you can change them with Smarty's 
  $left_delimiter and
  
  $right_delimiter values.
  
Changing delimiters affects ALL template syntax and escapement. Be sure to clear out cache and compiled files if you decide to change them.
Example 3.9. changing delimiters example
<?php
$smarty->left_delimiter = '<!--{';
$smarty->right_delimiter = '}-->';
$smarty->assign('foo', 'bar');
$smarty->assign('name', 'Albert');
$smarty->display('example.tpl');
?>
  
Where the template is:
Welcome <!--{$name}--> to Smarty
<script language="javascript">
  var foo = <!--{$foo}-->;
  function dosomething() {
    alert("foo is " + foo);
  }
  dosomething();
</script>