summaryrefslogtreecommitdiff
path: root/README
blob: 3c98d8da4115f6aedbd3a2cc46d64099b64e8228 (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
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

Running in development mode

    cd leap_website
    rails server

Console examples

    rails console
    rails console production
    rails dbconsole

Rake takes

    rake doc:app

Running in production (with webrick)

    bundle exec rake assets:precompile
    RAILS_ENV=production rails server


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
==============================

If you change a sass source file, you must run:

  rake assets:precompile RAILS_ENV=production

This app uses precompiled assets.


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