{"id":19100284,"url":"https://github.com/ofpinewood/pineblog","last_synced_at":"2025-04-18T17:33:10.383Z","repository":{"id":40798958,"uuid":"196160160","full_name":"ofpinewood/pineblog","owner":"ofpinewood","description":"A light-weight blogging engine written in ASP.NET Core MVC Razor Pages, using Entity Framework Core or MongoDb.","archived":false,"fork":false,"pushed_at":"2024-07-05T09:33:03.000Z","size":9262,"stargazers_count":64,"open_issues_count":14,"forks_count":11,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-10-07T19:37:21.882Z","etag":null,"topics":["aspnetcore","blog","blogging-engine","entity-framework","mongodb","mvc-razor-pages"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ofpinewood.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-10T08:00:21.000Z","updated_at":"2024-07-04T17:39:23.000Z","dependencies_parsed_at":"2024-06-21T16:53:42.825Z","dependency_job_id":"dae1ab33-17ac-4be2-ab63-54d5bf83ea47","html_url":"https://github.com/ofpinewood/pineblog","commit_stats":{"total_commits":133,"total_committers":5,"mean_commits":26.6,"dds":"0.45112781954887216","last_synced_commit":"00e75f6e4001f38758ab3be1deff4e007b228397"},"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ofpinewood%2Fpineblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ofpinewood%2Fpineblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ofpinewood%2Fpineblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ofpinewood%2Fpineblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ofpinewood","download_url":"https://codeload.github.com/ofpinewood/pineblog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223104510,"owners_count":17088198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aspnetcore","blog","blogging-engine","entity-framework","mongodb","mvc-razor-pages"],"created_at":"2024-11-09T03:52:44.472Z","updated_at":"2025-04-18T17:33:10.375Z","avatar_url":"https://github.com/ofpinewood.png","language":"C#","funding_links":[],"categories":["mongodb"],"sub_categories":[],"readme":"# PineBlog \u003cimg src=\"pineblog-logo-256x256.gif\" alt=\"PineBlog\" height=\"44\" align=\"left\" /\u003e\n\n[![Build Status](https://dev.azure.com/ofpinewood/GitHub/_apis/build/status/ofpinewood.pineblog?branchName=main)](https://dev.azure.com/ofpinewood/GitHub/_build/latest?definitionId=14\u0026branchName=main)\n[![NuGet Badge](https://img.shields.io/nuget/v/Opw.PineBlog.svg)](https://www.nuget.org/packages/Opw.PineBlog/)\n[![License: MIT](https://img.shields.io/github/license/ofpinewood/pineblog.svg)](https://github.com/ofpinewood/pineblog/blob/main/LICENSE)\n\nPineBlog 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. \n\n![PineBlog screenshot](docs/screenshot.png)\n\n### Features\n\n- Markdown post editor ([SimpleMDE](https://simplemde.com/))\n- File management\n- Light-weight using Razor Pages\n- SEO optimized\n- Open Graph protocol\n- RSS and ATOM feeds\n- Basic search\n- Clean Architecture (youtube: [Clean Architecture with ASP.NET Core](https://youtu.be/_lwCVE_XgqI))\n- Entity Framework Core, SQL database\n- or MongoDb ([MongoDB.Driver](https://www.nuget.org/packages/mongodb.driver))\n- Azure Blob Storage, for file storage\n- ..only a blogging engine, nothing else..\n\n\u003e More about the features: [features](https://github.com/ofpinewood/pineblog/tree/main/docs/features.md)\n\n### What is not included\nBecause 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.\n\n- Authentication and authorization\n\n\u003e **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.\n\n## Where can I get it?\nYou can install the [Opw.PineBlog](https://www.nuget.org/packages/Opw.PineBlog/) metapackage from the console.\n\n``` cmd\n\u003e dotnet add package Opw.PineBlog\n```\n\nThe Opw.PineBlog metapackage includes the following packages.\n\n- **Opw.PineBlog.EntityFrameworkCore package**\nThe PineBlog data provider that uses Entity Framework Core.\n[![NuGet Badge](https://img.shields.io/nuget/v/Opw.PineBlog.EntityFrameworkCore.svg)](https://www.nuget.org/packages/Opw.PineBlog.EntityFrameworkCore/)\n\n- **Opw.PineBlog.RazorPages package**\nThe PineBlog UI using ASP.NET Core MVC Razor Pages.\n[![NuGet Badge](https://img.shields.io/nuget/v/Opw.PineBlog.RazorPages.svg)](https://www.nuget.org/packages/Opw.PineBlog.RazorPages/)\n\n- **Opw.PineBlog.Core package**\nThe PineBlog core package. This package is a dependency for `Opw.PineBlog.RazorPages` and `Opw.PineBlog.EntityFrameworkCore`.\n[![NuGet Badge](https://img.shields.io/nuget/v/Opw.PineBlog.Core.svg)](https://www.nuget.org/packages/Opw.PineBlog.Core/)\n\n\u003e For using MongoDb, see [Using MongoDb](https://github.com/ofpinewood/pineblog/tree/main/docs/mongodb.md) on how to setup that.\n\n## Getting started\nSee: [Getting started](https://github.com/ofpinewood/pineblog/tree/main/docs/getting-started.md)\n\n## Documentation\nFor more information, please check the documentation.\n\n- [Getting started](https://github.com/ofpinewood/pineblog/tree/main/docs/getting-started.md)\n- [Customizing the layout](https://github.com/ofpinewood/pineblog/tree/main/docs/custom-layout.md)\n- [Features](https://github.com/ofpinewood/pineblog/tree/main/docs/features.md)\n\nFor technical background information, check the blog: [ofpinewood.com](https://ofpinewood.com/Blog?category=pineblog).\n\n## Samples\n- The [sample project](https://github.com/ofpinewood/pineblog/tree/main/samples/Opw.PineBlog.Sample) contains an example web application with PineBlog.\n- The [NuGet sample project](https://github.com/ofpinewood/pineblog/tree/main/samples/Opw.PineBlog.Sample.NuGet) contains an example web application using just the NuGet packages.\n\n**Check the code** :nerd_face:\n\n## Usage\nPineBlog is used on the following website:\n- [ofpinewood.com](https://ofpinewood.com)\n\n## Contributing\nWe accept fixes and features! Here are some resources to help you get started on how to contribute code or new content.\n\n* [Contributing](https://github.com/ofpinewood/pineblog/blob/main/CONTRIBUTING.md)\n* [Code of conduct](https://github.com/ofpinewood/pineblog/blob/main/CODE_OF_CONDUCT.md)\n\n---\nCopyright \u0026copy; 2024, [Of Pine Wood](http://ofpinewood.com).\nCreated by [Peter van den Hout](http://ofpinewood.com).\nReleased under the terms of the [MIT license](https://github.com/ofpinewood/pineblog/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fofpinewood%2Fpineblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fofpinewood%2Fpineblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fofpinewood%2Fpineblog/lists"}