Demo-Site | Demo-Quellcode
Ein modernes, reaktionsfähiges Admin-Framework für Ruby on Rails
Um Trestle zu verwenden, fügen Sie es zunächst der Gemfile Ihrer Anwendung hinzu:
Edelstein 'Bock'
Führen Sie bundle install aus und führen Sie dann den Installationsgenerator aus, um die Erstkonfigurationsdatei und Anpassungs-Hooks zu erstellen:
$ rails generate trestle:install
Erstellen Sie dann Ihre erste Admin-Ressource (vorausgesetzt, Sie verfügen über ein vorhandenes Article ):
$ rails generate trestle:resource Article
Besuchen Sie nach dem Neustart Ihres Rails-Servers http://localhost:3000/admin, um Ihren neu erstellten Admin anzuzeigen. Sie finden die Admin-Definition in app/admin/articles_admin.rb und können sie anpassen.
Trestle.resource(:posts) tun
# Fügen Sie in der Hauptnavigation einen Link zu diesem Administrator hinzu
Menü dogroup :blog_management, Priorität: :first do item :posts, icon: „fa fa-file-text-o“end
Ende
# Definieren Sie benutzerdefinierte Bereiche für die Indexansicht
Bereiche doscope :all, Standard: truescope :publishedscope :drafts, -> { Post.unpublished }
Ende
# Definieren Sie die Auflistung der Indexansichtstabelle
Tabelle docolumn :title, Link: truecolumn :author, ->(post) { post.author.name }column :published, align: :center do |post| status_tag(icon("fa fa-check"), :success) if post.published?endcolumn :updated_at, Header: "Last Updated", align: :centeractions
Ende
# Definieren Sie die Formularstruktur für die Neu- und Bearbeitungsaktionen
form do# Organisieren Sie Felder in Registerkarten und Seitenleistenstab :post do text_field :title # Definieren Sie benutzerdefinierte Formularfelder zur einfachen Wiederverwendung editor :bodyendtab :metadata do # Layoutfelder basierend auf einer 12-spaltigen Rasterzeile docol(sm: 6) { select :author, User.all }col(sm: 6) { tag_select :tags } endendsidebar do # Einen benutzerdefinierten Teil rendern: app/views/admin/posts/_sidebar.html.erb rendern „sidebar“ende
endenFolgende Plugins sind derzeit verfügbar:
| Name | Beschreibung | Links |
|---|---|---|
| trestle-auth | Plugin zur Benutzerauthentifizierung | GitHub | RubyGems |
| Bocksuche | Such-Plugin | GitHub | RubyGems |
| Trestle-Tinymce | TinyMCE-Integration (WYSIWYG-Editor). | GitHub | RubyGems |
| Bock-einfach | SimpleMDE-Integration (Markdown-Editor). | GitHub | RubyGems |
| Trestle-Sidekiq | Sidekiq-Integration | GitHub | RubyGems |
| trestle-active_storage | Aktive Speicherintegration | GitHub | RubyGems |
| Bockmobilität | Mobilitätsintegration | GitHub | RubyGems |
| Trestle-Omniauth | OmniAuth-Authentifizierungs-Plugin | GitHub | RubyGems |
| trestle-auth-otp | 2FA/OTP-Benutzerauthentifizierung | GitHub | RubyGems |
Weitere Informationen zur Entwicklung und Mitarbeit bei Trestle finden Sie unter CONTRIBUTING.md.
Das Gem ist als Open Source unter den Bedingungen der LGPLv3-Lizenz verfügbar.