https://github.com/makevoid/fivetastic
create sites and apps with HAML, CoffeeScript and Sass on the clientside - status: the concept is something but the project needs a bit of a rewrite :)
https://github.com/makevoid/fivetastic
Last synced: 7 months ago
JSON representation
create sites and apps with HAML, CoffeeScript and Sass on the clientside - status: the concept is something but the project needs a bit of a rewrite :)
- Host: GitHub
- URL: https://github.com/makevoid/fivetastic
- Owner: makevoid
- Created: 2011-10-23T03:13:37.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2012-04-27T03:27:50.000Z (almost 14 years ago)
- Last Synced: 2025-05-14T01:59:05.644Z (9 months ago)
- Language: JavaScript
- Homepage: http://fivetastic.makevoid.com
- Size: 872 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# FiveTastic
### create sites and apps with HAML, CoffeeScript and Sass on the clientside
### the content it's static - you can deploy everywhere!
http://fivetastic.org
### Intro:
To start your own site/app with FiveTastic:
- fork/download fivetastic (forking is good so you can update to the latest version fairly easily)
- use a standard webserver like apache to host it or follow the following rules to launch a ruby rack server
launch server:
rackup
note: if you don't have rack installed
gem install bundler
bundle install
in the app's folder
then visit
### Guide:
What to edit:
all the files outside fivetastic folder are your app!
so to edit the template/layout you want to go to:
haml/layout.haml
for the default page:
haml/index.haml
### Routes
Routes are defined in routes.json as a JSON hash.
{
"/": "index", # this maps the root url to a page named index
"/page": "page", # standard mapping
"/category/*": "category" # star route, maps all urls starting with '/category/'
}
### Libraries:
- Coffeescript
- HAML
- SASS
- JQuery/Zepto
## Features:
- loads HAML and SASS files asynchronously (ajax)
- has layout file (reuse html)
- handles history changes (pushState/onpopstate)
- integrates editor to develop directly into the browser (CodeMirror editor, the files are saved into the browser's localStorage)
- host it everywhere! (it's only html and js)
- supports PHP pages
### browsers supported:
- Chrome
- Safari 4+
- FF 3.6+
- IE 7+
### Easy hosting!
It's static! host it everywhere!
You can apache, nginx etc..
note: for apache you need to copy the .htaccess file and have mod_rewrite module enabled
### Deploy:
host it on your usual web server (apache, nginx etc) by putting this in your .htaccess or virtualhost
apache:
see .htaccess
nginx:
if (!-e $request_filename) {
rewrite ^.+$ / break;
}
### Cloud9 IDE Integration
To make a fivetastic app and develop it easily online:
- fork the makevoid/fivetastic repo (should be this one)
- go into your cloud9 account on http://cloud9ide.com
- make sure github integration is activated
- choose the project from the list and clone it
- open the project
- in the shell/cli at the bottom of the editor type:
>
npm install coffeee-script
- press the '> run' button or 'Run Configurations...' to open the run configurations
- add a new run configuration
- choose a name and put "deploy/cloud9.js" as 'File path'
- press '> run'
- click on the first url/link appeared in console (should be something like 'http://fivetastic.username.cloud9ide.com')
you should see fivetastic default index page, you can remove the default haml/sass and roll your own!
enjoy!
### default folders and files:
/
/assets/
app.css
app.js
imgs
/coffee/
app.coffee
/haml/
index.haml
layout.haml
/sass/
app.sass
mixins.sass
### vendored files:
coffeescript: http://jashkenas.github.com/coffee-script/extras/coffee-script.js
haml: https://github.com/uglyog/clientside-haml-js/tree/master/lib
jquery: https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
### Seo support
Use a proxy that matches the user agent and redirects the request to another server that has your content and builds a landing page, this will be a feature of fiveapi.com
### TODO:
- specs + rewrite using better modularity (in progress..)
- handle 404s
- relative paths support (to try it without a web server)
- update codemirror
- support pushstate in IE8 trough https://github.com/balupton/history.js
- full router support
- markdown support
- rake task to generate RapidWeaver Template
- update vendored files
- add mustache support
## Contributing:
- fork the project, make changes
- run tests in your browser (see specs section below)
- send me a pull request
### things to know
if you make changes to javascript files, run:
rake compile_js
to update vendor/all.js that contains all vendored libs and init.js, all in one file
(for coffee files is not needed because they're compiled clientside)
### Specs:
### setup test environment:
FiveTastic uses jasmine-headless-webkit ruby gem to run js specs, more infos here: http://johnbintz.github.com/jasmine-headless-webkit/
Basically you have to install Qt
for osx:
brew install qt
and then :
cd fivetastic
bundle
### run specs:
ruby (rspec):
cd fivetastic
time rspec spec/acceptance/fivetastic_spec.rb
js (jasmine):
cd fivetastic
time jasmine-headless-webkit -j spec/jasmine.yml -c