A simple, yet flexible content and blog engine for ASP.NET Core that can work with or without a database, supports markdown or html editing
Clone or download
Latest commit 8233a9c Oct 14, 2018

README.md

cloudscribe SimpleContent

A simple, yet flexible content and blog engine for ASP.NET Core that can work with or without a database. This project has borrowed significantly from Mads Kristensen's MiniBlog both for ideas and code but re-implemented and extended in the newer ASP.NET Core framework. Get the big picture at cloudscribe.com

Documentation - in progress so check back often. Also note that cloudscribe SimpleContent is being used to make the documentation on cloudscribe.com

If you have questions or just want to be social, say hello in our gitter chat room. I try to monitor that room on a regular basis while I'm working, but if I'm not around you can leave message.

Build Status

Windows Linux
Build status Build Status

Join the chat at https://gitter.im/joeaudette/cloudscribe

Getting Started

See the Introduction to get the big picture and learn how to start new projects using our project template for Visual Studio or the .NET Core CLI

Current Features

  • Supports markdown and/or html editing, the documentation on using markdown
  • Create and edit pages and blog posts right from the web browser or using Open Live Writer
  • Built in image browser, uploader, cropper, with configurable automatic resizing, and even drag/drop images right into the editor
  • Built in Page Manager - for easy drag/drop arrangement of the page hierarchy
  • For technical articles includes built in syntax highlighter using the CodeSnippet plugin in CKEditor
  • Pages can be protected by roles for private or premium content
  • Schedule posts and pages to be published on a future date
  • Supports blog urls with or without date segments
  • Optional internal comment system for the blog. Built in support for Disqus and not difficult to integrate some other comment system
  • RSS feed built in at /api/rss
  • Google Site Map built in at /api/sitemap
  • Responsive theming support based on Bootstrap
  • Uses HTML 5 microdata to add semantic meaning and improve SEO
  • Cross platform, runs on ASP.NET Core which works on Windows, Mac, and Linux
  • Comments support - can easily be replaced by 3rd-party commenting systems such as Disqus
  • No database required - can use markdown or json for pages and can use markdown or xml for blog posts via NoDb. The XML format is the same as MiniBlog and BlogEngine.NET and you should be able to migrate from other platforms
  • You can optionally use a database - it currently supports SQLite, MS SQL, PostgresSql, and MySql using Entity Framework Core
  • Can use either cloudscribe Core or cloudscribe SimpleAuth for user accounts. (I recommend use cloudscribe Core even for small sites)
  • Can also be integrated with other authentication systems
  • Supports multiple tenants via integration using cloudscribe Core
  • Supports Localization

Planned Features

  • More advanced meta data capabilities
  • Support for using MongoDb - hoping for a community member to do that
  • A Utility for importing the NoDb content into Entity Framework Core or MongoDb for easy migration

Screenshots

Blog Screen shot

page edit screen shot

file browser Screen shot

file selection Screen shot

image cropper Screen shot

Blog Screen shot

Start simple with no database and migrate to a database later if you need one

Not all web site projects need a database, there can be many benefits to not using one including performance, scalability, portability, lower cost, and ease of making backup copies of the entire site. It should even be possible to make a site that runs from a thumb drive.

In fact, for blogs, there has been kind of a trend towards using Static Site Generators. This project is not a static site generator, but by storing content as json files it can get some of the same benefits and be used in a similar way to using a static site generator. For example you could host a localhost or intranet version of your site for producing and reviewing content, then when ready to publish you could commit the changes to a git repository and then do deployment from git to Azure for example, which would give you a highly scaleable site without the need or cost of a database and with a complete history of changes in git. Personal blogs and sites and small brochure sites are good candidates for not using a database.

Some sites do need a database though and we plan to support using both Entity Framework Core and MongoDb. If you need users to be able to register on your site or if you have more than a few editors, or for larger projects, you will typically want a database.

My plan is to usually build sites without a database (except for large projects), but implement a migration utility to be able to migrate any site from files to a database later if the needs of the project require it.