--- title: "Customize a Template" url: https://docs.catalyst.zoho.com/en/smartbrowz/help/templates/customize-templates/ description: "Create, configure, and manage templates of webpages or documents using which you can generate visual documents with PDF and Screenshot." last_updated: 2026-08-17T12:16:04Z service: SmartBrowz type: general --- # Customize a Template Once you have chosen a template design, you will be directed to the template editor inbuilt in the console that allows you to customize your template and further style it to your preference. For this help document, we will illustrate customizing a template using the *Certificate* template. You will have respective editor sections for HTML, CSS and JavaScript to style and customize your template directly in the console, as shown below.  ### Using LiquidJS to Customize Your Templates Catalyst SmartBrowz supports the use of [LiquidJS](https://liquidjs.com/) to customize your templates. LiquidJS is a popular opensource templating language that you can leverage to quickly create templates to suit your requirements. The content, the JSON data (Dyanmic data) that you load on to your template is subject to change based on your requirement. Using LiquidJS to customize your templates allows you to leverage the native filters to seamlessly handle this dynamic data. The dynamic data to your template will have to passed as a JSON paylod. For example, consider you are using the **Certificate** template, then the JSON payload will need to look like this: ```json { "name": "Michelle Mascarenhas", "workshop_name": "Serverless Computing", "event_duration": "one day", "event_description": "building cutting-edge cloud applications", "team_name": "Zylker Technologies ", "event_name": "Zylker Technologies Pvt. Ltd.,", "event_location": "Manhattan, NewYork", "event_date": "20th February 2025" } ```  > **Note:** SmartBrowz currently supports the `v10` runtime of LiquidJS. #### LiquidJS Syntax The following table contains the necessary LiquidJS syntax that you can apply to your templates to customize them to handle dynamic JSON data.
| Tag Type | LiquidJS Syntax |
|---|---|
| **Output** | ```javascript {{ user.name }} ``` |
| **Logic (Control Flow)** | ```javascript {% if user.role == "admin" %} Welcome, Admin! {% else %} Welcome, User! {% endif %} ``` |
| **Loops (For Statement)** Iterating over an array | ```javascript {% for item in items %} {{ item.name }} {% endfor %} ``` |
| **Loops (For Statement)** Using Iterable Object | ```javascript {% for item in items %} {{ forloop.index }}: {{ item.name }} {% endfor %} ``` |
| **Filters** | ```javascript {{ "hello" | append: " world" }} {{ 1000 | divided_by: 2 }} {{ "LiquidJS" | upcase }} ``` |
| **Date Formatting** | ```javascript {{ "now" | date: "%Y-%m-%d %H:%M:%S" }} {{ "2025-02-07" | date: "%B %d, %Y" }} ``` |
| **Assign and Capture** Assign variables inside templates | ```javascript {% assign greeting = "Hello" %} {{ greeting }} World ``` |
| **Assign and Capture** Capture multi-line values | ```javascript {% capture message %} This is a multi-line text. {% endcapture %} {{ message }} ``` |
| **Comments** | ```javascript {% comment %} This is a comment and will not be rendered. {% endcomment %} ``` |
| **Default Filters** Will display the value you set as default, if no value is provided. | ```javascript <p>Name: {{ user.name | default: "Guest" }}</p> ``` |
| **Conditionals with `unless`** The functions as the opposite of an `if` statement. The logic under an `unless` block will only be executed if the condition is false. | ```javascript {% unless user.role == "admin" %} <p>You are not an Admin</p> {% endunless %} ``` |
| **Case/When Conditions** | ```javascript {% case user.role %} {% when "admin" %} <p>Admin Page</p> {% when "user" %} <p>User Page</p> {% else %} <p>Unknown Role</p> {% endcase %} ``` |
| **Raw Output** To be used to print Liquid code without rendering it. Generally, used for documentation purposes | ```javascript {% raw %} This is raw Liquid syntax: {{ user.name }} {% endraw %} ``` |
| **Array and Object Filters** | ```javascript <p>First Item: {{ items | first }}</p> <p>Item Count: {{ items | size }}</p> ``` |
| **Math Filters** To use math operators within the template | ```javascript <p>Discounted Price: {{ price | minus: 10 }}</p> <p>Total Price: {{ price | times: 1.1 }}</p> ``` |
| **Rendering Partial Templates** | ```javascript {% render 'header' %} ``` |