Giter Club home page Giter Club logo

fsblog's Introduction

Issue Stats Issue Stats

FsBlog NuGet Status

Progress: See the Issues and Milestones pages of this repo.

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!

Inspired by the likes of Jekyll and Octopress - and greatly helped along the way by the scripts behind @tomaspetricek's personal 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.

This set of tools have been pulled together using some of the following community projects:

  • FAKE for the automation and scripting of the different tasks.
  • F# Formatting which deals with the Markdown and F# processing/colorization.
  • RazorEngine which is used for the templating and embedded C# code.
  • Some of the code that calls RazorEngine from F# is based on Tilde.
  • Bootstrap 3.

Getting started

You can just grab the NuGet package and jump straight on to Usage below.

Alternatively you can fork or clone the FsBlog repo, then run:

build
  1. On Windows, use the 32-bit Visual Studio Command Prompt, the 64-bit solution is not defined.

This will build the tools required for usage below.

Usage

fake generate

Regenerates the entire static website from source files (Markdown and .fsx files).

fake preview

Generates the site and then starts up a local web server and launches the output content from the last time it was generated.

fake

But preview is also the default behaviour when you run the fake command without any arguments - so that makes it even easier.

fake new page="about fsblog"

Will create a new blank Markdown file in your blog's source files ready for you to author a non-post page of content.

fake new post="hello markdown"

Will create a new blank Markdown file in your blog's source files ready for you to hack away at your next blog post.

fake new fsx="hello fsharp"

Will 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.

fake clean

Will remove all files from the output folder

Theming

FsBlog supports theming. New theme can be installed by running:

fake install theme="theme-name"

Once 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.

Config.yml

The config.yml is a YAML file that contains configuration settings used by FsBlog. You can specify the following settings:

  • source : a root folder that contains main razor (index.cshtml) and Markdown (*.md) files to be processed when fake generate is run.
  • blog : a folder that contains razor (.cshtml) and Markdown (.md) files to be processed as blog posts.
  • content : a folder contains files for an active theme.
  • output : a folder contains generated static website.
  • themes : a folder contains FsBlog themes.

Remarks

Note: the documentation above is currently little more than a specification for the command line tooling. It is currently subject to change.

This project is at a very early stage - so bare with me.

Maintainer(s)

The default maintainer account for projects under "fsprojects" is @fsprojectsgit - F# Community Project Incubation Space (repo management)

fsblog's People

Contributors

7sharp9 avatar cdrnet avatar codybartfast avatar danielrbradley avatar davidpodhola avatar evelinag avatar forki avatar fsprojectsgit avatar kimsk avatar krzysztof-cieslak avatar mattdrivendev avatar nelak avatar robertpi avatar sergey-tihon avatar simendsjo avatar theimowski avatar tpetricek avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.