Coder Social home page Coder Social logo

miniblog's Introduction

MiniBlog

A blogging engine based on HTML5 and ASP.NET.

Build status

Deploy to Azure

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

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

  • 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.
  • Windows Live Writer (WLW) support
  • Optimized for WLW
  • Assumes WLW is the main way to write posts
  • You don't have to use WLW (but you should)
  • RSS and ATOM feeds
  • Schedule posts to be published on a future date
  • 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 and a two-column 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

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 Windows Live Writer (WLW)

To connect to MiniBlog with Windows Live Writer (as of WLW build 14.0.8117.416):

  • Launch Windows Live Writer

  • If you have not used Windows 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 Windows 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 blog service 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 http://miniblog.azurewebsites.net/ for the live demo site.

  • The Select blog type dialog window will let you know Windows 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: http://<root-address>/metaweblog
    Click next.

  • The Your blog has been set up dialog window will let you give your blog a nickname for the Windows Live Writer instance. Change that if you want and click finish to get to posting!

Windows Live Writer can be downloaded at:
http://www.microsoft.com/en-us/download/details.aspx?id=8621

Configuring MiniBlog as Virtual Application

Mini blog 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:

  • Set blog:path element of appSettings to the virtual path that you've configured for MiniBlog. Example with path blog
<add key="blog:path" value="blog"/>
  • Update the path attribute of all the <handlers> in web.config. Example with path 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.

miniblog's People

Contributors

madskristensen avatar am11 avatar asapostolov avatar nicolastarzia avatar fredrikeriksson avatar simonbu11 avatar gordonbeeming avatar cdhunt avatar bradygaster avatar jphellemons avatar pinopino avatar dragon753 avatar benmccallum avatar sam-ward avatar andersgodballe avatar anthonychu avatar witttness avatar paulinfrancis avatar maads avatar jiveabillion avatar lurenyao avatar jschwarty avatar z1c0 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.