{"id":14966050,"url":"https://github.com/raku-community-modules/template6","last_synced_at":"2025-10-25T13:31:02.982Z","repository":{"id":3905379,"uuid":"4993871","full_name":"raku-community-modules/Template6","owner":"raku-community-modules","description":"Template6: A TT-like template engine for Raku","archived":false,"fork":false,"pushed_at":"2024-03-18T13:19:52.000Z","size":113,"stargazers_count":13,"open_issues_count":5,"forks_count":10,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-31T07:12:07.170Z","etag":null,"topics":["raku","template"],"latest_commit_sha":null,"homepage":"https://raku.land/zef:raku-community-modules/Template6","language":"Raku","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raku-community-modules.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-07-11T19:23:30.000Z","updated_at":"2024-11-30T19:28:14.000Z","dependencies_parsed_at":"2024-03-10T18:25:09.122Z","dependency_job_id":"463c91c0-9157-489d-929e-0f246c8e60dd","html_url":"https://github.com/raku-community-modules/Template6","commit_stats":{"total_commits":71,"total_committers":19,"mean_commits":3.736842105263158,"dds":0.704225352112676,"last_synced_commit":"ed33ac13e891df7be068fa4109609e2bd4ad11bf"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raku-community-modules%2FTemplate6","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raku-community-modules%2FTemplate6/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raku-community-modules%2FTemplate6/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raku-community-modules%2FTemplate6/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raku-community-modules","download_url":"https://codeload.github.com/raku-community-modules/Template6/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238147581,"owners_count":19424286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["raku","template"],"created_at":"2024-09-24T13:35:45.348Z","updated_at":"2025-10-25T13:31:02.606Z","avatar_url":"https://github.com/raku-community-modules.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Actions Status](https://github.com/raku-community-modules/Template6/actions/workflows/test.yml/badge.svg)](https://github.com/raku-community-modules/Template6/actions)\n\nNAME\n====\n\nTemplate6 - A Template Engine for Raku\n\nSYNOPSIS\n========\n\n```raku\nuse Template6;\n```\n\nDESCRIPTION\n===========\n\nInspired by Template Toolkit from Perl, Template6 is a simple template\nengine designed to be a content-neutral template language.\n\nThis project does not intend to create an exact clone of Template Toolkit.\nSome features from TT are not planned for inclusion, and likewise, some\nfeature will be included that are not in TT. Not all features will work the\nsame either.\n\nCurrently implemented features\n------------------------------\n\n### GET and SET statements, including implicit versions.\n\n  * [% get varname %]\n\n  * [% varname %]\n\n  * [% set varname = value %]\n\n  * [% varname = value %]\n\n### FOR statement.\n\nThis replaces the FOREACH statement in TT2. It can be used in one of four ways:\n\n  * [% for listname as itemname %]\n\n  * [% for listname -\u003e itemname %]\n\n  * [% for itemname in listname %]\n\n  * [% for itemname = listname %]\n\nIf used with Hashes, you'll need to query the .key or .value accessors.\n\n### IF/ELSIF/ELSE/UNLESS statements.\n\nThese are very simplistic at the moment, but work for basic tests.\n\n  * Querying nested data structures using a simple dot operator syntax.\n\n  * CALL and DEFAULT statements.\n\n  * INSERT, INCLUDE and PROCESS statements.\n\nDifferences with Template Toolkit\n---------------------------------\n\n  * You should use explicit quotes, including in INSERT/INCLUDE/PROCESS directives.\n\n  * UNLESS-ELSE is not supported - Raku also doesn't support this syntax\n\n  * All statement directives are case insensitive.\n\n  * There are no plans for the INTERPOLATE option/style.\n\n  * Anything not yet implemented (see TODO below.)\n\nCaveats\n-------\n\n  * Whitespace control is not implemented, so some things are fairly odd. See TODO.\n\n  * A lot of little nit-picky stuff, likely related to the whitespace issue.\n\nTODO\n----\n\n### Short Term Goals\n\n  * WRAPPER statement\n\n  * block statements\n\n  * given/when statements\n\n  * Add 'absolute' and 'relative' options to Template6::Provider::File\n\n  * Whitespace control\n\n  * Precompiled/cached templates\n\n  * Tag styles (limited to definable start_tag and end_tag)\n\n### Long Term Goals\n\n  * Filters\n\n  * Variable interpolation (in strings, variable names, etc.)\n\n  * Capture of directive output\n\n  * Directive comments\n\n  * Side-effect notation\n\n  * Multiple directives in a single statement tag set\n\n  * Macros, plugins, etc.\n\nPossible future directions\n--------------------------\n\nI would also like to investigate the potential for an alternative to\nTemplate6::Parser that generates Raku closures without the use of EVAL. This\nwould be far trickier, and would not be compatible with the precompiled\ntemplates, but would be an interesting exercise nonetheless.\n\nAUTHOR\n======\n\nTimothy Totten\n\nCOPYRIGHT AND LICENSE\n=====================\n\nCopyright 2012 - 2017 Timothy Totten\n\nCopyright 2018 - 2023 Raku Community\n\nThis library is free software; you can redistribute it and/or modify it\nunder the Artistic License 2.0.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraku-community-modules%2Ftemplate6","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraku-community-modules%2Ftemplate6","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraku-community-modules%2Ftemplate6/lists"}