Building a blog engine in F# with WebSharper

location_city Bengaluru schedule Nov 16th 02:00 - 03:30 PM place Meeting Room 1 people 5 Interested

When it comes to developers blogging, expectations are high and many find that it’s a worthwhile effort to develop simple scripts, tools and even full engines to enhance and support blogging about their favorite language. In this hands-on session, you will implement your own blog engine from scratch in just a few hundred lines of F# code using WebSharper, and use its static file generation capabilities to generate blog pages that you can deploy directly into GitHub Pages or host in any web server. The resulting blog can easily be styled using WebSharper’s powerful templating capabilities, and even automated to rebuild when you commit new content or blog articles in your blog repository. You will also learn about adding dynamic functionality to your generated blog pages, or even turning your blog engine to a hosted solution that provides further capabilities as well. No more searching for blog engines with the right features, code what you need and enjoy!


Outline/Structure of the Tutorial

  • Getting started with WebSharper
  • Introduction to sitelets, a type-safe abstraction for server-side functionality in full-stack WebSharper applications
  • Static content/site generation from sitelets
  • Basics of dealing with markdown
  • HTML templating with WebSharper
  • Putting everything together
  • Advanced topics - switching to a hosted solution, adding CMS capabilities
  • Q&A

Learning Outcome

Attendees will be able to develop HTML applications in F#, implement a simple blog engine with generated pages for each article, seamlessly incorporate dynamic content, and understand where to add their customizations if needed.

Target Audience

.NET/FP developers

Prerequisites for Attendees

Familiarity with markdown as a document format, F# and WebSharper are a plus.

schedule Submitted 10 months ago

  • Liked Adam Granicz

    Adam Granicz - Full-stack, functional web development on WebAssembly with F# and Bolero

    Adam Granicz
    Adam Granicz
    schedule 10 months ago
    Sold Out!
    45 Mins

    Bolero ( is a functional, reactive web development library for F# developers targeting WebAssembly via Blazor. Next to building on a familiar Model-View-Update (MVU) architecture, Bolero also integrates a number of power features from WebSharper ( to enable ultra-efficient, full-stack F# web applications. By plugging into the ever-growing Blazor ecosystem, you will enjoy developing most of your code base without JavaScript, and discover a new and promising alternative to building performant web applications. Come to this talk and learn everything you need to know about developing Bolero applications, and jumpstart your productivity with skills that will leave any Blazor developer impressed.

  • Liked Harald Schult Ulriksen

    Harald Schult Ulriksen - From C# monolith to functional actors with Orleans and F#

    45 Mins

    This is an experience talk from my work with NRK, the

    Norwegian Broadcasting Company, Norway's public broadcaster.

    Over the last 3-4 years we've taken the TV and radio streaming sites from a monolith to multiple

    domain based services. We'll look at how we've transitioned the from a pure object oriented development team to a function friendly organzation, how gorwing the organization forced us to work with Conways law, as well as a deep dive into the bounded context of personalization.

    Keeping track of user progress and favorite shows is the responsibility of Personalization domain, with high performance requirements and surprisingly

    complex business rules. With new business rules and changing architecture, Personalization was in dire need of work. Combining FSharp and its typesystem and immutability with Orleans, an open source Virtual Actor platform for distributed high-scale computing applications, provided us with functional programming with OO principles in a fast and scalable platform. I'll show why we chose this path, the benefits we gained going from C# to F# and some of the lessons learned building on an actor model.