.NET and Open Source: better together


  • Join Us on Facebook!
  • Follow Us on Twitter!
  • LinkedIn
  • Subcribe to Our RSS Feed

Laying out nested DIVs with CSS

Tell me what you want, but CSS is twisted. Some simple basic tasks that should be no-brainer sometimes make you throw things and say words you later deeply regret. Usually people use IE6 as lightning rod, sadly even if you don't care about IE6 anymore CSS still will find ways to hurt you. Consider this simple scenario - I want DIV with some text and 3 little ones inside it alined right. More...

How to add Woopra to your blog

woopraLots of people use Google Analytics to track user statistics on the blog. If you one of them, there is another tool you might be interesting in – something called “Woopra”. Although Analytics are cool, Woopra excels in real-time tracking – it literally shows what is going on your blog right now. Just take a look at the picture below – you can see how many people are browsing through your blog, what pages they on, searches used to bring them in, referring sites and more. And it is all real-time, you can see people coming and leaving. Pretty fun stuff. More...

Tutorial - Building NivoSlider Extension (Part 4)

Creating NuGet Package

nuget-logoBlogEngine uses NuGet format for sharing extensions. NuGet package in a nutshell is a ZIP containing files you want to share with some metadata NuGet uses internally. The easiest way to create a package is to use Package Explorer. Download and install this small application on your local machine, then click to run as any regular Windows application. At the time of writing, I’m using Package Explorer version 2.0. More...

Tutorial - Building NivoSlider Extension (Part 3)

Data Persistence

db_1What we need next is to save metadata for each picture used by every slider, and also we need to be able to add and delete all these records. Extension settings are standard way of doing it in BlogEngine - you declare what kind of data you want to maintain, set initial values and first time extension runs it will instantiate settings object and save it on the back-end. To maintain these data, blogger goes to admin/extensions and clicks extension link in the right sidebar. This will load auto-generated form where settings can be edited. The code below would be sufficient: More...

Tutorial - Building NivoSlider Extension (Part 2)

Creating Repository

HTML code we added to site.master can be moved to user control (1), so we’ll need just drop control on the page and be done. But some new themes use Razor instead of WebForms – for those to work we can provide HTML helper (2) do the same thing control does for WebForms. And also we want slider be available in the posts and pages, for that functionality we’ll have to use extension (3). Having planned 3 distinct UIs, it makes sense to abstract common functionality and make UI as light as possible. So lets start by moving that hard-coded list of images into its own class. Open  ~/app_code/extensions folder and create new folder inside it called “NivoSlider”. Then add new class “Repository.cs” – here what it looks like: More...

Tutorial - Building NivoSlider Extension (Part 1)

Getting Started - Pure HTML Code

When I built theme for this site I used excellent Boldy theme as a template, and original theme has nice jQuery slider for a front page. I did not need it at the time, but later used it for another project and liked how simple and light-weight this slider is. In this tutorial we’ll transform NivoSlider into full-featured extension for BlogEngine.NET 2.5 and learn few tips and tricks along the way that will help you add useful functionality to your blog with no sweat. More...

Heart Beat the New Theme for BlogEngine

HeartBeatI was looking for a warm colorful theme for my kids/family site and this one from ezwpthemes.com looked like a good fit (leaving aside it is in the dating category…). Anyways, I did little experiment and slightly changed my routine converting Wordpress themes by going straight to “view page source” and working with raw HTML instead of dealing with server-side code. This time I actually got down and dirty to all those PHP files and built theme by merging templates and replacing PHP code with ASP.NET equivalents when possible. It wasn’t hard at all, which proved a point I had in mind going to PHP files in the first place. I think it is relatively easy to build a converter that will take Wordpress theme and spit out theme for BlogEngine. Wouldn’t that be awesome? Ok, it won’t get 100% result, some things will need to be worked out after post-conversion process by hand. But even if it will get 80% of the job done, I’d take it. I just might try it some day!

Meanwhile, give a try this new theme. It looks best in BE 2.5, but also works fine with version 2.0. If you find any problems, drop a line here.

Theme can be downloaded from the dnbegallery and you can preview it here.

BlogEngine 2.5 - quick overview

BlogEngine 2.5 final release is ready for download, and most anticipated new feature is obviously ability to run multiple blogs on single code base. It's been a top request for a while, so hopefully it'll make lots of people happy. You can read in-depth about it on Ben's blog, I'm not going to repeat it here. Just want to say - don't dismiss it if you only going to run one blog, it can be helpful in many ways. I for one planning on little family "members only" site working as sub-blog and another used as private Wiki. All on the same code base, with single update cycle - can be a time saver. More...

Comment Form Templates


When I visit someone's blog for the first time and want to check quickly if it runs BlogEngine, I usually go straight to comment form and if it looks like a variation of the picture below I can sure tell it is running BE. Few reasons for that, first of, if you look at code BlogEngine generates for comment form you’ll agree with me that this is not exactly a designer’s dream. It’s a little hard to modify for a different look. Secondly, most of the themes you’ll find for BlogEngine were created by developers converting existing templates, and we usually not very concerned with details when functionality is working perfectly well. So most time instead of modifying comment form to look naturally as theme itself, we simply copy-paste CSS from standard theme and wash our hands. Good enough, right? And it works just fine, too. More...

Theme Packer

boxAs much as I like power and flexibility NuGet provides to developers, I do realize that lots of people just want their packing task done fast and efficient and have no desire dig into command line. NuGet also has a little tool for building and editing packages graphically, and I’ve been using it for a while too. Unfortunately with 1.2 released last week, packages created with this tool (as well as NuGet 1.2 command line) no longer compatible with dnbegallery. Gallery built on top of several OS projects that all utilize NuGet 1.1, and upgrade will probably take a while. With all that under way, I made small utility to help me package themes for the gallery really quick, may be others would like to use it too. So here it goes. More...