baf88d6ebd0c03918afca8ec41550fd6b1d1c081
[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 Optional
24
25     sudo apt-get install python-docutils    # for ReStructuredText support
26
27 Running in development mode
28
29     cd leap_website
30     rails server thin
31
32 Console examples
33
34     rails console
35     rails console production
36     rails dbconsole
37
38 Rake takes
39
40     rake doc:app
41
42 Running in production (with thin)
43
44     bundle exec rake assets:precompile
45     RAILS_ENV=production rails server thin
46
47
48 Modifying pages
49 ======================================
50
51 Edit the HAML files found in leap_website/pages
52
53
54 Deploying
55 ======================================
56
57 Manually
58 ----------------
59
60     rsync -a leap_website server:~
61     ssh server
62     cd leap_website
63     bundle install --deployment
64
65 With Capistrano
66 ---------------------
67
68     Edit config/deploy.rb
69     cap setup
70     cap deploy
71
72 Running with Apache
73 ------------------------
74
75 Install Passenger (mod_rack)
76
77    sudo apt-get install libapache2-mod-passenger
78
79 Configure Apache
80
81     <VirtualHost *:80>
82       ServerName leap.se
83       DocumentRoot /home/leap/leap_website/public
84       <Directory /home/leap/leap_website/public>
85         Allow from all
86         Options -MultiViews
87       </Directory>
88     </VirtualHost>
89
90
91 Development
92 ==============================
93
94 This app uses precompiled assets.
95
96 If you change a sass source file, you must run this before deploying:
97
98   rake assets:precompile RAILS_ENV=production
99
100 To make the stylesheets autogenerate again in development mode, run this:
101
102   rake assets:clean
103
104
105 Development Notes
106 =============================
107
108 Search
109 ---------------------------
110
111 Maybe we should add search.
112
113 This appears to be the most appropriate search tool to use for this static webapp: http://xapian.org/docs/bindings/ruby/
114
115 Some notes on how flask does a similar thing::
116 * http://librelist.com/browser//flask/2012/3/21/maillinglist-archive-searchable/#ff1d34246a16845c410d2c9a411f5829
117 * https://github.com/mitsuhiko/flask/blob/website/flask_website/search.py
118 * https://github.com/mitsuhiko/flask/blob/website/flask_website/views/mailinglist.py
119
120 pure ruby, for ar: https://github.com/dougal/acts_as_indexed/
121
122 Other static CMS in ruby
123 -----------------------------
124
125 * http://nestacms.com/
126 * https://github.com/gma/nesta
127 * https://github.com/gma/nesta-rails
128 * https://github.com/quickleft/regulate -- git, engine, cms, rails
129
130