{{ title() }}

{{ title() }}

【免费下载链接】typora_plugin Typora plugin. feature enhancement tool | Typora 插件,功能增强工具 【免费下载链接】typora_plugin 项目地址: https://gitcode.com/gh_mirrors/ty/typora_plugin

创建时间: {{ datetime() }} 文档ID: {{ uuid() }} 所属分类: 技术文档

概述

{{ randomStr(50) }}

详细内容

功能特点

  • 特性一
  • 特性二
  • 特性三

使用说明

  1. 第一步
  2. 第二步
  3. 第三步

附录

  • 相关链接
  • 参考资料

### 高级自定义变量

除了内置变量,你还可以创建自定义变量:

```javascript
// 自定义模板变量配置
template_variables: [
 {
     enable: true,
     name: "projectName",
     callback: "() => '智能文档管理系统'"
 },
 {
     enable: true,
     name: "author",
     callback: "() => process.env.USER || '未知作者'"
 },
 {
     enable: true,
     name: "version",
     callback: "() => `v${Math.random().toString().slice(2, 5)}`"
 }
]

在模板中使用自定义变量:

# {{ title() }}

**项目**: {{ projectName() }}
**版本**: {{ version() }}
**作者**: {{ author() }}
**创建时间**: {{ datetime('zh-CN') }}

条件逻辑与参数传递

templater支持带参数的函数调用:

# 项目计划书

**计划周期**: {{ dateOffset(0, 'yyyy年MM月dd日') }} 至 {{ dateOffset(30, 'yyyy年MM月dd日') }}

**本周重点**:
- {{ weekday() }}: 需求分析
- {{ dateOffset(1, 'ddd') }}: 技术设计
- {{ dateOffset(2, 'ddd') }}: 开发实现

**随机任务ID**: TASK-{{ randomInt(1000, 9999) }}

技术实现深度解析

模板解析引擎

templater采用基于正则表达式的模板解析引擎:

class templateHelper {
    _convert(text) {
        const context = this._getTemplateVars();
        const pattern = `\\{\\{\\s*([a-zA-Z_][a-zA-Z0-9_]*)(\\(.*?\\))?\\s*\\}\\}`;
        
        return text.replace(new RegExp(pattern, "g"), (match, funcName, argsStr) => {
            const func = context[funcName];
            if (func && typeof func === 'function') {
                const args = argsStr ? eval(`[${argsStr.slice(1, -1)}]`) : [];
                return func.apply(this, args);
            }
            return match;
        });
    }
}

文件系统集成

插件深度集成文件系统操作:

mermaid

性能优化与最佳实践

模板组织策略

建议按以下结构组织模板:

templates/
├── technical/          # 技术文档
│   ├── api.md
│   ├── spec.md
│   └── readme.md
├── business/           # 业务文档
│   ├── proposal.md
│   ├── report.md
│   └── plan.md
├── personal/           # 个人文档
│   ├── diary.md
│   ├── note.md
│   └── blog.md
└── shared/             # 共享模板
    ├── base.md
    └── standard.md

性能考虑

  • 目录深度限制: 默认只递归搜索3层子目录,避免性能问题
  • 超时机制: 30秒超时保护,防止长时间阻塞
  • 文件过滤: 只处理.md文件,忽略其他格式

安全注意事项

由于支持eval执行自定义函数,建议:

  1. 仅启用信任的自定义变量
  2. 避免使用来自不可信源的模板
  3. 定期审查自定义回调函数

扩展与自定义开发

插件开发接口

templater作为Typora插件的一部分,提供了完整的开发接口:

// 自定义插件示例
class CustomTemplatePlugin {
    constructor() {
        this.utils = window.templaterUtils;
    }
    
    // 添加自定义变量
    addCustomVariable(name, callback) {
        this.utils.registerTemplateVariable(name, callback);
    }
    
    // 批量导入模板
    importTemplatesFromFolder(path) {
        return this.utils.scanTemplates(path);
    }
}

【免费下载链接】typora_plugin Typora plugin. feature enhancement tool | Typora 插件,功能增强工具 【免费下载链接】typora_plugin 项目地址: https://gitcode.com/gh_mirrors/ty/typora_plugin

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值