Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'liquidjs' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
author.name = gitConfig.user.name
}
if (gitConfig.user && gitConfig.user.email) {
author.email = gitConfig.user.email
}
}
liquidMap.author = author
const currentTime = new Date()
liquidMap.year = currentTime.getFullYear().toString()
const templatesPath = path.resolve(this.rootAbsolutePath,
'assets', 'sources')
log.debug(`from='${templatesPath}'`)
this.engine = new Liquid({
root: templatesPath,
cache: false,
strict_filters: true, // default: false
strict_variables: true, // default: false
trim_right: false, // default: false
trim_left: false // default: false
})
log.info(`Creating project '${liquidMap.projectName}'...`)
await this.render('package.json.liquid', 'package.json', liquidMap)
try {
const readmePath = path.resolve(config.cwd, 'LICENSE')
await fsPromises.access(readmePath)
const express = require('express')
const { Liquid } = require('liquidjs')
const app = express()
const engine = new Liquid({
root: __dirname, // for layouts and partials
extname: '.liquid'
})
app.engine('liquid', engine.express()) // register liquid engine
app.set('views', ['./partials', './views']) // specify the views directory
app.set('view engine', 'liquid') // set to default
app.get('/', function (req, res) {
const todos = ['fork and clone', 'make it better', 'make a pull request']
res.render('todolist', {
todos: todos,
title: 'Welcome to liquidjs!'
})
})
import { Context, Liquid as LLiquid } from 'liquidjs';
const liquid = new LLiquid();
liquid.registerFilter('money', value => {
const str = String(value);
// TODO: locales
return '$' + str.slice(0, -2) + '.' + str.slice(-2);
});
const tempNoopFilters = ['img_url', 't'];
for (const tempNoopFilter of tempNoopFilters) {
liquid.registerFilter(tempNoopFilter, value => value);
}
interface State {
[key: string]: any;
}
get(str: string, state = this.state) {
// TODO: better solution e.g. with proxies
let useStr = str.replace(/selected_or_first_available_variant/g, 'variants[0]');
// TODO: warn for errors
return liquid.evalValueSync(useStr, new Context(state, undefined, true)) || '';
}
const { Liquid } = require('liquidjs')
const engine = new Liquid({
root: __dirname,
extname: '.liquid'
})
engine.registerTag('header', {
parse: function (token) {
const [key, val] = token.args.split(':')
this[key] = val
},
render: async function (scope, hash, emitter) {
const title = await this.liquid.evalValue(this.content, scope)
emitter.write(`<h1>${title}</h1>`)
}
})
const ctx = {
import { Liquid, TagToken, Hash, Context, Emitter } from 'liquidjs'
const engine = new Liquid({
root: __dirname,
extname: '.liquid'
})
engine.registerTag('header', {
parse: function (token: TagToken) {
const [key, val] = token.args.split(':')
this[key] = val
},
render: async function (context: Context, hash: Hash, emitter: Emitter) {
const title = await this.liquid.evalValue(this['content'], context)
emitter.write(`<h1>${title}</h1>`)
}
})
const ctx = {
assign(str: string, state = this.state) {
const re = /^\s*([^=\s]+)\s*=(.*)/;
let useStr = str.replace(/selected_or_first_available_variant/g, 'variants[0]');
const match = useStr.match(re)!;
const key = match[1].trim();
const value = match[2];
const result = liquid.evalValueSync(value, new Context(state, undefined, true));
console.debug('Liquid setting', key, 'to', result, 'via', str, state);
state[key] = result;
}
}
public static async render(template: string, model: Object): Promise {
const engine = new Liquid();
const result = await engine.parseAndRender(template, model, null);
return result;
}
}
async function generateTypeDocTemplates() {
const engine = new Liquid({
root: path.resolve(__dirname, '../../site'),
extname: '.html',
});
const navbar = await engine.renderFile('common/partials/navbar.html', {
page: { url: 'typedoc' },
});
fs.writeFileSync('site/typedoc/typedoc_theme/partials/header.hbs', navbar);
const analytics = await engine.renderFile('common/partials/analytics.html');
fs.writeFileSync(
'site/typedoc/typedoc_theme/partials/analytics.hbs',
analytics,
);
}
return new Promise((resolve) => {
Logger.log();
const distSpinner = spinner()
.start('building dist');
const engine = new Liquid({
root: resolvePath(__dirname, '../../src/templates'),
extname: '.liquid',
});
const ctx: { [key: string]: any } = parseResults;
ctx.version = results.asset.version;
const distFiles: { [key: string]: string } = {
'icon.html.eco': 'docs/server/documents/elements/',
'icon.overrides': 'ui/src/themes/default/elements/',
'icon.variables': 'ui/src/themes/default/elements/',
};
const templateFileRenderFuncs = Object.keys(distFiles)
.map(filename => new Promise((resolveRender, rejectRender) => {
engine.renderFile(`${filename}.liquid`, ctx)