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 http://localhost:9292
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 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/'
}
- Coffeescript
- HAML
- SASS
- JQuery/Zepto
- 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
- Chrome
- Safari 4+
- FF 3.6+
- IE 7+
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
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;
}
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!
/
/assets/
app.css
app.js
imgs
/coffee/
app.coffee
/haml/
index.haml
layout.haml
/sass/
app.sass
mixins.sass
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
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
-
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
- fork the project, make changes
- run tests in your browser (see specs section below)
- send me a pull request
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)
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
ruby (rspec):
cd fivetastic
time rspec spec/acceptance/fivetastic_spec.rb
js (jasmine):
cd fivetastic
time jasmine-headless-webkit -j spec/jasmine.yml -c