A .NET 9 ASP.NET Core Razor Pages implementation of the Astro Starlog template. This project serves as a changelog/release notes documentation system that processes Markdown files with YAML front matter to display software releases in a blog-like format.
- 📝 Markdown-based release documentation with YAML front matter
- 🎨 SCSS compilation with automatic CSS generation
- 📱 Responsive design
- 🔍 SEO-optimized with Open Graph and Twitter Card support
- 🚀 Fast rendering with ASP.NET Core performance
- 📁 File-based content management (no database required)
- .NET 9.0 SDK
- A modern web browser
-
Clone the repository
git clone https://github.com/jakeashcraft/starlog-net.git cd Starlog.Net -
Restore dependencies
dotnet restore
-
Run the application
dotnet run
-
Open your browser
- HTTP: http://localhost:5240
- HTTPS: https://localhost:7268
For development with automatic recompilation on file changes:
dotnet watch rundotnet builddotnet publish -c Releasesrc/
├── Components/ # Razor view components
├── Core/ # Core constants and utilities
├── Models/ # Data models and DTOs
├── Pages/ # Razor Pages
│ ├── Index.cshtml # Homepage (release list)
│ ├── Releases.cshtml # Individual release pages
│ └── Shared/ # Shared layouts and components
├── Services/ # Business logic services
├── wwwroot/ # Static files
│ ├── assets/ # Images and media
│ ├── css/ # Compiled CSS
│ ├── releases/ # Markdown release files
│ └── styles/ # SCSS source files
└── Program.cs # Application entry point
-
Create a new Markdown file in
src/wwwroot/releases/(e.g.,2_1.md) -
Add YAML front matter at the top:
--- title: 'Release 2.1 - Amazing Features' date: '2025-08-18' versionNumber: '2.1.0' releaseName: '2_1' description: 'Brief description of this release' image: src: '../assets/your-image.jpg' alt: 'Alt text for the image' ---
-
Write your release content in Markdown below the front matter:
## What's New in 2.1 ### 🚀 New Features - Feature one - Feature two ### 🐛 Bug Fixes - Fixed issue A - Resolved problem B
title: Display title for the releasedate: Release date in YYYY-MM-DD formatversionNumber: Semantic version numberreleaseName: URL-friendly slug (should match filename without .md)description: Brief description for SEO and previewsimage.src: Path to release image (relative to wwwroot)image.alt: Alt text for accessibility
SCSS files are located in src/wwwroot/styles/:
global.scss- Main stylesheetcolors.scss- Color variableslayout.scss- Layout utilitiestype.scss- Typography styles
SCSS is automatically compiled to CSS during development and build.
- Framework: ASP.NET Core 9.0 (Razor Pages)
- Markdown Processing: Markdig
- YAML Parsing: YamlDotNet
- CSS Processing: AspNetCore.SassCompiler
- Target Framework: .NET 9.0
Key configuration options in appsettings.json:
- Logging levels
- Environment-specific settings
- Static file configuration
Development server configuration in Properties/launchSettings.json:
- HTTP/HTTPS ports
- Environment variables
- Browser launch options
dotnet publish -c Release -o ./publish
cd publish
dotnet Starlog.Net.dlldocker build -t starlog-net .
docker run -p 8080:8080 starlog-net- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is a .NET port of the Astro Starlog template. Please refer to the original template's licensing terms.
- Original Astro Starlog template by the Astro team
- Built with ASP.NET Core and the .NET ecosystem
For issues, questions, or contributions, please open an issue on the project repository.
