{"_id":"@asteres/tpr","name":"@asteres/tpr","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@asteres/tpr","version":"0.0.1","description":"简单的页面模板渲染引擎","main":"./index.js","type":"module","repository":{"type":"git","url":"https://gitee.com/towardly/ph.git"},"keywords":["template","render","tpl","tpr"],"author":{"name":"Tenny","email":"joel.shu@qq.com"},"license":"MIT","module":"./index.js","exports":{".":"./index.js"},"types":"./index.d.ts","scripts":{"build":"tsdown"},"_id":"@asteres/tpr@0.0.1","_integrity":"sha512-rf68xVDd5IfFZ1cjFM3m7vHRo+PFtdkXlWSFp3LK77Kb/WxCxjwf0RDWKFXiA5360ncpMAHxRRr5yxJM6fJnXA==","_resolved":"C:\\Users\\14562\\AppData\\Local\\Temp\\36d9956d62e9c884667403ffae10afb4\\asteres-tpr-0.0.1.tgz","_from":"file:asteres-tpr-0.0.1.tgz","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-rf68xVDd5IfFZ1cjFM3m7vHRo+PFtdkXlWSFp3LK77Kb/WxCxjwf0RDWKFXiA5360ncpMAHxRRr5yxJM6fJnXA==","shasum":"3cd38cd7aff59908ac53778c02dd6ba5bf1c700a","tarball":"https://registry.npmjs.org/@asteres/tpr/-/tpr-0.0.1.tgz","fileCount":7,"unpackedSize":10111,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDP68T8BYmlI2E+Ao52vOxPmQnac1O+UKMJuUyVpuhcuQIhANUadHbZsQuLg0TAIW3OoSf/SWDYq39LSABL57QlZE13"}]},"_npmUser":{"name":"lucidus","email":"1456207945@qq.com"},"directories":{},"maintainers":[{"name":"lucidus","email":"1456207945@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tpr_0.0.1_1760533834750_0.03868918196625626"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-15T13:10:34.652Z","0.0.1":"2025-10-15T13:10:34.932Z","modified":"2025-10-15T13:10:35.270Z"},"maintainers":[{"name":"lucidus","email":"1456207945@qq.com"}],"description":"简单的页面模板渲染引擎","keywords":["template","render","tpl","tpr"],"repository":{"type":"git","url":"https://gitee.com/towardly/ph.git"},"author":{"name":"Tenny","email":"joel.shu@qq.com"},"license":"MIT","readme":"# tpr\r\n\r\n模板引擎\r\n\r\n## 安装\r\n\r\n```shell\r\nnpm install @asteres/tpr\r\n```\r\n\r\n## 语法\r\n\r\n### 输出\r\n\r\n```HTML\r\n<%= d.value %>\r\n<%= d.data.key %>\r\n<%= d.data['key'] %>\r\n<%= d.a ? d.b : d.c %>\r\n<%= d.a || d.b %>\r\n<%= d.a + d.b %>\r\n```\r\n\r\n> 所有的取值都必须通过 `d.` 访问\r\n\r\n### 原文输出\r\n\r\n```HTML\r\n<%- d.value %>\r\n<%- d.data.key %>\r\n<%- d.data['key'] %>\r\n<%- d.a ? d.b : d.c %>\r\n<%- d.a || d.b %>\r\n<%- d.a + d.b %>\r\n````\r\n\r\n> 原文输出语句不会对 `HTML` 内容进行转义处理，可能存在安全风险，请谨慎使用。\r\n\r\n### 条件\r\n\r\n```HTML\r\n<% if (d.value) { %> ... <% } %>\r\n<% if (d.value) { %> ... <% } else if (d.value) { %> ... <% } %>\r\n```\r\n\r\n### 循环\r\n\r\n1. 标准语法\r\n\r\n```HTML\r\n<ul>\r\n<% for (let i = 0; i < d.items.length; i++) { %>\r\n  <li><%= d.items[i].name %> - <%- d.items[i].raw %></li>\r\n<% } %>\r\n</ul>\r\n```\r\n\r\n2. 增强语法\r\n\r\n提供增强循环 `each` 通过 `each` 能够简单、高效、快速实现循环\r\n\r\n```HTML\r\n<ul>\r\n<% each(d.items){ %>\r\n  <li><%= $item.name %> - <%- $item.raw %></li>\r\n<% } %>\r\n</ul>\r\n```\r\n\r\n> 切记：`each`、`(` 以及 `)`、`{` 之间不能有空格\r\n> `$item`、`$index` 为循环的项以及 `index`\r\n\r\n## API\r\n\r\n### `compile(template: string, options?: TprOptions): Function`\r\n\r\n编译模板并返回编译后的模板函数\r\n\r\n### `render(template: string | Function, data?: Record<string, any>, options?: TprOptions): string`\r\n\r\n编译并返回渲染结果\r\n\r\n> 可以直接渲染原始模板，也可以渲染编译后的模板函数\r\n\r\n## TprOptions选项\r\n\r\n```js\r\n/** 是否忽略结果的前后空格 */\r\ntrim?: boolean;\r\n\r\n/** 是否忽略由模板产生的空行 */\r\ncompact?: boolean;\r\n````\r\n","readmeFilename":"README.md","_rev":"1-2d6b48c698fc51a4110824993c3c566f"}