{"id":21168020,"url":"https://github.com/rokf/janet-datastar","last_synced_at":"2025-09-15T18:07:55.910Z","repository":{"id":260941326,"uuid":"875721119","full_name":"rokf/janet-datastar","owner":"rokf","description":"A Janet utility library for the Datastar hypermedia framework","archived":false,"fork":false,"pushed_at":"2025-01-31T19:55:07.000Z","size":32,"stargazers_count":2,"open_issues_count":7,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T17:13:35.939Z","etag":null,"topics":["datastar","http-server","hypermedia","janet","janet-lang","utility-library"],"latest_commit_sha":null,"homepage":"","language":"Janet","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/rokf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-20T17:18:18.000Z","updated_at":"2025-03-11T17:27:25.000Z","dependencies_parsed_at":"2024-11-03T19:23:19.597Z","dependency_job_id":"56f59df7-d479-456b-997d-fa7e147a6310","html_url":"https://github.com/rokf/janet-datastar","commit_stats":null,"previous_names":["rokf/janet-datastar"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rokf/janet-datastar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rokf%2Fjanet-datastar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rokf%2Fjanet-datastar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rokf%2Fjanet-datastar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rokf%2Fjanet-datastar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rokf","download_url":"https://codeload.github.com/rokf/janet-datastar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rokf%2Fjanet-datastar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271405572,"owners_count":24753798,"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","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["datastar","http-server","hypermedia","janet","janet-lang","utility-library"],"created_at":"2024-11-20T15:04:51.824Z","updated_at":"2025-09-15T18:07:50.883Z","avatar_url":"https://github.com/rokf.png","language":"Janet","funding_links":[],"categories":[],"sub_categories":[],"readme":"# janet-datastar\n\nThis is a Janet utility library for building web applications using the [Datastar](https://data-star.dev) hypermedia framework. It primarily contains helper functions for the various attributes, actions, and event types that Datastar is offering. It is meant to be used together with Janet's [spork](https://github.com/janet-lang/spork) library (`htmlgen` and `http` modules).\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e This library is not yet stable. Even though it probably contains functions for the majority of the functionality that Datastar is offering they have not all been tested yet, at least not well enough. Expect changes. I'll start adding semantic version tags once things stabilise.\n\n## API\n\nThe library is split into multiple modules:\n\n- `datastar` contains middleware and other stuff that doesn't exactly fit into any of the submodules.\n- `datastar/attributes` contains helper functions for Datastar's HTML attributes, such as `data-on`.\n- `datastar/actions` contains helper functions for Datastar's actions, such as `@get()`.\n- `datastar/events` contains helper functions for all the SSE response types (events) Datastar is supporting, such as `datastar-merge-fragments` or `datastar-remove-signals`.\n- `datastar/server` contains a slightly customized HTTP server implementation from `spork/http`, because the original does not (yet) support everything that'd be needed for it to work well with the Datastar framework.\n\nSee the [API](./API.md) reference for details.\n\n## Installation\n\nThe library can be installed with **jpm** using `jpm install https://github.com/rokf/janet-datastar` or by adding the following line into your project's dependency tuple:\n\n```janet\n{ :url \"https://github.com/rokf/janet-datastar\" :tag \"main\" }\n```\n\n## Example\n\nAn example can be found in the `example` folder. It requires the following dependencies:\n\n- https://github.com/ianthehenry/pat\n- https://github.com/janet-lang/spork\n- https://github.com/rokf/janet-redka\n\nThe folder contains a Docker Compose specification which can be used to spin up a properly configured Redka instance (see `compose.yaml`).\n\n## Tests\n\nSee the contents of the `test` folder. The tests require [judge](https://github.com/ianthehenry/judge). Make sure that it's installed on your machine before you run them with `judge test`.\n\n## License\n\nMIT - see the `LICENSE` file at the root of the repository for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frokf%2Fjanet-datastar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frokf%2Fjanet-datastar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frokf%2Fjanet-datastar/lists"}