Code-assembly-line. Full render example.

node v8.17.0
version: 1.0.0
endpointsharetweet
const CodeAssemblyLine = require("code-assembly-line") , tplEngine = new CodeAssemblyLine() ; // --- PREPARE RESOURCES const templateLib = { 'a' : '<a href="{{href}}">{{text}}</a>' , 'li': '<li{{~~_attr}}>{{text}}</li>' , 'ul': '<ul>{{text}}</ul>' }; // processes const doNav = [ { do: 'alterTemplate', tpl: 'a', data: { 'href': 'link'} } , { do: 'draw', tpl: 'a', missData: '_hide' } , { do: 'set', as: 'text' } , { do: 'add', select:'first', data: { 'className': 'first'} } , { do: 'draw', tpl: 'li' } , { do: 'block', } , { do: 'set', as: 'text' } , { do: 'draw', tpl: 'ul' } ]; const saveNav = [{do:'block', name: 'nav' }] // --- LOAD RESOURCES tplEngine .insertTemplate ( templateLib ) .insertProcess ( doNav, 'nav' ) .insertProcess ( saveNav, 'saveNav') // -- PROCESS-DATA FOR NAVIGATION const myNavData = [ { text: 'Home', link: 'home.html' } , { text: 'Services', link: 'services.html' } , { text: 'About', link: 'about.html' } , { text: 'Just text' } // Ignored - no link. Look 2 row of 'doNav' -> missData: '_hide' , { text: 'Contact', link: 'contact.html' } ]; // --- RENDER AND RETREAVE tplEngine.run (['nav','saveNav'], myNavData ) tplEngine.getBlock ( 'nav' )
Loading…

no comments

    sign in to comment