Diamond MVC / Template Engine - v2.0.4 Released

bauss jj_1337 at live.dk
Fri Oct 13 07:16:14 UTC 2017


So I finally got around having time in my life to work with 
Diamond, which also meant fixing a few things in it, such as 
making it compatible with the latest version of DMD.

Version 2.0.4 includes the following additions:

* Support for escaped expressions using @$=expression;
* Compiles with latest version of DMD (Fixed an issue with 
compile-time AA's)
* New view functionality for rendering (View the wiki for more 
information.)
* Redirection functionality for controllers (View the wiki for 
more information.)

Github: https://github.com/bausshf/Diamond
Dub: https://code.dlang.org/packages/diamond (Currently waiting 
for the registry to update, so manual fetches from Github are 
required until the registry updates to 2.0.4 -- been waiting the 
past 2 hours or so and it seems like the registry has some issues 
atm. so hopefully that's fixed soon.)

Previous releases can be found here:
https://github.com/bausshf/Diamond/releases

-- To people who hasn't seen this project before --

What is Diamond?

Diamond is a MVC / Template library written in Diamond. It was 
written originally as an alternative to the Diet templates in 
vibe.d, but now its functonality and capabilities are far beyond 
templating only.

What does Diamond depend on?

Diamond can be used stand-alone without depending on any 
third-party libraries, other than the standard library Phobos. It 
has 3 types of usage, websites and webservices, where it's used 
on-top of vibe.d and as a stand-alone mvc/template library.

What is the dependency to vibe.d?

Diamond was originally written to be used in a hobby project as 
an alternative syntax to the "standard" diet templates. Thus it 
was originally build on-top vibe.d as a pure website template. It 
has now evolved to be able to run stand-alone however.

What syntax does Diamond use?

Diamond is heavily inspired by the ASP.NET razor syntax, but 
still differs a lot from it. You can read more about that in the 
wiki under Syntax Reference or the comparison with ASP.NET Razor

What advantages does Diamond have over Diet?

It let's you control the markup entirely, can be integrated with 
any-type of D code, not limited to vibe.d and can be used as 
standard template library for any type of project such as email 
templates etc. It also allows for special rendering, easy 
controller implementations and management of request data, 
response etc.


More information about the Digitalmars-d-announce mailing list