{"action":"created","issue":{"url":"https://api.github.com/repos/eggjs/egg-view-nunjucks/issues/1","repository_url":"https://api.github.com/repos/eggjs/egg-view-nunjucks","labels_url":"https://api.github.com/repos/eggjs/egg-view-nunjucks/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/eggjs/egg-view-nunjucks/issues/1/comments","events_url":"https://api.github.com/repos/eggjs/egg-view-nunjucks/issues/1/events","html_url":"https://github.com/eggjs/egg-view-nunjucks/pull/1","id":168285964,"number":1,"title":"feat: mv opensource","user":{"login":"atian25","id":227713,"avatar_url":"https://avatars.githubusercontent.com/u/227713?v=3","gravatar_id":"","url":"https://api.github.com/users/atian25","html_url":"https://github.com/atian25","followers_url":"https://api.github.com/users/atian25/followers","following_url":"https://api.github.com/users/atian25/following{/other_user}","gists_url":"https://api.github.com/users/atian25/gists{/gist_id}","starred_url":"https://api.github.com/users/atian25/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atian25/subscriptions","organizations_url":"https://api.github.com/users/atian25/orgs","repos_url":"https://api.github.com/users/atian25/repos","events_url":"https://api.github.com/users/atian25/events{/privacy}","received_events_url":"https://api.github.com/users/atian25/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"fengmk2","id":156269,"avatar_url":"https://avatars.githubusercontent.com/u/156269?v=3","gravatar_id":"","url":"https://api.github.com/users/fengmk2","html_url":"https://github.com/fengmk2","followers_url":"https://api.github.com/users/fengmk2/followers","following_url":"https://api.github.com/users/fengmk2/following{/other_user}","gists_url":"https://api.github.com/users/fengmk2/gists{/gist_id}","starred_url":"https://api.github.com/users/fengmk2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fengmk2/subscriptions","organizations_url":"https://api.github.com/users/fengmk2/orgs","repos_url":"https://api.github.com/users/fengmk2/repos","events_url":"https://api.github.com/users/fengmk2/events{/privacy}","received_events_url":"https://api.github.com/users/fengmk2/received_events","type":"User","site_admin":false},"assignees":[{"login":"fengmk2","id":156269,"avatar_url":"https://avatars.githubusercontent.com/u/156269?v=3","gravatar_id":"","url":"https://api.github.com/users/fengmk2","html_url":"https://github.com/fengmk2","followers_url":"https://api.github.com/users/fengmk2/followers","following_url":"https://api.github.com/users/fengmk2/following{/other_user}","gists_url":"https://api.github.com/users/fengmk2/gists{/gist_id}","starred_url":"https://api.github.com/users/fengmk2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fengmk2/subscriptions","organizations_url":"https://api.github.com/users/fengmk2/orgs","repos_url":"https://api.github.com/users/fengmk2/repos","events_url":"https://api.github.com/users/fengmk2/events{/privacy}","received_events_url":"https://api.github.com/users/fengmk2/received_events","type":"User","site_admin":false},{"login":"popomore","id":360661,"avatar_url":"https://avatars.githubusercontent.com/u/360661?v=3","gravatar_id":"","url":"https://api.github.com/users/popomore","html_url":"https://github.com/popomore","followers_url":"https://api.github.com/users/popomore/followers","following_url":"https://api.github.com/users/popomore/following{/other_user}","gists_url":"https://api.github.com/users/popomore/gists{/gist_id}","starred_url":"https://api.github.com/users/popomore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/popomore/subscriptions","organizations_url":"https://api.github.com/users/popomore/orgs","repos_url":"https://api.github.com/users/popomore/repos","events_url":"https://api.github.com/users/popomore/events{/privacy}","received_events_url":"https://api.github.com/users/popomore/received_events","type":"User","site_admin":false},{"login":"shaoshuai0102","id":456108,"avatar_url":"https://avatars.githubusercontent.com/u/456108?v=3","gravatar_id":"","url":"https://api.github.com/users/shaoshuai0102","html_url":"https://github.com/shaoshuai0102","followers_url":"https://api.github.com/users/shaoshuai0102/followers","following_url":"https://api.github.com/users/shaoshuai0102/following{/other_user}","gists_url":"https://api.github.com/users/shaoshuai0102/gists{/gist_id}","starred_url":"https://api.github.com/users/shaoshuai0102/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shaoshuai0102/subscriptions","organizations_url":"https://api.github.com/users/shaoshuai0102/orgs","repos_url":"https://api.github.com/users/shaoshuai0102/repos","events_url":"https://api.github.com/users/shaoshuai0102/events{/privacy}","received_events_url":"https://api.github.com/users/shaoshuai0102/received_events","type":"User","site_admin":false},{"login":"dead-horse","id":985607,"avatar_url":"https://avatars.githubusercontent.com/u/985607?v=3","gravatar_id":"","url":"https://api.github.com/users/dead-horse","html_url":"https://github.com/dead-horse","followers_url":"https://api.github.com/users/dead-horse/followers","following_url":"https://api.github.com/users/dead-horse/following{/other_user}","gists_url":"https://api.github.com/users/dead-horse/gists{/gist_id}","starred_url":"https://api.github.com/users/dead-horse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dead-horse/subscriptions","organizations_url":"https://api.github.com/users/dead-horse/orgs","repos_url":"https://api.github.com/users/dead-horse/repos","events_url":"https://api.github.com/users/dead-horse/events{/privacy}","received_events_url":"https://api.github.com/users/dead-horse/received_events","type":"User","site_admin":false},{"login":"gxcsoccer","id":1207064,"avatar_url":"https://avatars.githubusercontent.com/u/1207064?v=3","gravatar_id":"","url":"https://api.github.com/users/gxcsoccer","html_url":"https://github.com/gxcsoccer","followers_url":"https://api.github.com/users/gxcsoccer/followers","following_url":"https://api.github.com/users/gxcsoccer/following{/other_user}","gists_url":"https://api.github.com/users/gxcsoccer/gists{/gist_id}","starred_url":"https://api.github.com/users/gxcsoccer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gxcsoccer/subscriptions","organizations_url":"https://api.github.com/users/gxcsoccer/orgs","repos_url":"https://api.github.com/users/gxcsoccer/repos","events_url":"https://api.github.com/users/gxcsoccer/events{/privacy}","received_events_url":"https://api.github.com/users/gxcsoccer/received_events","type":"User","site_admin":false}],"milestone":null,"comments":8,"created_at":"2016-07-29T09:29:20Z","updated_at":"2016-08-03T00:25:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/eggjs/egg-view-nunjucks/pulls/1","html_url":"https://github.com/eggjs/egg-view-nunjucks/pull/1","diff_url":"https://github.com/eggjs/egg-view-nunjucks/pull/1.diff","patch_url":"https://github.com/eggjs/egg-view-nunjucks/pull/1.patch"},"body":"非简单的移植 `@ali/egg-view-nunjucks`, 基本上按着规范重写, 并精简用例.\r\n\r\n支持:\r\n- [x] 加载 `app/extend/filter.js`\r\n- [x] 支持 security 安全注入\r\n- [x] 支持 view helper 隔离\r\n- [x] nunjucks 内置 filters 注入到 view helper\r\n\r\n不兼容点:\r\n- [x] 基于 `nunjucks` 最新版, 非 `@ali/nunjucks` 和 `nunjucks-no-chokidar`\r\n- [x] 不监听 `watcher` 事件, 仅暴露 `app.viewEngine.cleanCache` 接口\r\n  - 开发环境下, 直接设置 `cache=false` 即可, 无需 watch\r\n  - 正式环境下, 跟业务场景关联紧密, 之前也是需要实现自己的 watcher 方可使用, 故不必内置.\r\n\r\n其他: \r\n- [x] 用例脱敏\r\n- [x] ~~`renderString` 也支持 `app.injectNonce/injectNonce` ?~~ \r\n  - fileloader 是会缓存, 而 renderString 是每次都会执行\r\n  - 故考虑到性能问题, 不加了. (原来 view 插件也没有)\r\n- [x] docs\r\n- [x] comment -> en"},"comment":{"url":"https://api.github.com/repos/eggjs/egg-view-nunjucks/issues/comments/237092626","html_url":"https://github.com/eggjs/egg-view-nunjucks/pull/1#issuecomment-237092626","issue_url":"https://api.github.com/repos/eggjs/egg-view-nunjucks/issues/1","id":237092626,"user":{"login":"atian25","id":227713,"avatar_url":"https://avatars.githubusercontent.com/u/227713?v=3","gravatar_id":"","url":"https://api.github.com/users/atian25","html_url":"https://github.com/atian25","followers_url":"https://api.github.com/users/atian25/followers","following_url":"https://api.github.com/users/atian25/following{/other_user}","gists_url":"https://api.github.com/users/atian25/gists{/gist_id}","starred_url":"https://api.github.com/users/atian25/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atian25/subscriptions","organizations_url":"https://api.github.com/users/atian25/orgs","repos_url":"https://api.github.com/users/atian25/repos","events_url":"https://api.github.com/users/atian25/events{/privacy}","received_events_url":"https://api.github.com/users/atian25/received_events","type":"User","site_admin":false},"created_at":"2016-08-03T00:25:29Z","updated_at":"2016-08-03T00:25:29Z","body":"都改完了, @popomore @fengmk2 再看看."}}
{"actor":{"display_login":"atian25"}}