Downloading ZPT-JS
Go to Download section and follow the instructions to download ZPT-JS.
Write the template
Customize the body of your HTML document with some of the provided by ZPT-JS statements. One of these is data-content:
<body> <p data-content="message"> the message </p> </body>
The resulting HTML document is:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Getting started</title> <script src="gettingStarted.js" type="module"></script> </head> <body> <p data-content="message"> the message </p> </body> </html>
The data-content attribute is ignored by browsers: all the data-* attributes are completely ignored by the user agent.
Build the dictionary
Build a javascript object with key/value pairs. These key/value pairs will be accesible by the whole template. You can use any javascript object:
import { zpt } from './zpt-esm.js'; var dictionary = { message: 'Hello, world!' };
Invoke ZPT-JS
Invoke the run
method of ZPT:
import { zpt } from './zpt-esm.js'; ... zpt.run({ root: document.body, dictionary: dictionary });
The resulting Javascript file (gettingStarted.js) is:
import { zpt } from './zpt-esm.js'; var dictionary = { message: 'Hello, world!' }; zpt.run({ root: document.body, dictionary: dictionary });
That's all!
The result
The resulting body
element is:
<body> <p data-content="message"> Hello, world! </p> </body>
Partial rendering
If we change some data in the dictionary and run a partial render this way:
dictionary.message = 'Bye, world!'; zpt.run({ command: 'partialRender', target: [ document.body ] });
The body
element now is:
<body> <p data-content="message"> Bye, world! </p> </body>
Updates
Another way of updating:
zpt.run({ command: 'update', dictionaryChanges: { message: 'Bye again, world!' } });
We don't need to do anything else, the body
element now is:
<body> <p data-content="message"> Bye again, world! </p> </body>