Frankenblog is a blog template that mixes a Jekyll static site with .NET Core command-line tools, allowing developers to manage a Jekyll blog through dotnet run commands instead of raw Ruby CLI.
What is Frankenblog?
Frankenblog is a hybrid blog template built on Jekyll's static site generator with command-line operations rewritten in .NET Core using the Oakton library. It takes a standard Jekyll project structure and adds a .NET Core console application that exposes commands such as info, server, and new. The template is authored by Khalid Abuhakmeh and targets developers who are comfortable with .NET but new to Ruby-based Jekyll workflows. The repository is released into the public domain under the Unlicense.
Key Features
- .NET Core commands — Runs Jekyll operations through
dotnet runwith custom commands likeinfo,server, andnew, removing the need to touch Ruby commands directly (beyond initial setup). - Jekyll static site — Uses Jekyll with Bundler for theme and plugin management, producing a static blog that can be hosted anywhere.
- Future drafts — The
servercommand starts the Jekyll server with thefutureflag enabled so draft posts dated ahead are visible during development. - Post scaffolding — The
newcommand accepts a title argument, such asdotnet run new "this is my awesome new blog post", and creates a new post file with options shown at runtime. - Status information — The
infocommand reports how the blog is configured and its current health. - Public domain license — The entire template is released under the Unlicense, so it can be copied, modified, sold, and used for any purpose without restrictions.
Who is it for?
- .NET developers — Those who want to start a Jekyll blog without learning Ruby's command-line interface; they can use
dotnet runfor daily tasks. - Bloggers migrating from .NET — Developers coming from ASP.NET or other .NET stacks who prefer a static site generator and want a familiar tooling experience.
- Hacktoberfest participants — The repository is tagged with
hacktoberfest, making it a candidate for open-source contributions during that event.
What can you do with Frankenblog?
- Create a new post quickly — Run
dotnet run new <title>to scaffold a blog post file without manually copying front matter or creating the correct filename. - Preview drafts locally — Use
dotnet run serverto launch a local Jekyll server that includes future-dated drafts, ideal for reviewing content before publication. - Inspect blog setup — Run
dotnet run infoto get a status readout of your blog configuration, useful for debugging setup issues.
How does Frankenblog work?
After cloning the repository, install the prerequisites: .NET 5 and Ruby. Then run gem install jekyll bundler and bundle install to set up Jekyll. The .NET Core project, built on Oakton, intercepts commands passed to dotnet run and translates them into Jekyll invocations. For example, dotnet run server starts the Jekyll server, and dotnet run new creates a new post.
FAQ
Is Frankenblog free?
Yes, Frankenblog is released under the Unlicense, a public-domain dedication that allows free use, modification, and distribution for any purpose.
What do I need to run Frankenblog?
You need .NET 5 and Ruby installed on your machine, plus the Jekyll and Bundler gems. The README lists these as prerequisites and provides setup commands.
Does Frankenblog replace Jekyll's command-line tools?
No, Frankenblog wraps Jekyll commands behind .NET Core. You still need Jekyll installed, but you can invoke its operations via dotnet run commands like info, server, and new.





