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.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.