Socket
Book a DemoInstallSign in
Socket

trestle

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

trestle

0.10.1
bundlerRubygems
Version published
Maintainers
1
Created
Source
Trestle Logo

Trestle

RubyGem Build Status Coveralls Code Climate

Demo Site | Demo Source Code

A modern, responsive admin framework for Ruby on Rails

Trestle-Screenshot-1Trestle-Screenshot-2

Getting Started

To start using Trestle, first add it to your application's Gemfile:

gem 'trestle'

Run bundle install, and then run the install generator to create the initial configuration file and customization hooks:

$ rails generate trestle:install

Then create your first admin resource (assuming you have an existing Article model):

$ rails generate trestle:resource Article

After restarting your Rails server, visit http://localhost:3000/admin to view your newly created admin. You will find the admin definition in app/admin/articles_admin.rb ready to customize.

Example

Trestle.resource(:posts) do
  # Add a link to this admin in the main navigation
  menu do
    group :blog_management, priority: :first do
      item :posts, icon: "fa fa-file-text-o"
    end
  end

  # Define custom scopes for the index view
  scopes do
    scope :all, default: true
    scope :published
    scope :drafts, -> { Post.unpublished }
  end

  # Define the index view table listing
  table do
    column :title, link: true
    column :author, ->(post) { post.author.name }
    column :published, align: :center do |post|
      status_tag(icon("fa fa-check"), :success) if post.published?
    end
    column :updated_at, header: "Last Updated", align: :center
    actions
  end

  # Define the form structure for the new & edit actions
  form do
    # Organize fields into tabs and sidebars
    tab :post do
      text_field :title

      # Define custom form fields for easy re-use
      editor :body
    end

    tab :metadata do
      # Layout fields based on a 12-column grid
      row do
        col(sm: 6) { select :author, User.all }
        col(sm: 6) { tag_select :tags }
      end
    end

    sidebar do
      # Render a custom partial: app/views/admin/posts/_sidebar.html.erb
      render "sidebar"
    end
  end
end

Plugins

The following plugins are currently available:

NameDescriptionLinks
trestle-authUser authentication pluginGitHub | RubyGems
trestle-searchSearch pluginGitHub | RubyGems
trestle-tinymceTinyMCE (WYSIWYG editor) integrationGitHub | RubyGems
trestle-simplemdeSimpleMDE (Markdown editor) integrationGitHub | RubyGems
trestle-sidekiqSidekiq integrationGitHub | RubyGems
trestle-active_storageActive Storage integrationGitHub | RubyGems
trestle-mobilityMobility integrationGitHub | RubyGems
trestle-omniauthOmniAuth authentication pluginGitHub | RubyGems
trestle-auth-otp2FA/OTP user authenticationGitHub | RubyGems

Development

Please see CONTRIBUTING.md for information on developing and contributing to Trestle.

License

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

FAQs

Package last updated on 27 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.