# Handlebars

Handlebars is a simple templating language. It uses a template and an input object to generate HTML or other text formats. Handlebars templates look like regular text with embedded Handlebars expressions. Handlebars is largely compatible with Mustache templates. In most cases it is possible to swap out Mustache with Handlebars and continue using your current templates. A handlebars expression is a "{{", some contents, followed by a "}}". When the template is executed, these expressions are replaced with values from an input object.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## i18nize-templates: Internationalization After the Fact

DevFeed: [i18nize-templates: Internationalization After the Fact](<https://devfeed.tech/articles/i18nize-templates-internationalization-after-the-fact-27382.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/i18nize-templates.htm>)

Author: Khan Academy

Published: 2015-09-28T22:00:00Z

Content type: release

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Internationalization (i18n)](<https://devfeed.tech/topics/i18n.md>), [Localization (l10n)](<https://devfeed.tech/topics/localization.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Python](<https://devfeed.tech/topics/python.md>), [Handlebars](<https://devfeed.tech/topics/handlebars.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Library](<https://devfeed.tech/topics/library.md>), [Code](<https://devfeed.tech/topics/code.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Babel](<https://devfeed.tech/topics/babel.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [code](<https://devfeed.tech/tags/code.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [html](<https://devfeed.tech/tags/html.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [language](<https://devfeed.tech/tags/language.md>), [languages](<https://devfeed.tech/tags/languages.md>), [library](<https://devfeed.tech/tags/library.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

Khan Academy describes retrofitting its English-only codebase for internationalization and localization across several HTML-rendering technologies. It introduces i18nize-templates, an open-source Python module that finds natural-language text in HTML and templates and marks it as i18n-aware. The tool supports raw HTML, jinja2, and Handlebars templates and reportedly reduces template annotation time by over 90%.

### Source excerpt

By Craig Silverstein Khan Academy started as a collection of videos, but now has over 100,000 pieces of ... Read more

## Introducing Bartholomew

DevFeed: [Introducing Bartholomew](<https://devfeed.tech/articles/introducing-bartholomew-15263.md>)

Original publisher: [Read original article](<https://www.fermyon.com/blog/introducing-bartholomew>)

Published: 2022-02-15T19:12:25Z

Content type: release

Language: en

Sources: [Fermyon - Experience the next wave of cloud computing.](<https://devfeed.tech/sources/fermyon-experience-the-next-wave-of-cloud-computing.md>)

Topics: [Content Management System](<https://devfeed.tech/topics/cms.md>), [wasm](<https://devfeed.tech/topics/wasm.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [Handlebars](<https://devfeed.tech/topics/handlebars.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>)

Tags: [cms](<https://devfeed.tech/tags/cms.md>), [content](<https://devfeed.tech/tags/content.md>), [custom](<https://devfeed.tech/tags/custom.md>), [functions](<https://devfeed.tech/tags/functions.md>), [lightweight](<https://devfeed.tech/tags/lightweight.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [templates](<https://devfeed.tech/tags/templates.md>), [wasm](<https://devfeed.tech/tags/wasm.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

Fermyon introduces Bartholomew, a lightweight WebAssembly content management system with Handlebars templates, custom scripted functions, and Markdown support.

### Source excerpt

Fermyon is proud to introduce our new lightweight WebAssembly (Wasm) content management system (CMS) that we call Bartholomew. With support for handlebars templates, custom scripted functions, and markdown, it's a svelte way to run a CMS.

## Computed Property Macros

DevFeed: [Computed Property Macros](<https://devfeed.tech/articles/computed-property-macros-40621.md>)

Original publisher: [Read original article](<https://eviltrout.com/blog/2013-07-07-computed-property-macros/>)

Published: 2013-07-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Robin Ward](<https://devfeed.tech/sources/robin-ward.md>)

Topics: [Ember](<https://devfeed.tech/topics/ember.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [Handlebars](<https://devfeed.tech/topics/handlebars.md>), [conditionals](<https://devfeed.tech/topics/conditionals.md>), [functions](<https://devfeed.tech/topics/functions.md>)

Tags: [caching](<https://devfeed.tech/tags/caching.md>), [conditionals](<https://devfeed.tech/tags/conditionals.md>), [ember](<https://devfeed.tech/tags/ember.md>), [functions](<https://devfeed.tech/tags/functions.md>), [templates](<https://devfeed.tech/tags/templates.md>)

### AI overview

This tutorial explains how Ember computed property macros can simplify computed properties in applications using Handlebars templates. It describes their use as shorter, clearer alternatives for common computed-property patterns and notes that they can reduce repeated property names while supporting cached intermediate results.

### Source excerpt

Computed Properties By design, Handlebars templates don't allow complex expressions. You are given an {{#if}} block helper, but it can only evaluate whether something is "truthy" (aka true, a non-empty string or array or other value that is not undefined or null.) For example, you can't do something like this: {{#if (eyes.length == 1) && (horns.length == 1) && flies && (color == 'purple') && eatsDudes}} <i>It was a one-eyed, one-horned, flying purple people eater!</i> {{/if}} Handlebars encourages you to use a single evaluation for your logic:

## Building The Next SoundCloud

DevFeed: [Building The Next SoundCloud](<https://devfeed.tech/articles/building-the-next-soundcloud-2006.md>)

Original publisher: [Read original article](<https://developers.soundcloud.com/blog//building-the-next-soundcloud>)

Published: 2012-06-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [SoundCloud Backstage Blog](<https://devfeed.tech/sources/soundcloud-backstage-blog.md>)

Topics: [Single-page application (SPA)](<https://devfeed.tech/topics/spa.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Backbone.js](<https://devfeed.tech/topics/backbonejs.md>), [Handlebars](<https://devfeed.tech/topics/handlebars.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [javascript](<https://devfeed.tech/tags/javascript.md>)

### AI overview

SoundCloud's front-end team describes the architecture of the Next SoundCloud beta, a JavaScript single-page application designed for continuous playback and fast navigation. The article covers browser-side rendering from the public API, Backbone.js, Handlebars templates, and modular code using CommonJS-style modules converted to AMD for the browser.

### Source excerpt

This article is also available in: Serbo-Croatian: Pravljenje novog SoundCloud Armenian: SoundCloud (ձայնամպ) ծրագրավորողների համար The...