Product Mission

Problem

Creating a blog on GitHub Pages powered by Jupyter notebooks with F# language support. The F# notebook ecosystem is fragile: dotnet-interactive is deprecated (though still functional), Verso is too immature to rely on, and IfSharp is abandoned. A reliable authoring and publishing workflow is needed despite this tooling instability.

Target Users

Personal technical blog for sharing ideas, experiments, and writing about F# and functional programming.

Solution

The “freeze” strategy: decouple F# execution from CI/CD publishing. Author notebooks locally using dotnet-interactive’s .net-fsharp Jupyter kernel, execute all cells before committing, and publish through Quarto with freeze: true so GitHub Actions never needs the F# kernel. This isolates the fragile dependency (F# notebook runtime) to the local authoring environment while keeping the publishing pipeline stable and kernel-agnostic.