---
url: /reference.md
---
# Reference manual

A comprehensive list of features and settings included in Trek.

## Generators

* [Installer](/reference/generators/install) — `bin/rails g trek:install`
* [Admin user](/reference/generators/admin-user) — `bin/rails g trek:admin:user`
* [Scaffold](/reference/generators/scaffold) — `bin/rails g trek:scaffold`
* [Taxonomies](/reference/generators/taxonomies) — `bin/rails g trek:taxonomies`
* [Audit log](/reference/generators/audit-log) — `bin/rails g trek:audit_log`
* [Public accounts](/reference/generators/public-accounts) — `bin/rails g trek:public_accounts`
* [Security headers](/reference/generators/security-headers) — `bin/rails g trek:install:security_headers`
* [Deploying to Scalingo](/deploy) — `bin/rails g trek:scalingo`
* `bin/rails g trek:upgrade:v2` — upgrades to Trek 2.0: moves the gem and the npm package from the private GitLab sources to RubyGems and npmjs.com

## Models

Generated into your application — they're yours to read and modify.

* [Page](/reference/models/page), [PageVersion](/reference/models/page-version), [PagePath](/reference/models/page-path)
* [Fragment](/reference/models/fragment)
* [MenuNode](/reference/models/menu-node), [ExternalLink](/reference/models/external-link)
* [User](/reference/models/user) (and its deprecated session form model)
* [Tag, TagCategory & Tagging](/reference/models/tag) (with the taxonomies generator)
* [Current](/reference/models/current)

## Concerns

Trek's behaviors, packaged as concerns you can mix into any model:

* Content: [Contentable](/reference/concerns/contentable), [Fragmentable](/reference/concerns/fragmentable), [Sectionable](/reference/concerns/sectionable), [Formattable](/reference/concerns/formattable)
* I18n & URLs: [Translatable](/reference/concerns/translatable), [Sluggable](/reference/concerns/sluggable), [Pathable](/reference/concerns/pathable)
* Pages: [Pageable](/reference/concerns/pageable), [Versionable](/reference/concerns/versionable), [SearchEngineOptimizable](/reference/concerns/search-engine-optimizable)
* Utilities: [Orderable](/reference/concerns/orderable), [Keyable](/reference/concerns/keyable), [Searchable](/reference/concerns/searchable), [Taggable](/reference/concerns/taggable), [Phonable](/reference/concerns/phonable)

## Back-office

* [Controllers](/reference/controllers) — `Trek::BaseController`, `Trek::ResourceController`, panels
* [Forms](/reference/forms) — `Trek::FormBuilder` and its custom helpers
* [Formatters](/reference/formatters) — typography & ProseMirror-to-HTML pipeline
* [Policies](/reference/policies) — ActionPolicy integration
* [Uploaders](/reference/uploaders) — Shrine-based attachments
* [Validators](/reference/validators) — disposable email addresses, email format, phone numbers…, for any model

## Front-end

* [Components](/reference/components) — the ViewComponents powering the admin UI
* [Icons](/reference/icons) — the bundled SVG icon set

## Configuration

* [Environment variables](/reference/environment-variables)
