{"id":28454938,"url":"https://github.com/fsprojects/fsblog","last_synced_at":"2025-06-28T16:32:28.270Z","repository":{"id":11363042,"uuid":"13797515","full_name":"fsprojects/FsBlog","owner":"fsprojects","description":"Blog aware, static site generation using F#.","archived":false,"fork":false,"pushed_at":"2018-06-26T22:31:34.000Z","size":1936,"stargazers_count":132,"open_issues_count":13,"forks_count":44,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-06-06T21:14:17.534Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://fsprojects.github.io/FsBlog","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fsprojects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-10-23T08:32:34.000Z","updated_at":"2025-05-21T20:32:46.000Z","dependencies_parsed_at":"2022-09-19T11:12:51.292Z","dependency_job_id":null,"html_url":"https://github.com/fsprojects/FsBlog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fsprojects/FsBlog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsprojects%2FFsBlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsprojects%2FFsBlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsprojects%2FFsBlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsprojects%2FFsBlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fsprojects","download_url":"https://codeload.github.com/fsprojects/FsBlog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsprojects%2FFsBlog/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262460254,"owners_count":23314698,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-06T21:14:22.769Z","updated_at":"2025-06-28T16:32:28.264Z","avatar_url":"https://github.com/fsprojects.png","language":"CSS","readme":"[![Issue Stats](http://issuestats.com/github/fsprojects/FsBlog/badge/issue)](http://issuestats.com/github/fsprojects/FsBlog)\n[![Issue Stats](http://issuestats.com/github/fsprojects/FsBlog/badge/pr)](http://issuestats.com/github/fsprojects/FsBlog)\n\n# FsBlog [![NuGet Status](http://img.shields.io/nuget/v/FsBlog.svg?style=flat)](https://www.nuget.org/packages/FsBlog/)\n\n**Progress:** See the Issues and Milestones pages of this repo.\n\n**FsBlog** aims to be a blog-aware static site generator, mostly built in `F#`. But don't worry, you won't even need to know any F# to get up and running. So long as you are comfortable using a command line or terminal, and have a degree of familiarity with Markdown and Razor syntax - you're good to go!\n\nInspired by the likes of **Jekyll** and **Octopress** - and greatly helped along the way by the scripts behind [@tomaspetricek](https://twitter.com/tomaspetricek)'s [personal website](https://github.com/tpetricek/TomaspNet.Website); FsBlog gives the average F# and .NET hacker the tools they need to get a statically built website up and running quickly and hosted somewhere like [GitHub Pages](http://pages.github.com/).\n\nThis set of tools have been pulled together using some of the following community projects:\n\n* [FAKE](http://fsharp.github.io/FAKE/) for the automation and scripting of the different tasks.\n* [F# Formatting](http://tpetricek.github.io/FSharp.Formatting/) which deals with the Markdown and F# processing/colorization.\n* [RazorEngine](https://github.com/Antaris/RazorEngine) which is used for the templating and embedded C# code.\n* Some of the code that calls *RazorEngine* from F# is based on [Tilde](https://github.com/aktowns/tilde).\n* [Bootstrap 3](http://getbootstrap.com/).\n\n## Getting started\n\nYou can just grab the **NuGet** package and jump straight on to **Usage** below.\n\nAlternatively you can fork or clone the [FsBlog repo](https://github.com/fsprojects/FsBlog), then run:\n\n    build\n\n1. On Windows, use the *32-bit* Visual Studio Command Prompt, the 64-bit\n   solution is not defined.\n\nThis will build the tools required for usage below.\n\n## Usage\n\n    fake generate\n\nRegenerates the entire static website from source files (Markdown and `.fsx` files).\n\n    fake preview\n\nGenerates the site and then starts up a local web server and launches the output content from the last time it was generated.\n\n    fake\n\nBut `preview` is also the *default* behaviour when you run the `fake` command without any arguments - so that makes it even easier.\n\n    fake new page=\"about fsblog\"\n\nWill create a new *blank* Markdown file in your blog's source files ready for you to author a non-post page of content.\n\n    fake new post=\"hello markdown\"\n\nWill create a new *blank* Markdown file in your blog's source files ready for you to hack away at your next blog post.\n\n    fake new fsx=\"hello fsharp\"\n\nWill create a new *blank* `.fsx` file in your blog's source files ready for you to hack away at your next code-heavy blog post. To find out more about using `.fsx` files as the source of your posts, check out [F# Formatting: Literate programming](http://tpetricek.github.io/FSharp.Formatting/demo.html).\n    \n    fake clean\n\nWill remove all files from the output folder\n\n## Theming\n\nFsBlog supports theming. New theme can be installed by running:\n\n    fake install theme=\"theme-name\"\n\nOnce the new theme is installed, FsBlog will use the theme to generate the entire site. Themes are located in `themes` folder. Please see the `default` theme for the sample.\n\n## Config.yml\n\nThe `config.yml` is a [YAML](http://yaml.org/) file that contains configuration settings used by FsBlog. You can specify the following settings:\n* `source` : a root folder that contains main razor (index.cshtml) and Markdown (*.md) files to be processed when `fake generate` is run.\n* `blog` : a folder that contains razor (*.cshtml) and Markdown (*.md) files to be processed as blog posts.\n* `content` : a folder contains files for an active theme.\n* `output` : a folder contains generated static website.\n* `themes` : a folder contains FsBlog themes.\n\n## Remarks\n\nNote: the documentation above is currently little more than a specification for the command line tooling. It is currently subject to change.\n\nThis project is at a very early stage - so bare with me.\n\n\n## Maintainer(s)\n\n- [@MattDrivenDev](https://github.com/MattDrivenDev)\n- [@nelak](https://github.com/nelak)\n- [@cdrnet](https://github.com/cdrnet)\n- [@tpetricek](https://github.com/tpetricek)\n\nThe default maintainer account for projects under \"fsprojects\" is [@fsprojectsgit](https://github.com/fsprojectsgit) - F# Community Project Incubation Space (repo management)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffsprojects%2Ffsblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffsprojects%2Ffsblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffsprojects%2Ffsblog/lists"}