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.
To use SimpleContent for your own projects, we recommend start with one of our StarterKits which have no "cloudscribe source code" but have only nuget dependencies wired up for you in various common configurations.
- 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 json for pages and can use json 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 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
- More advanced meta data capabilities
- Support for using MongoDb - hoping for a community member to do that
- A Utility for importing the json or xml content into Entity Framework Core or MongoDb for easy migration
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.