8000 GitHub - deligenius/view-engine: 🚀A Template View Engine for Deno frameworks
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

deligenius/view-engine

Repository files navigation

🚀 View Engine

View Engine Logo

A Template View Engine for Deno frameworks

View Engine is now matching the version of Oak

tag

Features:

  • Support multiple templating engines📰
  • Framework neutral🎨, it uses adapter to load engine
    • Current support Oak
  • Local file⛱ loading
  • Ashychorous⚡ remote file fetching (fetching template on the fly )
  • Dynamic module import, uses await to load adapters and engines🌈

Table of Contents

< 8000 ul dir="auto">
  • Usage


  • Usage

    viewEngine(
      adapter: Adapter,
      engine:Engine,
      viewConfig?: ViewConfig
    )

    🎛Adapter

    import { oakAdapter } from "https://deno.land/x/view_engine@v10.6.0/mod.ts"

    🚀Engine

    import { ejsEngine, denjuckEngine, handlebarsEngine } from "https://deno.land/x/view_engine@v10.6.0/mod.ts"

    ⚙ViewConfig

    const viewConfig: ViewConfig = {
      viewRoot: <string>"./views", // default: "", specify the root path, it can be remote address
    }

    Examples

    Use Oak to render eta template at ./views/eta/index.eta

    Suppose you have a folder like this:

    /views/index.ejs
    /app.ts
    
    <!--index.html-->
    <body>
      Hobbies of <%=it.name%> 
    </body>
    // app.ts
    import { Application } from "https://deno.land/x/oak@v10.5.1/mod.ts";
    import { viewEngine, ejsEngine, oakAdapter } from "https://deno.land/x/view_engine@v10.5.1c/mod.ts"
    
    const app = new Application();
    
    app.use(
      viewEngine(oakAdapter, etaEngine, {
        viewRoot: "./views/eta",
      })
    );
    
    app.use(async (ctx, next) => {
      ctx.render("index.eta", { name: "John" } );
    });
    
    await app.listen({ port: 8000 });

    Then run

    > deno run --allow-net --allow-read ./app.ts

    Open any browser, url: http://localhost:8000 you should see the result.

    Credit

    Original work by @gjuoun

    About

    🚀A Template View Engine for Deno frameworks

    Resources

    License

    Stars

    Watchers

    Forks

    Packages

    No packages published

    Contributors 6

    Languages

    0