blob: 4b5b20f88523ca02f47aa04e813355c22c0f0ea4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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.
|