A blogging engine based on HTML5 and ASP.NET. For an ASP.NET Core version, see Miniblog.Core.
Live demo: https://miniblog.azurewebsites.net/
Username: demo
Password: demo
In search for custom designed themes for MiniBlog? Click here.
A minimal, yet full featured blog engine using ASP.NET Razor Web Pages. Perfect for the blogger who wants to selfhost a blog.
- Best-in-class performance
- Gets a perfect score of 100/100 on Google Page Speed
- Uses CDN for Bootstrap and jQuery in release mode (debug="false")
- Easy setting for serving static files from another domain.
- Supports the ASP.NET Reverse Proxy
- Open Live Writer (OLW) support
- Optimized for OLW
- Assumes OLW is the main way to write posts
- You don't have to use OLW (but you should)
- RSS and ATOM feeds
- Schedule posts to be published on a future date
- Get feedback on an unpublished post by sending a preview link
- SEO optimized
- Uses HTML 5 microdata to add semantic meaning
- Support for robots.txt and sitemap.xml
- Theming support
- Based on Bootstrap themes. Makes it easy to customize your blog
- Comes with a one-column, two-column, and off-canvas theme
- No database required
- Uses the same XML format as BlogEngine.NET
- Move your existing blog to MiniBlog using MiniBlog Formatter
- Inline editing of blog posts
- Comments support
- Gravatar support
- Can easily be replaced by 3rd-party commenting system
- Drag 'n drop images to upload
- Automatically optimizes uploaded images
- Uses latest technologies
- OpenGraph enabled
- Based on jQuery and Bootstrap
- Best-in-class accessibility
- Mobile friendly
- Works on any host including Windows Azure Websites
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.
To connect to MiniBlog with Open Live Writer:
-
Launch Open Live Writer
-
If you have not used Open Live Writer to connect to a blog you will get a dialog window asking you to specify what blog service you use. If you have already connected Open Live Writer to a blog, you can go to Blogs -> Add blog account... and get to the same dialog window.
-
In the What blog service do you use? dialog window you will tick the Other services radio option and click next.
-
The Add a blog account dialog window will ask you for the web address of your blog, the username and password. The web address is the root address of your site. For example, use https://miniblog.azurewebsites.net/ for the live demo site.
-
The Download Blog Theme dialog window will let you know Open Live Writer can download your blog theme if you allow it to publish a temporary post. Selecting yes will allow you to view how your posts will look directly from the Open Live Writer editor.
-
The Select blog type dialog window will let you know Open Live Writer was not able to detect your blog type. It will ask you for the type of blog and the remote posting URL.
Type of blog that you are using: Metaweblog API
Remote posting URL for your blog: https://<root-address>/metaweblog
Click next. -
The Your blog has been set up dialog window will let you give your blog a nickname for the Open Live Writer instance. Change that if you want and click finish to get to posting!
Open Live Writer can be downloaded at:
https://openlivewriter.com/
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 https://yourexamplesite.com/
and you want to setup a blog under /blog/
path, you could setup https://yourexamplesite.com/blog/
with a few simple tweaks in web.config settings:
- Set
blog:path
element ofappSettings
to the virtual path that you've configured for MiniBlog. Example with pathblog
<add key="blog:path" value="blog"/>
- Update the
path
attribute of all the<handlers>
in web.config. Example with pathblog
<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.