Learn More





DNN Community Blog

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

Syntax Highlighter - There's a No-Code App for that!

This Blog is about 2 things. On one hand it's about Syntax-Highlighting, but actually it's more about creating safe No-Server-Code-Apps.

Part 1: Syntax Highlighting

I recent Blog-Post by Peter Donker called Strong Typing Your Settings on the DNN-Connect inspired me to this. Basically we often want to show a bit of code to help people get something to work, but then...

...the WYSIWYG f***s it up :(.

If you read my post #3 on Responsive/Mobile about The Good Death of WYSIWYG, you'll know that I've had my bad times with the not-so-great WYSIWYG and that I'm glad it will become a relict soon - thanks to responsive websites which cannot "responsively" handle WYSIWYG content.

So Peter had all these nice code-snippets in his blog, and they looked really nice - thanks to a open-source JS called SyntaxHighlighter. It looked like this:

So I figured: there should be an App for that!
A day later I revisited the blog, and everything had fallen apart. It looked like this:

So I figured: there should REALLY be an App for that! My guess was that someone re-edited the blog in the WYSIWYG, and BAM! the code was mangled. Had happened to me a lot already :(.

So I created a App for that. You can find it here SyntaxHighligter App and a quick demo here. Enjoy!

Part 2: Safe No-Server-Code-Apps

I've made it my mission to promote creating no-server-code-solutions. Wouldn't it be nice if...

  1. installed Apps (modules) couldn't contain server-code like C#
  2. ...and thereby could not crash the server, no matter what
  3. ...and could not contain DB-access code to "private" information?
  4. ...and the Apps would not be centralized, but an own install per portal

Because if this were possible, it would allow us to...

  1. ...give admins / web-designers the right to install Apps (not possible right now, too much risk)
  2. ...give admins / web-designers the right to modify Apps as they need to (without host-permissions)
  3. ...modified Apps would not effect other sites!

Enabling this is part of my mission. It's something that DNN cannot do by itself (for various architecture/feature reasons) but 2sxc can do it! We're not 100% there yet, but getting closer. And the Syntax-Highlighter App demonstates this - because it can do everything needed without any App-specific server-code. These are some features, that usually require code on the server:

  1. Modification of strings (done in JS)
  2. Selectable Color-Schemes (done with well-selected value-names in the dropdown so you don't need code)
  3. Selectable programming language causing different systems to run (done with good dropdowns & logic in JS)
  4. Prevent multiple copies of CSS & JS (done using DNN-Resources-Bundling and some JS)
  5. SEO enabled (done using standard HTML)
  6. Editing data-UIs with Multi-Language UIs (done with 2sxc)
  7. Multi-Language output (done with 2sxc)
  8. Data storage, retrieval & versioning (done with 2sxc)

We'll release a few more such Apps in the coming weeks, and I would love your feedback. Do you also see the need? Do you think we're wasting our time optimizing for this? Please tell me :)

Yours from Switzerland


There are currently no comments, be the first to post one.

Comment Form

Only registered users may post comments.


2sic Daniel Mettler (124)
Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (21)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (203)
Chris Paterra (55)
Clinton Patterson (28)
Cuong Dang (21)
Daniel Bartholomew (2)
Dave Buckner (2)
David Poindexter (3)
David Rodriguez (2)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (6)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (269)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (52)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (37)
Will Strohl (163)
William Severance (5)
Try Evoq
For Free
Start Free Trial
a Demo
See Evoq Live
Need More Information?