All Projects → ofpinewood → pineblog

ofpinewood / pineblog

Licence: MIT license
A light-weight blogging engine written in ASP.NET Core MVC Razor Pages, using Entity Framework Core or MongoDb.

Programming Languages

C#
18002 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
SCSS
7915 projects

Projects that are alternatives of or similar to pineblog

Onion Architecture Asp.net Core
WhiteApp API solution template which is built on Onion Architecture with all essential feature using .NET 5!
Stars: ✭ 196 (+226.67%)
Mutual labels:  aspnetcore, entity-framework
react-redux-aspnet-core-webapi
No description or website provided.
Stars: ✭ 34 (-43.33%)
Mutual labels:  aspnetcore, entity-framework
OrdersManagementSystem
Project demonstrates usage of Prism composition library, Material design library, SQL Server, Entity Framework in WPF application
Stars: ✭ 29 (-51.67%)
Mutual labels:  aspnetcore, entity-framework
Efsecondlevelcache.core
Entity Framework Core Second Level Caching Library
Stars: ✭ 300 (+400%)
Mutual labels:  aspnetcore, entity-framework
Dntidentity
A highly customized sample of the ASP.NET Core Identity
Stars: ✭ 145 (+141.67%)
Mutual labels:  aspnetcore, entity-framework
Aspnetcore Ddd
Full ASP.NET Core 3.1 LTS application with DDD, CQRS and Event Sourcing
Stars: ✭ 88 (+46.67%)
Mutual labels:  aspnetcore, entity-framework
SignalR-Core-SqlTableDependency
Shows how the new SignalR Core works with hubs and sockets, also how it can integrate with SqlTableDependency API.
Stars: ✭ 36 (-40%)
Mutual labels:  aspnetcore, entity-framework
Run Aspnetcore Cqrs
Real world Enterprise CRM application example of ASP.NET Core + Angular web application. Implemented CQRS Design Pattern for ASP.NET Core + Angular reference application, demonstrating a layered application architecture with DDD best practices. Download 100+ page eBook PDF from here ->
Stars: ✭ 152 (+153.33%)
Mutual labels:  aspnetcore, entity-framework
Efcoresecondlevelcacheinterceptor
EF Core Second Level Cache Interceptor
Stars: ✭ 227 (+278.33%)
Mutual labels:  aspnetcore, entity-framework
minimal-api-example
Original blog post: https://nikiforovall.github.io/dotnet/aspnetcore/2021/09/10/opinionated-minimal-api.html
Stars: ✭ 39 (-35%)
Mutual labels:  aspnetcore
POS---Point-Of-Sales
Point of sales proof of concept developed using Asp.Net Core 2.2. Features: Customer, Vendor, Product, Purchase Order, Goods Receive, Sales Order, Inventory Transactions and POS form.
Stars: ✭ 120 (+100%)
Mutual labels:  aspnetcore
SharpPlugs
.Net Core 鋒利扩展
Stars: ✭ 26 (-56.67%)
Mutual labels:  aspnetcore
BlipBinding
ASP.NET MVC case study solution for PluralSight Guides. Demonstrates how to use default MVC model binding with hierarchical form data.
Stars: ✭ 29 (-51.67%)
Mutual labels:  entity-framework
AspNetCore6Experiments
ASP.NET Core Blazor BFF with Azure AD and Razor page
Stars: ✭ 43 (-28.33%)
Mutual labels:  aspnetcore
https-aspnetcore-in-docker
ASP.NET Core app on HTTPS in Docker
Stars: ✭ 24 (-60%)
Mutual labels:  aspnetcore
AspNetCore
App Metrics Extensions for AspNet Core
Stars: ✭ 52 (-13.33%)
Mutual labels:  aspnetcore
SeoTags
SeoTags create all SEO tags you need such as meta, link, twitter card (twitter:), open graph (og:), and JSON-LD schema (structred data).
Stars: ✭ 113 (+88.33%)
Mutual labels:  aspnetcore
Aspnetcore Vueclimiddleware
Helpers for building single-page applications on ASP.NET MVC Core using Vue Cli or Quasar Cli.
Stars: ✭ 253 (+321.67%)
Mutual labels:  aspnetcore
MinimalApi
ASP.NET Core 7.0 - Minimal API Example - Todo API implementation using ASP.NET Core Minimal API, Entity Framework Core, Token authentication, Versioning, Unit Testing, Integration Testing and Open API.
Stars: ✭ 156 (+160%)
Mutual labels:  aspnetcore
dotnet-minimal-api-integration-testing
An example of integration testing ASP.NET Core Minimal hosting and APIs
Stars: ✭ 237 (+295%)
Mutual labels:  aspnetcore

PineBlog PineBlog

Build Status NuGet Badge License: MIT

PineBlog is a light-weight blogging engine written in ASP.NET Core MVC Razor Pages, using Entity Framework Core or MongoDb. It is highly extendable, customizable and easy to integrate in an existing web application.

PineBlog screenshot

Features

  • Markdown post editor (SimpleMDE)
  • File management
  • Light-weight using Razor Pages
  • SEO optimized
  • Open Graph protocol
  • RSS and ATOM feeds
  • Basic search
  • Clean Architecture (youtube: Clean Architecture with ASP.NET Core)
  • Entity Framework Core, SQL database
  • or MongoDb (MongoDB.Driver)
  • Azure Blob Storage, for file storage
  • ..only a blogging engine, nothing else..

More about the features: features

What is not included

Because PineBlog is very light-weight it is not a complete web application, it needs to be integrated in an existing web application or you need to create a basic web application for it. There are a few things PineBlog depends on, but that it does not provide.

  • Authentication and authorization

Note: The admin pages require that authentication/authorization has been setup in your website, the admin area has a AuthorizeFilter with the default policy set to all pages in that area folder.

Where can I get it?

You can install the Opw.PineBlog metapackage from the console.

> dotnet add package Opw.PineBlog

The Opw.PineBlog metapackage includes the following packages.

  • Opw.PineBlog.EntityFrameworkCore package The PineBlog data provider that uses Entity Framework Core. NuGet Badge

  • Opw.PineBlog.RazorPages package The PineBlog UI using ASP.NET Core MVC Razor Pages. NuGet Badge

  • Opw.PineBlog.Core package The PineBlog core package. This package is a dependency for Opw.PineBlog.RazorPages and Opw.PineBlog.EntityFrameworkCore. NuGet Badge

For using MongoDb, see Using MongoDb on how to setup that.

Getting started

You add the PineBlog services and the Razor Pages UI in the Startup.cs of your application.

public void ConfigureServices(IServiceCollection services)
{
    ...
    services.AddPineBlog(Configuration);

    services.AddRazorPages().AddPineBlogRazorPages();
    // or services.AddMvcCore().AddPineBlogRazorPages();
    // or services.AddMvc().AddPineBlogRazorPages();
    ...
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{

    // Make sure you enable static file serving
    app.UseStaticFiles();

    ...
    app.UseEndpoints(endpoints =>
    {
        // make sure to add the endpoint mapping for both RazorPages and Controllers
        endpoints.MapRazorPages();
        endpoints.MapControllers();
    });
    ...
}

NOTE: Make sure you enable static file serving app.UseStaticFiles();, to enable the serving of the css and javascript from the Opw.PineBlog.RazorPages packages.

See Customizing the layout on how to setup the layout pages, css and javascript.

Configuration

And a few properties need to be configured before you can run your web application with PineBlog.

{
    "ConnectionStrings": {
        "DefaultConnection": "Server=inMemory; Database=pineblog-db;"
    },
    "PineBlogOptions": {
        "Title": "PineBlog",
        "Description": "A blogging engine based on ASP.NET Core MVC Razor Pages and Entity Framework Core",
        "ItemsPerPage": 5,
        "CreateAndSeedDatabases": true,
        "ConnectionStringName": "DefaultConnection",
        "AzureStorageConnectionString": "UseDevelopmentStorage=true",
        "AzureStorageBlobContainerName": "pineblog",
        "FileBaseUrl": "http://127.0.0.1:10000/devstoreaccount1"
    }
}

Blog Settings ConfigurationProvider

To be able to update the blog settings from the admin pages, you need to add the PineBlog IConfigurationProviders to the IConfigurationBuilder in the Program.cs. Add config.AddPineBlogEntityFrameworkCoreConfiguration(reloadOnChange: true); to ConfigureAppConfiguration(..) on the IWebHostBuilder.

WebHost.CreateDefaultBuilder(args)
    .UseStartup<Startup>()
    .ConfigureAppConfiguration((hostingContext, config) => {
        config.AddPineBlogEntityFrameworkCoreConfiguration(reloadOnChange: true);
    });

Documentation

For more information, please check the documentation.

For technical background information, check the blog: ofpinewood.com.

Samples

Check the code 🤓

Demo website

The demo website is a playground to check out PineBlog. You can write and publish posts, upload files and test application before install. And no worries, it is just a sandbox and will clean itself.

Url: pineblog.azurewebsites.net
Username: [email protected]
Password: demo

Usage

PineBlog is used on the following website:

Contributing

We accept fixes and features! Here are some resources to help you get started on how to contribute code or new content.


Copyright © 2021, Of Pine Wood. Created by Peter van den Hout. Released under the terms of the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].