Blog

A blog (engine) completely written in C# and Blazor. It aims to be a simple use and easy to extend platform. Blogposts are written in Markdown and are rendered to HTML. This gives all the flexibility needed to express yourself but also have an easy way of creating posts in the first place.

MIT License

Stars
287
Committers
9

Bot releases are hidden (Show)

Blog - v8.0 Latest Release

Published by linkdotnet 7 months ago

Improvements

  • Changed to NCronJob for scheduling jobs to make it more predictable
  • General Test-Setup is easier and more maintainable
  • Fixed a bug where Copy&Paste did not work on MacOS/Safari
  • Update Packages

Bug Fixes

  • The Dashboard showed incorrect (values) due to a bug in the implementation of a background service
Blog - v7.0

Published by linkdotnet 10 months ago

Improvements

  • Reading time is moved when creating the blog post and not calculated on the fly
  • Refactoring the AppConfiguration into the IOptions pattern

Migration

SQL

For SQL databases the following script will create the new ReadingTimeInMinutes column and populate the values:

ALTER TABLE BlogPosts
ADD ReadingTimeInMinutes INT
GO

UPDATE BlogPosts
SET ReadingTimeInMinutes = CEILING(
    (LEN(Content) - LEN(REPLACE(Content, ' ', '')) + 1) / 250.0
    +
    (LEN(Content) - LEN(REPLACE(Content, '![', ''))) / 2.0
)

SELECT * FROM BlogPosts ORDER BY UpdatedDate DESC

Option migrations

Some changes to the appsettings.json have to be made:

{
	//other configuration
-	"AuthenticationProvider": "Auth0",
-	"Auth0": {
+       "Authentication": {
+         "Provider": "Auth0"

Also for AboutMeProfileInformation:

{
-    "AboutMeProfileInformation": {
+    "ProfileInformation": {
Blog - v6.0

Published by linkdotnet 11 months ago

With .net 8 GA - also a new version of the blog is "released".

New Features

  • .net 8 GA upgrade!
  • Added Healthcheck for cloud hosting
  • Cleanup of the application.settings
  • Big improvement for UserRecords. Now, there is an hourly job consolidating those into a new table for quicker Dashboard results.
  • Some improvements thanks to EF 8 - making Tags inline into the BlogPost entity

Improvements

  • Using NSubstitue instead of Moq
  • Update other NuGet packages and js dependencies
Blog - v5.2

Published by linkdotnet about 1 year ago

New features, fixes and improvements:

  • Upgraded to net8.0
  • Polishing reading indicator
  • Added patreon as donation service
  • Added structured data for header
  • Smaller UI/UX improvements
  • Performance improvements
  • Fixed bug in SQL, where tags can't be updated. Migration see #252
Blog - v5.1

Published by linkdotnet over 1 year ago

New release - new features!

Features

  • Reading Indicator that takes only the content without comments into account

Improvements

  • Better indication between drafts and scheduled blog post in Draft Blog Post page
  • Better frequency of checks for publishing (minutely instead of hourly)
  • Support for MySQL (Thanks to @manishtiwari25
  • Use EF8 pre-release and remove some dependencies
  • Auto-Index for EF Code-First
  • Smaller other improvements
Blog - v5.0

Published by linkdotnet over 1 year ago

A new release after quite some time. There are a lot of new features:

Features

  • Using Bootstrap 5.3 to use dark and light mode
  • Ability to schedule posts to publish in the future

Improvements

  • Use the custom paged list to improve scalability
  • Better way of counting words (faster and fewer allocations)
  • DateOnly instead of DateTime for records
  • Don't allow press the publish button multiple times to publish the same article twice
  • Use sliding window for caching

There are some breaking changes:
BlogPost has a new ScheduledPublishDate column as well as UserRecord DateClicked is a Date instead of DateTime2.

Blog - v4.2

Published by linkdotnet almost 2 years ago

Features

  • Full support for light and dark theme (currently it is just reading the system preference and is not selectable)
  • docker files for easier setup in containers

Improvements

  • Smaller refactorings and rem
  • Better toast design thanks to updated packages
Blog - v4.1

Published by linkdotnet almost 2 years ago

This release brings smaller improvements and updates

Improvements

  • Better SEO handling with additional tags (canonical URL as well as discover tags for Google)
  • Bumped some packages from preview to stable release
Blog - v4.0

Published by linkdotnet almost 2 years ago

This is the first new major release aka v4. It brings a lot of improvements and some new features and bug-fixes

New features

  • Ability to add Talks to the AboutMe page
  • Better handling of dirty flag aka getting a pop-up when a blog post has unsaved changes
  • Tags in the blog post page itself to allow users to see similar content

Improvements

  • Big performance improvements across the board
    • Dashboard shows way quicker results
    • Removed unnecessary allocations across a lot of pages
    • Using pooled DbContext
  • Code highlighting in the blog post editor
  • Blog post error validation errors are aligned what the database is capable off
  • Updated to .net 7

Breaking changes

  • SqliteServer is renamed just to Sqlite. This has to be adopted in your appsettings.json
  • For migration (SqlServer/Sqlite) you have to add the following table:
CREATE TABLE [dbo].[Talks](
	[Id] [nvarchar](450) NOT NULL,
	[PresentationTitle] [varchar](256) NOT NULL,
	[Place] [varchar](256) NOT NULL,
	[PublishedDate] [datetime2](7) NOT NULL,
	[Description] [varchar](max) NOT NULL
)
GO

ALTER TABLE [dbo].[Talks] ADD  CONSTRAINT [PK_Talks] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)
Blog - v3.12

Published by linkdotnet about 2 years ago

This release brings two major bug fixes, which are long overdue:

Bug-Fixes

  • Dashboard can now be used with RavenDb or InMemory storage provider as well
  • Use DbContextFactory to overcome some exceptions
Blog - v3.11

Published by linkdotnet about 2 years ago

Big update with lots of smaller features and updates

New features

  • Using NavigationLock to prevent unsaved work to go down the drain
  • Added GitHub sponsor button
  • Show total amount of clicks in dashboard

Improvements

  • Better handling of fonts and performance
  • Update packages to latest .net7 version
  • Use Github font for code as default
Blog - v3.10

Published by linkdotnet over 2 years ago

New Features

  • Added possibility to add a fallback image for the preview. This enables to use latest image formats like avif or webp but also consider older browsers and fallback to jpg or png. To migrate the SQL database:
ALTER TABLE dbo.BlogPosts
ADD PreviewImageUrlFallback NVARCHAR(1024) 
  • Lazy load images under the fold (index page)

Bugs

  • Fixed a bug where unpublished blog posts are listed in the search by tag page
Blog - v3.9

Published by linkdotnet over 2 years ago

Another smaller release addressing performance and usability.

Improvements

  • Removed all external fonts. There are some reasons for that:
    I want this blog to be general purpose. Forcing a font one someone is not the right choice. The second reason is page loading speed. If you are not aware that I use external fonts, chances are that you change a font and still loading unused resources. And the third reason is that I used the Google Font service which is not really GDPR compliant.
  • Aligned styling rules in source code
  • Added some more SEO things (aria-labels, removed empty hrefs)
  • Icons used by this blog are now in woff2 and woff instead of the bloaty formats before

Bug-Fixes

  • Footer is not overlapping on some pages
  • When searching multiple things one after another only the first one was presented
Blog - v3.8

Published by linkdotnet over 2 years ago

This release addresses smaller issue and improves the performance

Improvements

  • Remove font-awesome and use static assets to reduce website site significantly
  • Reintroduced scrollbar for better UX
  • Footer stays always at the bottom so have less moveable content when the site is loaded
  • Annotated entities for SQL persistence provider which brings major performance improvements
  • Updated packages
  • Show amount of blog posts in archive
  • Extended information which are present in the RSS feed
Blog - v3.6

Published by linkdotnet over 2 years ago

This release adds .NET 7 support as well as a image preview to the rss feed plus smaller improvements.

Features

  • RSS Feed also published the thumbnail image

Improvements

  • Smaller performance improvements
Blog - v3.5

Published by linkdotnet over 2 years ago

This release adds a rss feed to the blog which lists all published blog post articles.

Features

  • Added rss feed ( via /feed.rss) to work with RSS feed reader

Improvements

  • Package updates and smaller tweaks in CI/CD
Blog - v3.4

Published by linkdotnet over 2 years ago

This release focuses on bug fixes and smaller improvements in the backend

Features

  • Added Ko-Fi as donation system

Improvements

  • Restructured social accounts. Also Twitter can be added
  • Smaller font-scaling which was taking too much space on mobile
  • Don't set "Update Date" via default
  • SignalR package size increased (to 1 mb). The default was 32kb which can led to exceptions / Issues when writing longer blog posts

Bugfixes

  • Fixed a bug where navigating from one blog post to another will not update the blog post content
Blog - v3.3

Published by linkdotnet over 2 years ago

This release concentrates mainly on smaller improvements and bug fixes

Improvements

  • Restyled Like button to use a clap animation
  • Social accounts are under introduction card so that navbar is cleaner and not bloated
  • Added more icons for navbar

Bugfixes

  • Font on mobile for introduction card was to small
  • Archive url was malformed in sitemap.xml
  • Archive has OgData
  • VisitCounterPage Date selector works better on mobile devices
Blog - v3.2

Published by linkdotnet over 2 years ago

Another big release in the v3.x series. This release will bring some quality of life improvements plus a lot happened in the backend.

New Features

  • Archive was added, which will list all blog posts on a single page
  • Better 404 Page

Improvements

  • Updated project structure (see #55)
  • Included Directoy.Build.props to have common packages in one place

Bugfixes

  • Input was to wide on mobile in AboutMe page
  • Loading animation had white background instead of transparent which lead to "artifacts" when loading
  • Fixed a bug where setting null for BrandUrl or Background image for the introducation card in settings will lead to broken images
Blog - v3.1

Published by linkdotnet over 2 years ago

This release is packed full of new features and improvements.

Features

  • For developers: Coverage report can be created locally (without Rider / Resharper)
  • Redesign of a big chunk of the blog
  • Background Image (IntroductionCard) is completely optional

Improvements

  • CSS refactored or trimmed in some areas
  • Shortcuts do work without any selection
  • Refactored some of the code to use Directory.Build.props

Bugfixes

  • When BlogBrandUrl was set to null it was still received as "image" resulting in an empty a tag
Badges
Extracted from project README's
.NET CodeQL
Related Projects