Skip to content

Commit 7488ab9

Browse files
committed
README updated with license changes and other small tweaks
1 parent 04964da commit 7488ab9

File tree

1 file changed

+44
-47
lines changed

1 file changed

+44
-47
lines changed

README.md

Lines changed: 44 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -7,54 +7,21 @@ Copyright (c) 2019-2024 [Sempare Limited](http://www.sempare.ltd)
77

88
Contact: <info@sempare.ltd>
99

10-
License: [GPL v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html) or [Sempare Limited Commercial License](./docs/commercial.license.md)
10+
License: [Apache v2.0](https://www.apache.org/licenses/LICENSE-2.0) or [Sempare Limited Commercial License](./docs/commercial.license.md)
1111

1212
Open Source: https://github.com/sempare/sempare-delphi-template-engine
1313

1414
*Questionaire*: https://docs.google.com/forms/d/e/1FAIpQLScioIiDxvsWK01fMFqYr9aJ6KhCGeiw4UaU_esGuztEE7vYwA/viewform
1515

16-
## Contents
17-
- [Introduction](#Introduction)
18-
- [Call To Action](#CallToAction)
19-
- [Quickstart](#Quickstart)
20-
- [Features](#Features)
21-
- [Objectives](#Objectives)
22-
- [Requirements](#Requirements)
23-
- [Installation](#Installation)
24-
- [GetIt](#GetIt)
25-
- [Boss](#Boss)
26-
- [Delphinus](#DelphinusSupport)
27-
- [Manual Install](#ManualInstall)
28-
- [Feedback](#Feedback)
29-
- Template Language
30-
- [Statements](./docs/statements.md)
31-
- [Expressions](./docs/expressions.md)
32-
- [Builtin functions](./docs/builtin-functions.md)
33-
- [Builtin variables](./docs/builtin-variables.md)
34-
- [Comments](./docs/comments.md)
35-
- [Template Registry](./docs/template-registry.md)
36-
- Customisation
37-
- [Custom functions](./docs/custom-functions.md)
38-
- [Configuration](./docs/configuration.md)
39-
- [Components](./docs/components.md)
40-
- [Tricks](./docs/tricks.md)
41-
- [Template Patterns](./docs/template-patterns.md)
42-
- [Whitespace Removal](./docs/whitespace-removal.md)
43-
- [Internals](./docs/internals.md)
44-
- [Restrictions/Limitations/Known Bugs](./docs/restrictions.md)
45-
- [License](#License)
46-
4716
<a name="Introduction"><h2>Introduction</h3></a>
4817

4918
Template engines are used often in technology where text needs to be customised by substituting variables with values from a data source. Examples where this may take place:
5019
- web sites using template engines (for server side scripting)
5120
- code generation
52-
- mail merge
21+
- mail merge
5322
- notification messages
5423

55-
Please review the [License](#License) section below before including the Sempare Template Engine in commercial products.
56-
57-
The Sempare Template Engine is a small templating engine for [Delphi](https://www.embarcadero.com/products/delphi) (Object Pascal) that allows for templates to be created easily and efficiently by providing a simple and easy to use API.
24+
The Sempare Template Engine is a small templating (scripting) engine for [Delphi](https://www.embarcadero.com/products/delphi) (Object Pascal) that allows for templates to be created easily and efficiently by providing a simple and easy to use API.
5825

5926
Example usage:
6027
```
@@ -69,20 +36,20 @@ type
6936
end;
7037
begin
7138
var tpl := Template.Parse(
72-
'My name is <% name %>.'#13#10 +
73-
'My favourite sport is <% favourite_sport %>.'#13#10 +
39+
'My name is <% name %>.'#13#10 +
40+
'My favourite sport is <% favourite_sport %>.'#13#10 +
7441
'Counting... <% for i := 1 to count %><% i %><% betweenitems %>, <% end %>' +
7542
'Counting... <% for i := 1 to count ; print(i) ; betweenitems ; print(', '); onbegin; print('[ '); onend; print('] '); end %>'
7643
);
7744
var info : TInformation;
7845
info.name := 'conrad';
7946
info.favourite_sport := 'ultimate';
8047
info.count := 3;
81-
writeln(Template.Eval(tpl, info));
48+
writeln(Template.Eval(tpl, info));
8249
end.
8350
```
8451

85-
The project uses Run-time Type Information (RTTI) to allow for almost any type to be dereferenced within the template script.
52+
The project allows for almost any type to be dereferenced within the template script.
8653

8754
In the example above, you can see that the '<%' start and '%>' end the scripting statement respectively. Within a scripting statement, you can reference variables, assign variables, use conditions, for and while loops, and include other templates.
8855

@@ -94,6 +61,38 @@ Please 'star' the project on github.
9461

9562
![](./images/sempare-template-engine-start-cta.png)
9663

64+
65+
## Contents
66+
- [Introduction](#Introduction)
67+
- [Call To Action](#CallToAction)
68+
- [Quickstart](#Quickstart)
69+
- [Features](#Features)
70+
- [Objectives](#Objectives)
71+
- [Requirements](#Requirements)
72+
- [Installation](#Installation)
73+
- [GetIt](#GetIt)
74+
- [Boss](#Boss)
75+
- [Delphinus](#DelphinusSupport)
76+
- [Manual Install](#ManualInstall)
77+
- [Feedback](#Feedback)
78+
- Template Language
79+
- [Statements](./docs/statements.md)
80+
- [Expressions](./docs/expressions.md)
81+
- [Builtin functions](./docs/builtin-functions.md)
82+
- [Builtin variables](./docs/builtin-variables.md)
83+
- [Comments](./docs/comments.md)
84+
- [Template Registry](./docs/template-registry.md)
85+
- Customisation
86+
- [Custom functions](./docs/custom-functions.md)
87+
- [Configuration](./docs/configuration.md)
88+
- [Components](./docs/components.md)
89+
- [Tricks](./docs/tricks.md)
90+
- [Template Patterns](./docs/template-patterns.md)
91+
- [Whitespace Removal](./docs/whitespace-removal.md)
92+
- [Internals](./docs/internals.md)
93+
- [Restrictions/Limitations/Known Bugs](./docs/restrictions.md)
94+
- [License](#License)
95+
9796
<a name="Quickstart"><h2>Quickstart</h3></a>
9897

9998
There are a few ways to get started quickly.
@@ -118,7 +117,7 @@ There are a few ways to get started quickly.
118117
- simple expression evaluation (logical, numerical and string)
119118
- variable definition
120119
- functions and methods calls
121-
- dereference records, custom managed records, classes, arrays, JSON objects, TDataSet descendants and dynamic arrays
120+
- dereference records, custom managed records, classes, interfaces, arrays, JSON objects, TDataSet descendants and dynamic arrays
122121
- ternary operator
123122
- safety
124123
- max run-time protection
@@ -159,7 +158,6 @@ There should be no platform specific restrictions.
159158
Have a look at Sempare.Template.Compiler.inc. The following defines can be defined if appropriate:
160159

161160
- SEMPARE_TEMPLATE_NO_INDY - if Indy is not present. This is used to access an html encoder if TNetEncoding is not available.
162-
- SEMPARE_TEMPLATE_CONFIRM_LICENSE - if present, you confirm you understand the conditions.
163161

164162
<a name="Installation"><h2>Installation</h3></a>
165163

@@ -221,16 +219,15 @@ The deployment process is based off the dev branch. Once we decide to push a new
221219

222220
<a name="License"><h2>License</h3></a>
223221

224-
The Sempare Template Engine is dual-licensed. You may choose to use it under the restrictions of the [GPL v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html) at
222+
The Sempare Template Engine is dual-licensed. You may choose to use it under the restrictions of the [Apache v2.0](https://www.apache.org/licenses/LICENSE-2.0) at
225223
no cost to you, or you may license it for use under the [Sempare Limited Commercial License](./docs/commercial.license.md)
226224

227-
The dual-licensing scheme allows you to use and test the library with no restrictions, but subject to the terms of the GPL. A nominal fee is requested to support the maintenance of the library if the product is to be used in commercial products. This support fee binds you to the commercial license, removing any of the GPL restrictions, and allowing you to use the library in your products as you will. The Sempare Template Engine may NOT be included or distributed as part of another commercial library or framework without approval / commercial review.
225+
The dual-licensing scheme allows you to use and test the library under the appropriate license.
228226

229227
A commercial licence grants you the right to use Sempare Template Engine in your own applications, royalty free, and without any requirement to disclose your source code nor any modifications to
230-
Sempare Template Engine or to any other party. A commercial license lasts into perpetuity, and entitles you to all future updates.
228+
Sempare Template Engine or to any other party. A commercial license helps to ensure the project is maintained with continuous integration, patches, etc.
231229

232-
A commercial licence is provided per developer developing applications that uses the Sempare Template Engine. The initial license fee is $70 per developer.
233-
For support thereafter, at your discretion, a support fee of $30 per developer per year would be appreciated.
230+
A support license of $70 per developer is appreciated.
234231

235232
The following payment links allow you to quickly subscribe. Please note that the initial license and support links are seperate.
236233
- [Initial License Fee](https://buy.stripe.com/aEU7t61N88pffQIdQQ)

0 commit comments

Comments
 (0)