1.0.5 • Published 7 years ago

fis-postprocessor-https-smarty v1.0.5

Weekly downloads
19
License
-
Repository
-
Last release
7 years ago

fis-postprocessor-https-smarty

标准后处理器插件

作用

在fis进行了异构语言编译以及标准化处理后,进行对 smarty 模板中的静态资源引用作处理,以支持https请求模式下的访问。

  1. <img src="{{imgurl}}"> 这样的模板标记替换成 <img src="{{imgurl|url_trans}}">,不仅支持img标签,对所有具有src属性的标签都起作用,url_trans这个filter是个smarty自定义的modifier
  2. <img src="http://www.baidu.com/favicon.ico"> 这样的静态资源引用替换成 <img src="{{'http://www.baidu.com/favicon.ico'|url_trans}}">
  3. <img src="http://www.baidu.com/{{imgname}}"> 这样的混合拼接的src值,替换成<img src="{{('http://www.baidu.com/' + imgname) |url_trans }}">
  4. 将内联css中的background-imageurl为静态文本值的替换成可以同时支持http/https访问的url.
  5. 将内联css中的background-imageurl为模板变量混合拼接的url添加filter
  6. {{data|json_encode}} 替换为 {{(data|json_encode)|url_trans}}
  7. {{file_get_contents('path')}} 替换为 {{(file_get_contents(path))|url_trans}}

安装

npm -g install fis-postprocessor-https-smarty

配置

需要在smarty plugin中先定义好依赖的modifier,用于url的动态转换 还需要一个http/https 的域名映射表,如:var domainmap = {'http://www.baidu.com': 'https://www.baidu.com'} 这样的object定义。

fis.config.merge({
    ...
    modules: {
        ...
        postprocessor: {
            tpl: 'https-smarty,...', // 配置tpl文件的标准化处理插件
        },
        ...
    },
    settings: {
        postprocessor: {
            ...
            'https-smarty': { // 设置fis-postprocessor-https-swig
                domainmap: require('./domain-map.js').domainmap, // 域名映射表
                left_delimiter: '{{', // 模板左标记
                right_delimiter: '}}' // 模板右标记
                filter: 'url_trans', // smarty modifier
                ignore: [ // 需要忽略处理的文件列表
                    '/client/static/js/domain-map.js'
                ]
            },
            ...
        }
    },
    ...
});
1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago