{"id":15680996,"url":"https://github.com/jaredwray/fumanchu","last_synced_at":"2025-08-01T23:43:47.822Z","repository":{"id":190494133,"uuid":"682702922","full_name":"jaredwray/fumanchu","owner":"jaredwray","description":"Handlebars + Helpers Together :heart:","archived":false,"fork":false,"pushed_at":"2025-07-10T23:55:45.000Z","size":380,"stargazers_count":18,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-14T06:51:21.622Z","etag":null,"topics":["handlebars","handlebars-js","helpers","javascript","template-engine","typescript"],"latest_commit_sha":null,"homepage":"https://fumanchu.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaredwray.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-24T18:35:42.000Z","updated_at":"2025-07-10T23:55:37.000Z","dependencies_parsed_at":"2023-08-24T22:37:12.250Z","dependency_job_id":"283d5fe7-69b0-4adb-bd0a-6f572cdc3bec","html_url":"https://github.com/jaredwray/fumanchu","commit_stats":null,"previous_names":["jaredwray/fumanchu"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/jaredwray/fumanchu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredwray%2Ffumanchu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredwray%2Ffumanchu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredwray%2Ffumanchu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredwray%2Ffumanchu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaredwray","download_url":"https://codeload.github.com/jaredwray/fumanchu/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredwray%2Ffumanchu/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265443423,"owners_count":23766407,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["handlebars","handlebars-js","helpers","javascript","template-engine","typescript"],"created_at":"2024-10-03T16:47:57.287Z","updated_at":"2025-07-15T15:33:10.561Z","avatar_url":"https://github.com/jaredwray.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Fumanchu](site/logo.svg \"Fumanchu\")\n\n\n# fumanchu\nHandlebars + Helpers Together\n\n[![tests](https://github.com/jaredwray/fumanchu/actions/workflows/tests.yaml/badge.svg)](https://github.com/jaredwray/fumanchu/actions/workflows/tests.yaml)\n[![codecov](https://codecov.io/gh/jaredwray/fumanchu/graph/badge.svg?token=gtYw78huva)](https://codecov.io/gh/jaredwray/fumanchu)\n[![npm version](https://img.shields.io/npm/v/@jaredwray/fumanchu.svg)](https://npmjs.com/package/@jaredwray/fumanchu)\n[![GitHub license](https://img.shields.io/github/license/jaredwray/fumanchu)](https://github.com/jaredwray/fumanchu/blob/master/LICENSE)\n[![npm](https://img.shields.io/npm/dm/@jaredwray/fumanchu)](https://npmjs.com/package/@jaredwray/fumanchu)\n\n[Handlebars](https://github.com/handlebars-lang/handlebars.js) + [Handlebars-helpers](https://github.com/helpers/handlebars-helpers) (helpers are now maintained in this project) combined into a single package. Easily use it as a drop in replacement when using handlebars directly. More than 180 Handlebars helpers in ~20 categories. Helpers can be used with Assemble, Generate, Verb, Ghost, gulp-handlebars, grunt-handlebars, consolidate, or any node.js/Handlebars project. Currently **189 helpers** in **20 categories**! 🎉\n\n# Table of Contents\n* [Using in Nodejs](#using-in-nodejs)\n* [Just using Handlebar Helpers](#using-handlebars-helpers)\n* [Helpers](https://fumanchu.org/docs/helpers/)\n  * [array](https://fumanchu.org/docs/helpers/array/)\n  * [code](https://fumanchu.org/docs/helpers/code/)\n  * [comparison](https://fumanchu.org/docs/helpers/comparison/)\n  * [collection](https://fumanchu.org/docs/helpers/collection/)\n  * [date](https://fumanchu.org/docs/helpers/date/)\n  * [fs](https://fumanchu.org/docs/helpers/fs/)\n  * [html](https://fumanchu.org/docs/helpers/html/)\n  * [i18n](https://fumanchu.org/docs/helpers/i18n/)\n  * [inflection](https://fumanchu.org/docs/helpers/inflection/)\n  * [logging](https://github.com/jonathas/logging-helpers)\n  * [markdown](https://fumanchu.org/docs/helpers/markdown/)\n  * [match](https://fumanchu.org/docs/helpers/match/)\n  * [math](https://fumanchu.org/docs/helpers/math/)\n  * [misc](https://fumanchu.org/docs/helpers/misc/)\n  * [number](https://fumanchu.org/docs/helpers/number/)\n  * [object](https://fumanchu.org/docs/helpers/object/)\n  * [path](https://fumanchu.org/docs/helpers/path/)\n  * [regex](https://fumanchu.org/docs/helpers/regex/)\n  * [string](https://fumanchu.org/docs/helpers/string/)\n  * [url](https://fumanchu.org/docs/helpers/url/)\n  * [utils](https://fumanchu.org/docs/helpers/utils/)\n* [How to Contribute](#how-to-contribute)\n* [License and Copyright](#license-and-copyright)\n\n# Usage Nodejs\n\n```bash\nnpm install @jaredwray/fumanchu --save\n```\n\n```javascript\nvar {handlebars, helpers} = require('@jaredwray/fumanchu');\nhelpers({ handlebars: handlebars });\nvar template = handlebars.compile('{{#if (eq foo \"bar\")}}\u003cp\u003eFoo is bar\u003c/p\u003e{{/if}}');\nvar html = template({foo: 'bar'});\nconsole.log(html);\n```\n\nIf using it with es6 you can access `handlebars` and `helpers`:\n\n```javascript\nimport {handlebars, helpers} from '@jaredwray/fumanchu';\nhelpers({ handlebars: handlebars });\nconst template = handlebars.compile('{{#if (eq foo \"bar\")}}\u003cp\u003eFoo is bar\u003c/p\u003e{{/if}}');\nconst html = template({foo: 'bar'});\nconsole.log(html);\n```\n\nIf you want to just get an instance of handlebars via `createHandlebars` you can do the following **(it is async)**:\n\n```javascript\nimport {createHandlebars} from '@jaredwray/fumanchu';\nconst handlebars = await createHandlebars(); //this will return a handlebars instance with all helpers\nconst template = handlebars.compile('{{#if (eq foo \"bar\")}}\u003cp\u003eFoo is bar\u003c/p\u003e{{/if}}');\nconst html = template({foo: 'bar'});\nconsole.log(html); // \u003cp\u003eFoo is bar\u003c/p\u003e\n```\n\nIt's just that easy! No need to add Handlebars to your project, it's already included.\n\n# Using Handlebars Helpers\n\nIf you only want to use handlebar helpers you can easily do that by doing the following:\n\n```javascript\nvar {helpers} = require('@jaredwray/fumanchu');\nvar handlebars = require('handlebars');\nvar helpersFunction = await helpers();\nhelpersFunction({ handlebars: handlebars });\nvar fn = handlebars.compile('{{add value 5}}');\nconsole.log(fn); // 10\n```\n\nIf using it with es6 you can access `helpers` via destructuring:\n\n```javascript\nimport {helpers} from '@jaredwray/fumanchu';\nimport handlebars from 'handlebars';\nconst helpersFunction = await helpers();\nhelpersFunction({ handlebars: handlebars });\nconst template = handlebars.compile('{{#if (eq foo \"bar\")}}\u003cp\u003eFoo is bar\u003c/p\u003e{{/if}}');\nconst html = template({foo: 'bar'});\nconsole.log(html); // \u003cp\u003eFoo is bar\u003c/p\u003e\n```\n\n## How to Contribute\nclone the repository locally and run 'npm i' in the root. Now that you've set up your workspace, you're ready to contribute changes to the `fumanchu` repository you can refer to the [CONTRIBUTING](CONTRIBUTING.md) guide. If you have any questions please feel free to ask by creating an issue and label it `question`.\n\nTo test the legacy helpers, you can run `npm run test:legacy` to run the tests. If you want to test the new helpers, you can run `npm run test`.\n\n## License and Copyright\n[MIT](LICENSE) and codebase after 2023 will be copyright of Jared Wray.\n\nThis is a fork of [handlebars-helpers]() which is licensed under MIT. Initial copyright of handlebars-helpers: `2013-2015, 2017, Jon Schlinkert, Brian Woodward`. Thank you so much for your effort and building this! We have also continued to list all contributors in `package.json` to ensure that they are recognized.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredwray%2Ffumanchu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaredwray%2Ffumanchu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredwray%2Ffumanchu/lists"}