Search
Wednesday, March 10, 2010 ..:: Content » FormattedHTML DNN Module ::.. Register  Login
Projects Minimize
        
FormattedHTML Module Description Minimize

I was starting to get annoyed at DotNetNuke's defalut Text/HTML module because it does not remember white space. This is a problem if you use newlines to break up a long string of text and don't want to use the option to put <br>s in place of each newline or if you just want to cut/paste something (especially anything that uses tabs for formatting). Plus, you get strange results if you use relative links or complex formatting in the WYSIWYG editor that comes with DNN (and sometimes it'll lose your changes without allowing you to save). These minor issues tend to get to me, partially because I started coding HTML, Javascript and PERL in basic text editors and only recently started using feature-rich IDEs. For basic stuff (like HTML), I'm very comfortable with a big page of monospaced text - provided it looks the same when I re-open it after I save it.

So, I created FormattedHTML as a simple text input module that keeps all your white space, doesn't use a faulty WYSIWYG editor and is simple enough to get the job done without introducing more problems than it's solving.

I'm debating whether to add stuff to it (and how much) - stuff like WIKI-style text interpretation or a similar standardized buliten-board formatting. Also, I'm looking into how to automatically color code the text as you edit it for HTML formatting (not sure how to do this client-side yet). For now, it's really simple - but it does what I wanted it to.

The FormattedHTML module is not currently Open Source, but it is free and no registration is required to download it. Feel free to use it in any way you like. I'm still considering releasing the source code (send me an email if you're interested in this). Please let me know if you have any problems.


INTERACTIVE DEMO

        
Future Plans Minimize

Next Release (1.2)

  • Editor - Convert this from a module to an editor.
  • Easy Editor Installer - Find a way to install the editor as easily as you install modules.

Future Features Under Consideration

  • Contextual Coloring - This is a pretty common feature in stand-alone HTML/Code Editors and it should be possible to implement HTML color coding using JS so its run client-side and dynamically updated. I'll have to test how much impact this has, though - the fancy web-based WYSIWYG editors have historically been very bug-prone and I won't implement this feature unless it has negligable impact on reliability.
  • Save In Place - DotNetNuke is just too damn slow. I want to be able to have an 'apply' button that'll save the content as is without requiring a postback. This is especially important if you plan to do extensive editing to the contents of a single module.
  • Spell Checking - Another common feature in more robust editors that would be beneficial, espeically for the editor version (so it'll be usable on any modules). This should be implemented using AJAX.
  • WIKI Editing - I like how easy it is to create ad-hoc tables and lists using Wiki-style editing. I want to implement this type of editing (although it might be optional formatting).
  • Catch Tabs - In normal text editors, tabs are used significantly to indent code, especially in a hierarchical language like HTML. So, tabs should either be directly translated into a certain number of spaces or a real '\t' input. I may end up implementing the 'indent all the selected text by one tab' and 'de-indent the selected text by one tab' (shift+tab) used in Visual Studio and other high-end text editor environments.
  • Auto-Finishing - In VS.net (and many high-end text-editors), if you type an opening tag, the moment you close the tag (with a greater-than symbol), it automatically adds the closing tag to correspond to the tag you just wrote.
  • Auto-Indenting - Allow the user to paste in a bunch of content, click a button (or set a preference) and auto-indent all the content based on the hierarchy of the tags.
  • Persistent Cut/Paste - There are a bunch of words used for this type of feature, but the basis of the way it works is that the user is able to 'save' (and name) an array of strings in some way and then recall any of those strings to be pasted into the content where the current cursos is. In this way, you could add some code for, say, a sample table or a list with a few entries or some javascript function that you use a lot and you'd be able to insert that code quickly without switching out of the content editor.
        
Stats Minimize
Current Version: 1.1
Next Version: 1.2
Est. Release Date: Unknown
Progress: 10%
        
Downloads Minimize
 TitleOwnerCategoryLast UpdatedSize (Kb) 
FormattedHTML 1.1 PA Chani Johnson 2/18/2006 12.70 Download
        
Version History Minimize

Version 1.1

  • Added default search feature by implementing ISearchable.

Version 1.0

  • Initial release.
        
Copyright 2005 Chani Johnson   Terms Of Use  Privacy Statement