madskristensen / MiniBlog

A minimal blog engine using Razor Web Pages
Other
917 stars 376 forks source link

MiniBlog

A blogging engine based on HTML5 and ASP.NET. For an ASP.NET Core version, see Miniblog.Core.

Build status

Deploy to Azure

Live demo: http://miniblog.azurewebsites.net/
Username: demo
Password: demo

Custom theme

In search for custom designed themes for MiniBlog? Click here.

Simple, flexible and powerful

A minimal, yet full featured blog engine using ASP.NET Razor Web Pages. Perfect for the blogger who wants to selfhost a blog.

Features

Why another blog engine?

7 years have passed since I started the BlogEngine.NET project. It was using cutting edge technology for its time and quickly became the most popular blogging platform using ASP.NET.

The MiniBlog was born as a test to see what a modern blog engine could look like today with the latest ASP.NET and HTML 5 technologies. Just like with BlogEngine.NET, the goal was to see how small and simple such a blog engine could be.

This is the result.

Connecting with Open Live Writer (OLW)

To connect to MiniBlog with Open Live Writer:

Open Live Writer can be downloaded at:
https://openlivewriter.com/

Configuring MiniBlog as Virtual Application

MiniBlog is very compact and can be configured as a Virtual Application so you'd be able to use it alongside your existing websites. For example if you've got a running ASP.NET website at http://yourexamplesite.com/ and you want to setup a blog under /blog/ path, you could setup http://yourexamplesite.com/blog/ with a few simple tweaks in web.config settings:

<add key="blog:path" value="blog"/>
<handlers>
    <remove name="CommentHandler"/>
    <add name="CommentHandler" verb="*" type="CommentHandler" path="/blog/comment.ashx"/>
    <remove name="PostHandler"/>
    <add name="PostHandler" verb="POST" type="PostHandler" path="/blog/post.ashx"/>
    <remove name="MetaWebLogHandler"/>
    <add name="MetaWebLogHandler" verb="POST,GET" type="MetaWeblogHandler" path="/blog/metaweblog"/>
    <remove name="FeedHandler"/>
    <add name="FeedHandler" verb="GET" type="FeedHandler" path="/blog/feed/*"/>
    <remove name="CssHandler"/>
    <add name="CssHandler" verb="GET" type="MinifyHandler" path="/blog*.css"/>
    <remove name="JsHandler"/>
    <add name="JsHandler" verb="GET" type="MinifyHandler" path="/blog*.js"/>
</handlers>

<httpErrors>
    <remove statusCode="404"/>
    <error statusCode="404" responseMode="ExecuteURL" path="/blog/404.cshtml"/>
</httpErrors>

After changing the config all that is left is configuring a Virtual Application with the same path(ex. blog) inside your IIS website.