Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


  • Generate static website from Markdown & F# Script files as content.
  • Blog posts & single pages "article model" => metadata can be from file name, folder structure, or "encoded" file content
    • Title
    • Date
    • Abstract (=> separator in file) VS extracted first words used in listing => standalone abstract
    • URL from file name
    • Lang given by first level dir in sources
    • Type of article: blog post, page... => from second level dir in sources
    • Tags to classify articles
    • UniqueKey
  • Configurable menu/navbar and localized strings through config.fsx file
  • Layouts localized : 1 for blog post, 1 for single pages
    • Header with navbar
    • Footer
  • Listing pages localized : blog home (limit nb of posts) + by tag, by date (archives) => through grouping functions on metadata
  • Manage several language for a same site :
    • Switch from one lang to another if several articles with same UniqueKey exist
  • Deploy to gh-pages branch automatically (or master if [username] repository)
  • 404 page
  • Pretty code formatting based on FSharp.Formatting
  • SEO:
  • Google Analytics + cookies warning
  • Comments integrated with Disqus (make it configurable)
  • Global RSS feeds by language

Features TODO

  • SEO:
    • Google Webmaster Tools guidelines
    • XML sitemap
  • Links to share articles on Twitter or Linked In
  • Links checker : detect links that does not return HTTP Code 200
  • Tag specific RSS feeds
  • Tag cloud canvas :
  • Author ? Displayed on posts + page by authors
  • Custom theme: layout, content files (css, js, images)


  • Put more code from build.fsx to tools dir
  • Add Unit Tests
  • Tags and archives are mostly the same : a listing layout and a grouping function
  • Avoid overflow on code blocks (really awful in mobile view)


F#/FSharp.Formatting sources for






No releases published


No packages published