Skip to content
This repository has been archived by the owner on Jun 25, 2022. It is now read-only.

yhatt/jubako

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jubako

[WARNING] Jubako is under developing. Current version has not test. Don't use this gem!

Jubako gives multi-level layout inheritance in Rails view, like Jade's template inheritance.

Installation

Add this line to your Rails application's Gemfile:

gem 'jubako'

And then execute:

$ bundle

Or install it yourself as:

$ gem install jubako

Usage

These usage are using Slim.

Layout (Template) inheritance

Jubako defines extends method in view helper. When you call extends with layout path (in anywhere of view), it will render with using specified layout.

Have you specified any layout before rendering? It applies after Jubako inheritances.

app/views/top/index.slim

- extends 'layouts/base_template'

- block :body
  h1 Top#index
  p Find me in app/views/top/index.slim

app/views/layouts/base_template.slim

- block :title
  title Base template's title

= block :body

app/views/layouts/application.slim

doctype html
html
  head
    = block :title
  body
    = yield

Output

<!DOCTYPE html>
<html>
  <head>
    <title>Base template's title</title>
  </head>
  <body>
    <h1>
      Top#index
    </h1>
    <p>
      Find me in app/views/top/index.slim
    </p>
  </body>
</html>

Contributing

Jubako is under developing by Yuki Hattori.

Bug reports and pull requests are welcome on GitHub at https://github.com/yhatt/jubako.

License

The gem is available as open source under the terms of the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published