Files
2025-11-24 08:49:11 -05:00

40 lines
1.6 KiB
Markdown

# 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 data
- `settings.yml` - Plugin configuration including API endpoints and custom fields
- `MeetingRooms-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 `where` filter in Liquid
- Google Sheets integration via opensheet.elk.sh API