Skip to content

Latest commit

 

History

History
78 lines (66 loc) · 6.68 KB

README.md

File metadata and controls

78 lines (66 loc) · 6.68 KB

TRMNL plugins

non-exhaustive collection of open source TRMNL plugins. in sharing these assets we intend to provide transparency in how TRMNL manages user data with respect to 3rd party integrations.

native plugin preview images and configuration options: https://usetrmnl.com/integrations

community Recipes: https://usetrmnl.com/recipes

Native plugin examples

native plugin structure:

  1. file plugin_name.rb represents instance of a PluginSetting (user-owned), which belongs to a Plugin (global, immutable)
  2. screens are generated by first invoking Plugins::<PluginName>.new(plugin_setting).locals
  3. the locals hash / JSON object contains all the values needed for rendering a screen
  4. files inside /views interpolate values from locals using ERB syntax (<%= var %>)
  5. views prefixed with _, for example _common, are called "partials" (or 'components' in other frameworks)
  6. shared code is not intended to "just work" but to showcase which values, and how, are extracted from 3rd party apps for TRMNL screen generation

Plugin utilities

Community plugins

to be featured here, add trmnl topic to your repo, then open a PR or join the developer-only Discord server (link inside TRMNL UI).