{"id":13561339,"url":"https://github.com/elm-athlete/athlete","last_synced_at":"2025-12-11T20:57:19.904Z","repository":{"id":52693963,"uuid":"88750406","full_name":"elm-athlete/athlete","owner":"elm-athlete","description":"💪 type safe elm-html-css-builder aka athlete","archived":false,"fork":false,"pushed_at":"2025-04-04T14:29:02.000Z","size":5659,"stargazers_count":63,"open_issues_count":9,"forks_count":5,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-10T06:56:45.953Z","etag":null,"topics":["elm","frontend","inline-css"],"latest_commit_sha":null,"homepage":"https://package.elm-lang.org/packages/elm-athlete/athlete/6.0.1/","language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elm-athlete.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}},"created_at":"2017-04-19T13:47:33.000Z","updated_at":"2025-04-16T08:42:42.000Z","dependencies_parsed_at":"2022-08-19T18:20:46.193Z","dependency_job_id":null,"html_url":"https://github.com/elm-athlete/athlete","commit_stats":null,"previous_names":["elm-bodybuilder/elegant"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elm-athlete%2Fathlete","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elm-athlete%2Fathlete/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elm-athlete%2Fathlete/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elm-athlete%2Fathlete/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elm-athlete","download_url":"https://codeload.github.com/elm-athlete/athlete/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254243364,"owners_count":22038046,"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":["elm","frontend","inline-css"],"created_at":"2024-08-01T13:00:55.057Z","updated_at":"2025-12-11T20:57:14.856Z","avatar_url":"https://github.com/elm-athlete.png","language":"Elm","funding_links":[],"categories":["Elm"],"sub_categories":[],"readme":"# `elm-html-css-builder` aka athlete\n\nType-safe CSS in elm is great, but it doesn't prevent a lot of invalid HTML\ntrees. For example, if you add width to a span, it won't have any effect. But\nadding type-safety to CSS has no context of which HTML element you are in, so\nit can't prevent you from expressing that.\n\nSimilarly for flex-box, since a type-safe CSS library doesn't have context on\nwhat the parent-child relationships need to be so it can't enforce that the\nparent and children are set with the appropriate flex attributes.\nBut athlete can!\n\nNo more changing properties and then checking the browser to see if anything changed!\nathlete will give you compiler errors if you try to write CSS\nthat wouldn't end up having an effect, so it eliminates a whole class of impossible states!\n\nIn other words, you won't have to look through your browser dev tools for messages like this anymore!\n\n[Tweet](https://twitter.com/patrickbrosset/status/1118889616952766466)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felm-athlete%2Fathlete","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felm-athlete%2Fathlete","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felm-athlete%2Fathlete/lists"}