handlebars_dart 1.0.0 copy "handlebars_dart: ^1.0.0" to clipboard
handlebars_dart: ^1.0.0 copied to clipboard

A pure Dart implementation of Handlebars template engine.

example/handlebars_dart_example.dart

// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// SPDX-License-Identifier: Apache-2.0

import "package:handlebars_dart/handlebars_dart.dart";

void main() {
  final hb = Handlebars()
    // A custom helper that upper-cases its first argument.
    ..registerHelper("upper", (args, options) => args.first.toString().toUpperCase())
    // A reusable partial.
    ..registerPartial("greeting", "Hello {{upper name}}!");

  // Compose a template that uses the partial, a block helper, and iteration.
  final template = hb.compile(
    "{{> greeting}}\n"
    "{{#if items}}Your items:\n{{#each items}}  {{@index}}. {{this}}\n{{/each}}{{else}}No items yet.\n{{/if}}",
  );

  final output = template({
    "name": "world",
    "items": ["apples", "oranges", "pears"],
  });

  // ignore: avoid_print
  print(output);
}
1
likes
160
points
20.1k
downloads

Documentation

API reference

Publisher

verified publishergenkit.dev

Weekly Downloads

A pure Dart implementation of Handlebars template engine.

Homepage
Repository (GitHub)
View/report issues
Contributing

License

Apache-2.0 (license)

More

Packages that depend on handlebars_dart