Code Monkey home page Code Monkey logo

endleaf's Introduction

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.

endleaf's People

Contributors

wittawasw avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.