remove Dir.exists? for ruby 1.8 compat.
[leap_website.git] / README.md
1 About this web application
2 ============================
3
4 The LEAP public website is lightweight rails application that just mostly
5 serves up (semi) static templates.
6
7 No databases are used or harmed in the making of this website.
8
9 The goal with this web app is to be as flexible and lightweight as possible,
10 and to support stellar localization.
11
12 There are numerous ruby tools to build static websites, but I found them to
13 not be good for localization and to be too inflexible.
14
15 Installation
16
17     sudo apt-get install ruby ruby-dev rubygems
18     gem install bundler
19     git clone git://leap.se/leap_website
20     cd leap_website
21     bundle
22
23 Running in development mode
24
25     cd leap_website
26     rails server thin
27
28 Console examples
29
30     rails console
31     rails console production
32     rails dbconsole
33
34 Rake takes
35
36     rake doc:app
37
38 Running in production (with thin)
39
40     bundle exec rake assets:precompile
41     RAILS_ENV=production rails server thin
42
43
44 Modifying pages
45 ======================================
46
47 Edit the HAML files found in leap_website/pages
48
49
50 Deploying
51 ======================================
52
53 Manually
54 ----------------
55
56     rsync -a leap_website server:~
57     ssh server
58     cd leap_website
59     bundle install --deployment
60
61 With Capistrano
62 ---------------------
63
64     Edit config/deploy.rb
65     cap setup
66     cap deploy
67
68 Running with Apache
69 ------------------------
70
71 Install Passenger (mod_rack)
72
73    sudo apt-get install libapache2-mod-passenger
74
75 Configure Apache
76
77     <VirtualHost *:80>
78       ServerName leap.se
79       DocumentRoot /home/leap/leap_website/public
80       <Directory /home/leap/leap_website/public>
81         Allow from all
82         Options -MultiViews
83       </Directory>
84     </VirtualHost>
85
86
87 Development
88 ==============================
89
90 This app uses precompiled assets.
91
92 If you change a sass source file, you must run this before deploying:
93
94   rake assets:precompile RAILS_ENV=production
95
96 To make the stylesheets autogenerate again in development mode, run this:
97
98   rake assets:clean
99
100
101 Development Notes
102 =============================
103
104 Search
105 ---------------------------
106
107 Maybe we should add search.
108
109 This appears to be the most appropriate search tool to use for this static webapp: http://xapian.org/docs/bindings/ruby/
110
111 Some notes on how flask does a similar thing::
112 * http://librelist.com/browser//flask/2012/3/21/maillinglist-archive-searchable/#ff1d34246a16845c410d2c9a411f5829
113 * https://github.com/mitsuhiko/flask/blob/website/flask_website/search.py
114 * https://github.com/mitsuhiko/flask/blob/website/flask_website/views/mailinglist.py
115
116 pure ruby, for ar: https://github.com/dougal/acts_as_indexed/
117
118 Other static CMS in ruby
119 -----------------------------
120
121 * http://nestacms.com/
122 * https://github.com/gma/nesta
123 * https://github.com/gma/nesta-rails
124 * https://github.com/quickleft/regulate -- git, engine, cms, rails
125
126