Skip to content

wittawasw/endleaf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Endleaf

Routing and utilities for static pages creation in Rails.

Installation

Add this line to your Rails application's Gemfile:

gem "endleaf"

Usage

  • Use with Ruby on Rails only.
  • Create pages in app/views/pages with filenames corresponding to their routes.
  • Add routes to config/routes.rb
# Simple usage
scope module: 'endleaf' do
  get '/pages/:page', to: 'pages#show', as: :page
end

# Use scope and constraints to achieve routes into sub directories
scope "/pages", constraints: { path: /pages\/.*/ } do
  get "*page", to: "endleaf/pages#show"
end

# With custom path and layout
# path:   app/views/posts
# layout: app/views/layouts/posts.html.erb
scope "/posts", constraints: { path: /posts\/.*/ } do
  get "*page", to: "endleaf/pages#show", as: :endleaf_posts_post, defaults: { path: "posts", layout: "posts" }
end
# can be used in specific routes e.g. homepage
# this route is rendered from app/view/pages/home.html.erb (or any supported extensions)
root 'endleaf/pages#show' , page: 'home'

# this route is rendered from app/view/pages/about.html.erb (or any supported extensions)
get  'endleaf/pages#show' , page: 'about'
  • Pre-render pages into the public directory. Pre-rendered pages can be served by a web server and are more cache-friendly.
bundle exec rake endleaf:render:generate_html

# custom path, layout, output with variables [path,layout,output]
# Example:
# path: app/views/posts
# layout: app/views/layouts/posts.html.erb
# output: public/static/posts
 bundle exec rake endleaf:render:generate_html\[posts,posts,static\/posts\]

License

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

About

Routing and utilities for static pages creation in Rails.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages