Project

flatrack

0.01
No commit activity in last 3 years
No release in over 3 years
A rack based static site builder with templates, layouts and project structure based routing.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.5
~> 0.7
~> 2.5
~> 0.4
~> 0.9
~> 3.1
~> 0.20
~> 0.8
~> 0.3

Runtime

< 5.0, > 3.2
~> 2.7
~> 1.4
< 10.4, > 0.8.7
~> 3.2
~> 0.18
~> 1.1
 Project Readme

Flatrack

Version Build Status Coverage Status Code Climate Inline docs Inline docs

About

A simple rack web layer for delivering rendered static files.

Installation

$ gem install flatrack

Creating your Flatrack site

$ flatrack new my-website

Structure

You should have 4 directories:

- assets
- layouts
- pages
- partials

Assets

Location of sprockets assets, flatrack comes with Sass and Coffeescript out of the box.

- images
- javascripts
- stylesheets

Pages

Pages are the guts of your site, this is what your users will ultimately see. Basically put your content here.

Layouts

Layouts are the skin of your site, it's what takes all those guts that your users need and crave and puts them in a nice pretty layout for them to enjoy.

You can also define a custom layout using the following syntax:

<!-- /pages/my-view.html.erb -->
<%- use_layout :custom_layout %>
<p>Hello World</p>

Running your site

$ flatrack start

How it works

Anything in /pages maps to a URL at /, root of a directory will always map to the index.html.* file in it.

for example

GET /foo.html would map to /pages/foo.html.erb, the erb (or any other format) is optional if you wish to render your pages dynamically.

Templating Support

Built in

  • HTML
  • ERB
  • Ruby Evaluated Output

Extensions

Sites using flatrack

Pull Request to add yours!

Contributing

  1. Fork it ( http://github.com/jwaldrip/flat-rack/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request