@@ -98,7 +98,7 @@ import {
9898 viewEngine ,
9999 engineFactory ,
100100 adapterFactory ,
101- } from " https://deno.land/x/view_engine@v1.4.3 /mod.ts" ;
101+ } from " https://deno.land/x/view_engine@v1.4.4 /mod.ts" ;
102102
103103const ejsEngine = engineFactory .getEjsEngine ();
104104const oakAdapter = adapterFactory .getOakAdapter ();
@@ -146,7 +146,7 @@ import {
146146 viewEngine ,
147147 engineFactory ,
148148 adapterFactory ,
149- } from " https://deno.land/x/view_engine@v1.4.3 /mod.ts" ;
149+ } from " https://deno.land/x/view_engine@v1.4.4 /mod.ts" ;
150150
151151const handlebarsEngine = engineFactory .getHandlebarsEngine ();
152152const oakAdapter = adapterFactory .getOakAdapter ();
@@ -180,7 +180,7 @@ import {
180180 viewEngine ,
181181 engineFactory ,
182182 adapterFactory ,
183- } from " https://deno.land/x/view_engine@v1.4.3 /mod.ts" ;
183+ } from " https://deno.land/x/view_engine@v1.4.4 /mod.ts" ;
184184
185185const handlebarsEngine = engineFactory .getHandlebarsEngine ();
186186const oakAdapter = adapterFactory .getOakAdapter ();
@@ -207,7 +207,7 @@ Open any browser, type ```http://localhost:8000``` you should see the result.
207207
208208``` ts
209209// app.ts
210- import { engineFactory } from " https://deno.land/x/view_engine@v1.4.3 /mod.ts" ;
210+ import { engineFactory } from " https://deno.land/x/view_engine@v1.4.4 /mod.ts" ;
211211
212212const handlebarsEngine = engineFactory .getHandlebarsEngine ();
213213
@@ -225,11 +225,50 @@ console.log(rendered);
225225 */
226226```
227227
228+ ### Use ` Handlebars.registerHelper() `
229+
230+ ``` ts
231+ // app.ts
232+ import { Application } from " https://deno.land/x/oak@v6.2.0/mod.ts" ;
233+ import {
234+ viewEngine ,
235+ engineFactory ,
236+ adapterFactory , hbs
237+ } from " https://deno.land/x/view_engine@v1.4.4/mod.ts" ;
238+
239+ const handlebarsEngine = engineFactory .getHandlebarsEngine ();
240+ const oakAdapter = adapterFactory .getOakAdapter ();
241+
242+ hbs .registerHelper (' loud' , (str : string ) => {
243+ return str .toUpperCase ()
244+ })
245+
246+ const app = new Application ();
247+
248+ app .use (
249+ viewEngine (oakAdapter , handlebarsEngine , {
250+ viewRoot: " ./view" ,
251+ viewExt: " .handlebars" ,
252+ })
253+ );
254+
255+ app .use (async (ctx , next ) => {
256+ ctx .render (" index" , { data: { name: " John" } });
257+ });
258+
259+ await app .listen ({ port: 8000 });
260+ ```
261+
262+ Then you are able to include this in your handlebar template:
263+
264+ ``` hbs
265+ {{loud "all in upper case"}}
266+ ```
267+
228268## [ 🔝] ( #table-of-contents )
229269
230270### Roadmap
231271
232- - [x] Support [ denjucks] ( https://github.com/denjucks/denjucks )
233272- [x] Support [ ejs] ( https://github.com/mde/ejs )
234273- [x] Support [ Handlebars] ( https://github.com/handlebars-lang/handlebars.js )
235274- [x] Cache strategy
0 commit comments