{"_id":"562d247e26a0a10d00ad6c01","version":{"_id":"562d247a26a0a10d00ad6be2","__v":10,"project":"55ba86e68f4ef01900c0ae1f","createdAt":"2015-10-25T18:50:34.678Z","releaseDate":"2015-10-25T18:50:34.678Z","categories":["562d247b26a0a10d00ad6be3","562d247b26a0a10d00ad6be4","562d247b26a0a10d00ad6be5","562d247b26a0a10d00ad6be6","562d247b26a0a10d00ad6be7","562d247b26a0a10d00ad6be8","562d247b26a0a10d00ad6be9","566f8106f11d5a0d007226fa","566fb8be1dabd80d00b1206c","566fb8c4cbb2fb0d00f7c4c0","566fb8c9e10ecb0d0004edd0","566fb8ea6995210d003aaa65","566fb8fce10ecb0d0004edd1","566fb901e10ecb0d0004edd2","566fb90e81801f0d00802d60","566fb9126995210d003aaa66"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1"},"__v":0,"category":{"_id":"562d247b26a0a10d00ad6be7","__v":1,"pages":["562d247e26a0a10d00ad6bfc","562d247e26a0a10d00ad6bfd","562d247e26a0a10d00ad6bfe","562d247e26a0a10d00ad6bff","562d247e26a0a10d00ad6c00","562d247e26a0a10d00ad6c01","562d247e26a0a10d00ad6c02","562d247e26a0a10d00ad6c03","562d247e26a0a10d00ad6c04"],"project":"55ba86e68f4ef01900c0ae1f","version":"562d247a26a0a10d00ad6be2","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-07-30T22:45:50.984Z","from_sync":false,"order":7,"slug":"autocode-elements","title":"Hacking Autocode"},"project":"55ba86e68f4ef01900c0ae1f","user":"55ba86a810133e2b00feb6bc","updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-07-31T18:49:56.751Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":5,"body":"[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"Since Helpers interact directly with Crystal, they must be written in JavaScript and/or CoffeeScript.\"\n}\n[/block]\nHelpers add logic to Engines such as:\n\n- capitalizing, pluralizing and singularizing text\n- adding conditions for showing/hiding blocks of text\n\nMany template engines already use helpers, so this concept might be familiar to you.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Examples\"\n}\n[/block]\nHere is a simple example of changing the case of text:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"var changechase = require('change-case');\\n\\nmodule.exports = function(value, args) {\\n  return changechase[args[0]](value);\\n};\",\n      \"language\": \"javascript\",\n      \"name\": \"helper.js\"\n    }\n  ]\n}\n[/block]","excerpt":"Helpers help Engines do more.","slug":"helpers","type":"basic","title":"Helpers"}

Helpers

Helpers help Engines do more.

[block:callout] { "type": "info", "body": "Since Helpers interact directly with Crystal, they must be written in JavaScript and/or CoffeeScript." } [/block] Helpers add logic to Engines such as: - capitalizing, pluralizing and singularizing text - adding conditions for showing/hiding blocks of text Many template engines already use helpers, so this concept might be familiar to you. [block:api-header] { "type": "basic", "title": "Examples" } [/block] Here is a simple example of changing the case of text: [block:code] { "codes": [ { "code": "var changechase = require('change-case');\n\nmodule.exports = function(value, args) {\n return changechase[args[0]](value);\n};", "language": "javascript", "name": "helper.js" } ] } [/block]