eWorld.UI - Matt Hawley

Ramblings of Matt

In addition to blogging, I'm also using Twitter. Follow me @matthawley

WikiPlex has hit another major milestone with this release. Since releasing version 1.4, I really started off by adding several new features preparing for what would be a 1.5 release. However, as I took a look at the implementation of WikiPlex, I realized that it needed a bit of love to make the API more consistent for both it's own consumption, but also for the end-user developer. So, with that - upgrading to version 2.0 from 1.x is not a simple xcopy deployment of the new DLL as the entry point has slightly changed, as well as a bit of namespace restructuring (more on both later). Because of these breaking changes, it was time for WikiPlex to turn 2.

Breaking Changes from v1.x

All renderers have been moved into the namespace WikiPlex.Formatting.Renderers from WikiPlex.Formatting. This also includes the IRenderer interface.

The following interfaces have been removed: IMacroCompiler, IMacroParser, and IFormatter. Ultimately, there was no reason to have interfaces for these other than for unit testing purposes.

The classes MacroParser and MacroFormatter have been renamed to Parser and Formatter, respectively.

New Features

There is a new base Renderer class that encapsulates and simplifies common implementations. See the updated documentation for more information about this new implementation. Additionally, you can browse the WikiPlex source for more concrete examples.

Ordered and Unordered lists can now be interleaved.

For example: level one can be Ordered items while level two can be Unordered items, etc.

The macros OrderedListMacro and UnorderedListMacro have been merged into a single ListMacro.

Intermixing of different list types on the same level is unsupported.

Images can now contain height and width parameters on the image resource.

Similarly to other macros, they're specified as "http://foo.com/image.gif,height=220,width=380".

You can use any unit type - ie Pixel, Percent, etc.

A new multi-line indentation macro was added with the syntax of :{ . :} so that content that normally spanned multiple lines (tables, lists, etc) can be indented.

The :{ and :} need to be placed on separate lines encapsulating the content.

You can have N number of colons to indicate level of indentation.

The number of starting and ending colons must match in order for the macro to be valid.

Headings can now be indented on a single line by simply specifying the indentation macro, ie ": ! Heading"

Two new overloads were added to IWikiEngine that accept an IEnumerable<IRenderer>. This is an exclusive list the engine will use to format, similarly to overload that takes macros.

The ScopeRendered event on Formatter now also includes RendredContent.

I really started off by adding several new features preparing for what would be a 1.5 release. However, as I took a look at the implementation of WikiPlex, I realized that it needed a bit of love to make the API more consistent for both it's own consumption, but also for the end-user developer.

WikiPlex is a regular expression based wiki engine that actually helpful to allow the developers through which they can easily integrate a wiki experience into an existing .NET application seamlessly and with little effort. It was built and also used by the CodePlex team. No doubt it has been thoroughly tested in the integrated real world. Thanks to you to let the people know about it.Keep sharing

Write simply writes essays based on your description. Fill order essay from with topic and details of your essay, one of our professional writers will immediately get to work and begin researching your topic. We write original and non-plagiarized essays.

Thanks for taking the time to share this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with more information? It is extremely helpful for me.

I thought it was going to be some boring old post, but I'm glad I visited. I will post a link to this page on my blog. I am sure my visitors will find more about <A href="http://www.getsecuredloans.com">secured loans </A>very useful.