We have auto-deployment through GitHub Actions from this repository, so we can make changes to the website directly from here.
master
branch deploys to productionstaging
branch deploys to the staging environment
To change texts:
- Locate view in the views directory
- Say, one wants to change the text under the "News" section. Locate that in the index.html.haml file:
%h2 News
%p
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Maiores quo cupiditate iste labore fugiat beatae illum corporis incidunt exercitationem magni. Enim error, id at nam mollitia dolores odit nostrum animi.
- Change it into:
%h2 News
%p
We have survived the pandemic.
To add images:
- Upload new image file in /app/assets/images/.
- Figure out which one is the page/view in the views directory that will display the new image.
- Add an image tag like below. NB, the image tag should be on its own line:
= image_tag('book-logo-black-2.png')
To add a new page, say newspeak.house/newproject, one needs to:
- Create the new file in /app/views/home/. Say
/app/views/home/newproject.html.haml
- Add a route entry in /config/routes.rb for the
home
controller. At the top theroutes.rb
file:
get 'api/events', to: 'api#events'
get 'about', to: 'home#about', as: :about
get 'fellowship', to: 'home#fellowship', as: :fellowship
post 'webhooks', to: 'webhooks#index'
Add a new line just under the last home
controller line (the fellowship one in our example). The new line will look like so:
get 'newproject', to: 'home#newproject', as: :newproject
The main CSS styling file is /app/assets/stylesheets/application.css.
Using Docker:
docker compose up --build
Set up database:
docker compose exec web bundle exec rake db:setup db:migrate
Prerequisites:
- rbenv
- ruby 3.1.3
bundle install
rails server
redis-server &
sidekiq -e development -q default -q mailers
Check out the Server Playbook document.