1.6 KiB
1.6 KiB
TRMNL Plugin Development Guidelines
Project Overview
This is a TRMNL platform plugin for displaying room data from Google Sheets on connected devices. The plugin uses Liquid templating for the frontend and YAML for configuration.
File Structure
full.liquid- Main Liquid template file for rendering room datasettings.yml- Plugin configuration including API endpoints and custom fieldsMeetingRooms-sample-data.json- Sample data structure reference
Code Style Guidelines
Liquid Templating
- Use Liquid syntax for data binding and conditional logic
- Follow existing naming conventions: use snake_case for variables
- Keep HTML structure clean and semantic
- Use TRMNL-specific classes for styling (layout, columns, grid, etc.)
YAML Configuration
- Use YAML format for all configuration files
- Follow existing key naming conventions (snake_case)
- Include proper descriptions for custom fields
- Use string quotes for all string values
General Development
- No build/test commands - this is a static plugin
- Validate Liquid syntax by testing in TRMNL platform
- Ensure Google Sheets API URLs are correct and accessible
- Test with various device IDs using TRMNL_ID matching
Testing
- Test by deploying to TRMNL platform with different device IDs
- Verify data loads from Google Sheets correctly
- Check responsive behavior on TRMNL devices
- Validate fallback logo displays when no data is available
Key Components
- Device ID matching via
trmnl.plugin_settings.custom_fields_values.device_id - Data filtering using
wherefilter in Liquid - Google Sheets integration via opensheet.elk.sh API