summaryrefslogtreecommitdiff
path: root/packages/fcl-mustache/examples/demo2.lpr
diff options
context:
space:
mode:
Diffstat (limited to 'packages/fcl-mustache/examples/demo2.lpr')
-rw-r--r--packages/fcl-mustache/examples/demo2.lpr48
1 files changed, 48 insertions, 0 deletions
diff --git a/packages/fcl-mustache/examples/demo2.lpr b/packages/fcl-mustache/examples/demo2.lpr
new file mode 100644
index 0000000000..4b5b20f885
--- /dev/null
+++ b/packages/fcl-mustache/examples/demo2.lpr
@@ -0,0 +1,48 @@
+{ Demo for mustache engine with database 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 demo2;
+
+uses csvdataset, fpmustache, fpdbmustache;
+
+Const
+ // Mock markdown table
+ Template =
+ '| name | age | '+sLineBreak+
+ '|------|------|'+sLineBreak+
+ '{{#family}}| {{name}} | {{age}} |'+sLineBreak+
+ '{{/family}}';
+
+Var
+ M : TMustache;
+ C : TMustacheDBContext;
+ D : TCSVDataset;
+
+begin
+ M:=TMustache.Create(Nil);
+ try
+ D:=TCSVDataset.Create(Nil);
+ D.CSVOptions.FirstLineAsFieldNames:=True;
+ D.LoadFromFile('family.csv');
+ C:=TMustacheDBContext.Create(Nil);
+ C.AddDataset(D,'family');
+ M.Template:=Template;
+ Writeln(M.Render(C));
+ finally
+ M.Free;
+ D.Free;
+ C.Free;
+ end;
+end.
+