summaryrefslogtreecommitdiff
path: root/packages/fcl-mustache/examples/demo1.lpr
diff options
context:
space:
mode:
Diffstat (limited to 'packages/fcl-mustache/examples/demo1.lpr')
-rw-r--r--packages/fcl-mustache/examples/demo1.lpr42
1 files changed, 42 insertions, 0 deletions
diff --git a/packages/fcl-mustache/examples/demo1.lpr b/packages/fcl-mustache/examples/demo1.lpr
new file mode 100644
index 0000000000..652ec7057c
--- /dev/null
+++ b/packages/fcl-mustache/examples/demo1.lpr
@@ -0,0 +1,42 @@
+{ Demo for mustache engine with JSON context
+
+ Copyright (C) 2021 michael Van Canneyt michael@freepascal.org
+
+ This source is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+
+ This code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ A copy of the GNU General Public License is available on the World Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can
+ also obtain it by writing to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1335, USA.
+}
+program demo1;
+
+// jsonparser includes the json parser.
+
+uses jsonparser, fpmustache;
+
+Const
+ JSON = '{ "products" : [ {"name" : "BMW" }, {"name" : "Mercedes"}, { "name" : "Audi" }] }';
+
+ // Mock markdown table
+ Template =
+ '| name |'+sLineBreak+
+ '|------|'+sLineBreak+
+ '{{#products}}| {{name}} |'+sLineBreak+
+ '{{/products}}';
+
+Var
+ M : TMustache;
+
+begin
+ M:=TMustache.Create(Nil);
+ try
+ // Json support enabled by default
+ Writeln(M.Render(Template,JSON));
+ finally
+ M.Free;
+ end;
+end.
+