{"id":13726219,"url":"https://github.com/ocsigen/tyxml","last_synced_at":"2025-06-14T02:08:41.150Z","repository":{"id":9778294,"uuid":"11750900","full_name":"ocsigen/tyxml","owner":"ocsigen","description":"Build valid HTML and SVG documents","archived":false,"fork":false,"pushed_at":"2025-05-26T11:24:25.000Z","size":43779,"stargazers_count":173,"open_issues_count":59,"forks_count":63,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-05-26T12:35:58.544Z","etag":null,"topics":["html","ocaml","ocsigen","svg"],"latest_commit_sha":null,"homepage":"https://ocsigen.org/tyxml/","language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ocsigen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"docs/Contributing.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null}},"created_at":"2013-07-29T22:07:48.000Z","updated_at":"2025-05-26T11:24:30.000Z","dependencies_parsed_at":"2024-01-06T02:03:26.124Z","dependency_job_id":"bae8f22a-f723-4595-a702-1ad6fba0f344","html_url":"https://github.com/ocsigen/tyxml","commit_stats":null,"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/ocsigen/tyxml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocsigen%2Ftyxml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocsigen%2Ftyxml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocsigen%2Ftyxml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocsigen%2Ftyxml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ocsigen","download_url":"https://codeload.github.com/ocsigen/tyxml/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocsigen%2Ftyxml/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259747208,"owners_count":22905313,"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":["html","ocaml","ocsigen","svg"],"created_at":"2024-08-03T01:02:56.097Z","updated_at":"2025-06-14T02:08:41.123Z","avatar_url":"https://github.com/ocsigen.png","language":"OCaml","readme":"# TyXML\n\nTyXML is a library for building statically correct HTML5 and SVG documents:\n\n```ocaml\nopen Tyxml\nlet to_ocaml = Html.(a ~a:[a_href \"ocaml.org\"] [txt \"OCaml!\"])\n```\n\nTyxml can also be used with the standard HTML syntax, using the PPX:\n\n```ocaml\nopen Tyxml\nlet%html to_ocaml = \"\u003ca href='ocaml.org'\u003eOCaml!\u003c/a\u003e\"\n```\n\nFinally, TyXML can be used with Reason's JSX syntax:\n\n```reason\nopen Tyxml;\nlet to_reason = \u003ca href=\"reasonml.github.io/\"\u003e \"Reason!\" \u003c/a\u003e\n```\n\nTyXML provides a set of combinators which use the OCaml type system\nto ensure the validity of the generated document.\nTyXML can be used on a wide variety of context, either to produce\ntextual documents, to manipulate\nthe DOM tree using [Js_of_ocaml][], build virtual DOM with [virtual-dom][],\nor for tierless web programming with [Eliom][].\n\nThe documentation can be consulted\n[on the TyXML website](https://ocsigen.org/tyxml/). Examples are\navailable in the [examples](examples) directory.\n\n[Eliom]: https://ocsigen.org/eliom/latest/manual/clientserver-html.html\n[Js_of_ocaml]: https://ocsigen.org/js_of_ocaml/latest/api/js_of_ocaml-tyxml/Js_of_ocaml_tyxml/Tyxml_js\n[virtual-dom]: https://github.com/janestreet/virtual_dom\n\n## Installation\n\nTyXML is available in [OPAM](https://opam.ocaml.org/):\n```sh\nopam install tyxml\n```\n\nTo install the PPX:\n```sh\nopam install tyxml-ppx\n```\n\nTo install the JSX:\n```sh\nopam install tyxml-jsx\n```\n","funding_links":[],"categories":["OCaml"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Focsigen%2Ftyxml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Focsigen%2Ftyxml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Focsigen%2Ftyxml/lists"}