diff options
author | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-04-20 11:39:30 +0000 |
---|---|---|
committer | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-04-20 11:39:30 +0000 |
commit | 73ebe6abbe99cd7518f8dd5b9ec1106357ae8f88 (patch) | |
tree | 00d10dae5d3c9c9bd0930e72512643855bb69b97 /packages/fcl-mustache/examples/demo2.lpr | |
parent | 4813da5171f4d11b23f06093bb346af7514f4322 (diff) | |
download | fpc-73ebe6abbe99cd7518f8dd5b9ec1106357ae8f88.tar.gz |
* Mustache templates implementation
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@49240 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-mustache/examples/demo2.lpr')
-rw-r--r-- | packages/fcl-mustache/examples/demo2.lpr | 48 |
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. + |