Hand-crafted frontend development
Middleman is a static site generator using all the shortcuts and tools in modern web development. Check out middlemanapp.com for detailed tutorials, including a getting started guide. You can also follow @middlemanapp for updates.
These days, many websites are built with an API in mind. Rather than package the frontend and the backend together, both can be built and deployed independently using the public API to pull data from the backend and display it on the frontend. Static websites are incredibly fast and require very little RAM. A front-end built to stand-alone can be deployed directly to the cloud or a CDN. Many designers and developers simply deliver static HTML/JS/CSS to their clients.
Middleman gives the stand-alone developer access to all these tools and many, many more.
Middleman is built on Ruby and uses the RubyGems package manager for installation. These are usually pre-installed on Mac OS X and Linux. Windows users can install both using RubyInstaller. For windows RubyInstaller-Devkit is also required.
gem install middleman
Once Middleman is installed, you will have access to the
middlemancommand. First, let's create a new project. From the terminal:
middleman init MY_PROJECT
This will create a new Middleman project located in the "MY_PROJECT" directory. This project contains a
config.rbfile for configuring Middleman and a
Change directories into your new project and start the preview server:
cd MY_PROJECT middleman server
The preview server allows you to build your site, by modifying the contents of the
sourcedirectory, and see your changes reflected in the browser at:
sourcedirectory. When you're ready to use more complex templates, simply add the templating engine's extension to the file and start writing in that format.
For example, say I am working on a stylesheet at
source/stylesheets/site.cssand I'd like to start using Sass. I would rename the file to
source/stylesheets/site.css.scssand Middleman will automatically begin processing that file as Sass. The same would apply to CoffeeScript (
.js.coffee), Haml (
.html.haml) and any other templating engine you might want to use.
Finally, you will want to build your project into a stand-alone site. From the project directory:
config.rbfile to see some of the most common extensions which can be activated.
A full set of in-depth instructional guides are available on the official website at: https://middlemanapp.com
Additionally, up-to-date generated code documentation is available on RubyDoc
The official community forum is available at: https://forum.middlemanapp.com
This library aims to adhere to Semantic Versioning 2.0.0. Violations of this scheme should be reported as bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, that version should be immediately yanked and/or a new version should be immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new major versions. As a result of this policy, you can (and should) specify a dependency on this gem using the Pessimistic Version Constraint with two digits of precision. For example:
spec.add_dependency 'middleman-core', '~> 4.0'
Copyright (c) 2010-today Thomas Reynolds. MIT Licensed, see LICENSE for details.