Skip to content
Deane Barker edited this page Jun 15, 2018 · 15 revisions

Denina is a domain-specific language (DSL) implemented in C# that is designed to allow CMS editors to have limited, sandboxed scripting capabilities.

Watch a quick (2:06) video demonstrating Denina in an Episerver CMS implementation.

Here's an example of something an editor might do with Denina:

# Get a remote web page
Http.Get -url:http://denina.org

# Extract the TITLE and main content to variables
Html.Extract -path:title => $title
Html.Extract -path:main => $main

# Format in a simple HTML structure
Text.Format -template:"
  <article>
    <h1>{title}<h1>
    {main}
  </article>"

# Output the result to the page (implied)...

DeninaSharp is a library that must be implemented for a particular CMS. There is currently an implementation for Episerver and another one in the works for Umbraco.

How do I learn about Denina?

There are two "levels" on which Denina operates.

  • Denina for Developers
    Developers will implement Denina into their CMS, to allow editors to execute scripts.
  • Denina for Editors
    Editors will work with Denina commands to generate output. This requires that Denina is installed and running in your CMS.
Clone this wiki locally