It's been a busy few weeks since mid-September. Here's a rundown of the bigger changes that have landed on the site.
Admin Experience
The admin side of the site got a lot of attention. The dashboard and chat pages were polished to look more professional, and breadcrumb navigation now shows up consistently across blog, admin, and account pages. Blog management got nicer action buttons, archive navigation improved, and you can now sort posts in the admin list. Contact messages can be bulk-deleted, marked read/unread, and viewed raw.
On the analytics side, admin views can be excluded by IP so your own traffic doesn't skew numbers, and total view counts now come from saved view logs. There's also a new SiteSetting entity so post limits (like top posts in the sidebar) are configurable from the admin UI.
Real-Time Chat
A live chat system was added using SignalR, with an admin UI for managing chat sessions (more on SignalR chat changes). Guest chat got several fixes: stale sessions clear after a chat ends, the input re-enables on new requests, and the widget delays closing when a chat is rejected or ended so the message doesn't vanish instantly.
Blog & Content Features
- Archive by year/month with caching and AJAX loading.
- Code snippets with Highlight.js syntax highlighting, scoped to blog posts.
- Hero images can now be set per post via URL or upload.
- Image upload & management in the admin manager with an AJAX UI.
- Private posts can be hidden from public listings.
- Soft delete for posts and comments, plus the ability to like posts.
- SEO improvements including meta descriptions, a sitemap, and user tracking fields.
Search & Discovery
Search was added to the blog, the search button now uses an icon, tag suggestions were improved, and the sidebar's top posts are configurable. Breadcrumbs also make it easier to navigate back out of a post or tag page.
User Accounts
User profiles now support a display name and can be edited. Email confirmation and user blocking were added, and the last sign-in time is tracked.
Behind the Scenes
- Bootstrap 5.3.3 was added via LibMan.
- Caching and cache invalidation were added to the blog controller for resilience.
- Exception handling, null safety, and DI were cleaned up.
- A GitHub Actions deployment workflow was added, with rsync over SSH on port 2222 (see more details about rsync changes).
- Google Analytics and AdSense scripts were added to the layout, but excluded from admin/account pages.
- A
Privacy Policypage was rewritten and anads.txtfile was included.
Styling & Polish
Dark mode got several fixes, including breadcrumb colors, contact action styles, and admin log deletion UI. The hero section was redesigned with a banner image, branding was modernized, and the favicon went through a few iterations.
If something looks different or you hit a bug, let me know.
Comments (0)
Please sign in to comment.