{"id":24742303,"url":"https://github.com/8eecf0d2/jagwah","last_synced_at":"2025-03-22T20:43:10.772Z","repository":{"id":57279118,"uuid":"138812009","full_name":"8eecf0d2/jagwah","owner":"8eecf0d2","description":"🐱 Small web application framework for HyperHTML","archived":false,"fork":false,"pushed_at":"2018-12-04T14:58:10.000Z","size":230,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-01T17:49:12.147Z","etag":null,"topics":["framework","hyperhtml","lightweight","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/8eecf0d2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-27T01:11:23.000Z","updated_at":"2018-10-06T03:36:49.000Z","dependencies_parsed_at":"2022-09-11T19:00:56.005Z","dependency_job_id":null,"html_url":"https://github.com/8eecf0d2/jagwah","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8eecf0d2%2Fjagwah","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8eecf0d2%2Fjagwah/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8eecf0d2%2Fjagwah/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8eecf0d2%2Fjagwah/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/8eecf0d2","download_url":"https://codeload.github.com/8eecf0d2/jagwah/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245020314,"owners_count":20548156,"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":["framework","hyperhtml","lightweight","typescript"],"created_at":"2025-01-28T00:33:35.570Z","updated_at":"2025-03-22T20:43:10.737Z","avatar_url":"https://github.com/8eecf0d2.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jagwah\n\n[![Travis CI badge](https://travis-ci.org/8eecf0d2/jagwah.svg?branch=master)](https://travis-ci.org/8eecf0d2/jagwah)\n[![Codeclimate maintainability](https://img.shields.io/codeclimate/maintainability-percentage/8eecf0d2/jagwah.svg)](https://codeclimate.com/github/8eecf0d2/jagwah)\n[![Greenkeeper badge](https://badges.greenkeeper.io/8eecf0d2/jagwah.svg)](https://greenkeeper.io/)\n[![Bundlephobia minified badge](https://img.shields.io/bundlephobia/min/jagwah.svg)](https://bundlephobia.com/result?p=jagwah@latest)\n[![Bundlephobia minified zipped badge](https://img.shields.io/bundlephobia/minzip/jagwah.svg)](https://bundlephobia.com/result?p=jagwah@latest)\n\nJagwah (pronounced [/dʒægwæh/](https://itinerarium.github.io/phoneme-synthesis/)) is a tiny web application framework built with [hyperHtml](https://github.com/WebReflection/hyperHtml) \u0026 [Typescript](https://github.com/Microsoft/TypeScript).\n\n### Getting Started\n\nInstall with yarn or npm​\n\n```bash\nyarn add jagwah\n```\n\nImport and start using\n\n```ts\nimport { Jagwah } from 'jagwah';\n​\nconst jagwah = new Jagwah({\n  providers: [ ... ],\n  templates: [ ... ]\n});\n\njagwah.start();\n```\n\n\n### [Documentation](https://github.com/8eecf0d2/jagwah/wiki)\n\nAll of the documentation can be found in [the github wiki](https://github.com/8eecf0d2/jagwah/wiki), it's not perfectly up to date with the latest changes but provides a good overview. Organizing and validating documentation is the focus of minor release [`0.1.0`](https://github.com/8eecf0d2/jagwah/projects/4).\n\nAll examples are stored in the [`examples` branch](https://github.com/8eecf0d2/jagwah/tree/examples)\n\n### Overview\n\nJagwah wraps around hyperHtml to provide a simple API for building web applications with Routes, Templates, Dependency Injection and a few other things. It's intended for use with Typescript but works equally as well with Javascript, not abstracting too far away from core language features.\n\n### Example\n\nBelow is a really simple example of jagwah, it uses a single Template without Providers or Routes.\n\n`main.ts`\n```ts\nimport { Jagwah, Selector } from 'jagwah';\n​\nconst jagwah = new Jagwah();\n​\n@Selector('#hello-world')\nclass HelloWorldTemplate {\n  constructor() {}\n  public render(render: Jagwah.Template.render) {\n    return render`\n      \u003ch1\u003eHello World\u003c/h1\u003e\n    `;\n  }\n}\n​\njagwah.Template(HelloWorldTemplate);\n​\njagwah.update();\n```\n\n`main.js` (javascript alternative)\n```ts\nimport { Jagwah } from 'jagwah';\n​\nconst jagwah = new Jagwah();\n​\nfunction HelloWorldTemplate() {}\nHelloWorldTemplate.$selector = '#hello-world';\nHelloWorldTemplate.prototype.render(render) {\n  return render`\n    \u003ch1\u003eHello World\u003c/h1\u003e\n  `;\n}\n​\njagwah.Template(HelloWorldTemplate);\n​\njagwah.update();\n```\n\n`index.html`\n```html\n\u003cbody\u003e\n  \u003cdiv id=\"hello-world\"\u003e\u003c/div\u003e\n\u003c/body\u003e\n```\n\n`result.png`\n![hello world with jagwah](https://i.imgur.com/Yu7GYaK.png)\n\n### Credits\n\nAll of the really hard work was done by [WebReflection](https://github.com/WebReflection) and the contributors of [hyperHtml](https://github.com/WebReflection/hyperHtml/graphs/contributors).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F8eecf0d2%2Fjagwah","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F8eecf0d2%2Fjagwah","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F8eecf0d2%2Fjagwah/lists"}