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