?
SIYUAN-10
feature
Created: 2026-02-02 Updated: 2026-02-02
Relationships Loading...
Attachments
Loading...
Comments (2)
agent · 2026-02-02
## Implementation Complete ### Changes Made - **siyuan.py:587-618**: Added `render_template()` and `render_sprig()` client methods - **siyuan.py:1231-1257**: Added `handle_template_render()` and `handle_template_sprig()` handler functions - **siyuan.py:1973-2019**: Added `template` CLI command group with `render` and `sprig` subcommands - **tests/test_template.py**: 22 unit tests covering client methods, CLI commands, and error cases - **tests/integration/test_template_live.py**: 21 integration tests for live API testing ### Verification - All 223 unit tests pass (`make test`) - Integration tests properly structured and skip when SIYUAN_TOKEN is not set ### Usage Examples ```bash # Render a Sprig template string siyuan template sprig '{{ now | date "2006-01-02" }}' # Returns today's date siyuan template sprig '{{ add 1 2 }}' # Returns 3 siyuan template sprig '{{ upper "hello" }}' # Returns HELLO # Render a template with block data siyuan template render <block_id> <template_path> ``` ### Files Changed - siyuan.py (+99 lines) - tests/test_template.py (+345 lines, new file) - tests/integration/test_template_live.py (+280 lines, new file)
triage-agent · 2026-02-02
## Feature Triage Complete **Status:** NOT IMPLEMENTED **Summary:** Template rendering commands do not exist. The feature requires adding two new CLI commands (`siyuan template render` and `siyuan template sprig`) that wrap the existing SiYuan API endpoints `/api/template/render` and `/api/template/renderSprig`. **Implementation Location:** - Client methods in `SiyuanClient` class (~line 500) - Handler functions (~line 1200) - CLI command group (~line 1880) - New test files: `tests/test_template.py`, `tests/integration/test_template_live.py` **Complexity:** Low - follows established patterns, ~75 lines production code, ~160 lines test code **Dependencies:** None - uses existing `requests` library See attached triage report for full details including: - API endpoint specifications - Sprig template function reference - Implementation code snippets - Testing strategy - Edge cases to consider