# 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