Project

lokka

0.0
No release in over 3 years
CMS written in Ruby for cloud computing.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 1.0.0
~> 1.5.1
>= 0
= 2.11.3

Runtime

= 2.1.2
= 1.0.2
= 1.1.0
= 1.0.2
= 1.0.2
= 2.6.6
= 2.0.25
= 3.0.18
= 0.4.1
= 0.1.1
= 0.8.7
= 1.1.0
= 0.4.7.1
 Project Readme

Lokka

Note Lokka 1.0.0 has migrated from DataMapper to ActiveRecord. If you are upgrading from v0.6.0 or earlier, please see the Migration Guide.

CMS written in Ruby for cloud computing.

Requirements

  • Ruby 3.2 or later
  • SQLite

Features

  • Performs in the cloud environment such as Google App Engine and Heroku as well as Windows, Mac, and Linux.
  • Designed with reference to WordPress for WordPress users to easily understand.
  • Easy installation
  • Easy to create a theme for designers.
  • A clear plug-in API for Rubyists

Installation

$ git clone git://github.com/lokka/lokka.git
$ cd lokka
$ bundle install --without=production:test
$ bundle exec rake db:setup
$ bundle exec rackup

View at: http://localhost:9292/

Deployment

See the Deployment Guide for production deployment instructions using Kamal.

Docker (Development)

$ docker-compose build
$ docker-compose run --rm app bundle exec rake db:setup
$ docker-compose up

open http://localhost:9292 on your browser.

Test

rake test

How to make a theme

Make a directory for theme in public/theme and you need to create entries.erb and entry.erb at least. (erb and haml are available.)

Index page

public/theme/example/entries.erb:

<!DOCTYPE html>
<html>
  <head>
    <title>Example</title>
  </head>
  <body>
    <h1><%= @site.title %></h1>
    <% @entries.each do |entry| %>
      <h2><%= entry.title %></h2>
      <div class="body"><%= entry.body %></div>
    <% end %>
  </body>
</html>

Individual page

public/theme/example/entry.erb:

<!DOCTYPE html>
<html>
  <head>
    <title>Example</title>
  </head>
  <body>
    <h1><%= @site.title %></h1>
    <h2><%= @entry.title %></h2>
    <div class="body"><%= @entry.body %></div>
  </body>
</html>

How to make a plugin

Lokka Plugin is subset of Sinatra Extension. but Lokka had a specific rules of nomenclature. If you need display "Hello, World" when access to "/hello", Write a following.

public/plugin/lokka-hello/lib/lokka/hello.rb:

module Lokka::Hello
  def self.registerd(app)
    app.get '/hello' do
      'hello'
    end
  end
end

Copyright

Copyright (c) 2010 Masaki Komagata. See LICENSE for details.