{"id":13599961,"url":"https://github.com/markuplint/markuplint","last_synced_at":"2026-02-22T10:14:35.073Z","repository":{"id":26310738,"uuid":"104835801","full_name":"markuplint/markuplint","owner":"markuplint","description":"An HTML linter for all markup developers.","archived":false,"fork":false,"pushed_at":"2025-05-09T20:10:37.000Z","size":38497,"stargazers_count":575,"open_issues_count":117,"forks_count":57,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-05-10T00:36:40.651Z","etag":null,"topics":["alpinejs","custom-elements","html","htmx","jsx-templates","linter","liquid","mustache-templates","nunjucks","php","pug","react","svelte","vue"],"latest_commit_sha":null,"homepage":"https://markuplint.dev","language":"TypeScript","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/markuplint.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["markuplint"]}},"created_at":"2017-09-26T04:25:35.000Z","updated_at":"2025-05-09T20:09:04.000Z","dependencies_parsed_at":"2024-01-21T09:42:18.288Z","dependency_job_id":"9acc43b7-e2d2-4dee-93d8-0009a573b304","html_url":"https://github.com/markuplint/markuplint","commit_stats":{"total_commits":4533,"total_committers":38,"mean_commits":"119.28947368421052","dds":0.2634017207147584,"last_synced_commit":"1b23df46e26e0577a0734ebab211be0ece2fbcec"},"previous_names":[],"tags_count":3218,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markuplint%2Fmarkuplint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markuplint%2Fmarkuplint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markuplint%2Fmarkuplint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markuplint%2Fmarkuplint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markuplint","download_url":"https://codeload.github.com/markuplint/markuplint/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254101559,"owners_count":22014908,"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":["alpinejs","custom-elements","html","htmx","jsx-templates","linter","liquid","mustache-templates","nunjucks","php","pug","react","svelte","vue"],"created_at":"2024-08-01T17:01:21.804Z","updated_at":"2026-02-22T10:14:35.064Z","avatar_url":"https://github.com/markuplint.png","language":"TypeScript","funding_links":["https://github.com/sponsors/markuplint"],"categories":["TypeScript"],"sub_categories":[],"readme":"# ![markuplint](https://cdn.jsdelivr.net/gh/markuplint/markuplint@main/media/logo-v.svg)\n\n[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n[![Gitter](https://badges.gitter.im/markuplint/community.svg)](https://gitter.im/markuplint/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fmarkuplint%2Fmarkuplint.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fmarkuplint%2Fmarkuplint?ref=badge_shield)\n\n**Peace of mind in your markup** - An HTML linter for all markup developers.\n\n## Website\n\n- [markuplint.dev](https://markuplint.dev)\n- [Playground](https://playground.markuplint.dev/)\n\n## Packages\n\n| Package               | Name                                                            | NPM                                                                                                                              | Platform  |\n| --------------------- | --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | --------- |\n| **CLI**               | [`markuplint`](./packages/markuplint)                           | [![npm version](https://badge.fury.io/js/markuplint.svg)](https://badge.fury.io/js/markuplint)                                   | Node.js   |\n| **Core**              | [`@markuplint/ml-core`](./packages/@markuplint/ml-core)         | [![npm version](https://badge.fury.io/js/%40markuplint%2Fml-core.svg)](https://badge.fury.io/js/%40markuplint%2Fml-core)         | Universal |\n| **Rules**             | [`@markuplint/rules`](./packages/@markuplint/rules)             | [![npm version](https://badge.fury.io/js/%40markuplint%2Frules.svg)](https://badge.fury.io/js/%40markuplint%2Frules)             | Universal |\n| **HTML Parser**       | [`@markuplint/html-parser`](./packages/@markuplint/html-parser) | [![npm version](https://badge.fury.io/js/%40markuplint%2Fhtml-parser.svg)](https://badge.fury.io/js/%40markuplint%2Fhtml-parser) | Universal |\n| **Specs and Schemas** | [`@markuplint/html-spec`](./packages/@markuplint/html-spec)     | [![npm version](https://badge.fury.io/js/%40markuplint%2Fhtml-spec.svg)](https://badge.fury.io/js/%40markuplint%2Fhtml-spec)     | Universal |\n\n[More Packages...](./packages/%40markuplint/)\n\n## Template Parser Plugins\n\n| Package       | Name                                                                    | NPM                                                                                                                                   | Platform  |\n| ------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | --------- |\n| **JSX**       | [`@markuplint/jsx-parser`](./packages/@markuplint/jsx-parser)           | [![npm version](https://badge.fury.io/js/%40markuplint%2Fjsx-parser.svg)](https://www.npmjs.com/package/@markuplint/jsx-parser)       | Universal |\n| **Vue**       | [`@markuplint/vue-parser`](./packages/@markuplint/vue-parser)           | [![npm version](https://badge.fury.io/js/%40markuplint%2Fvue-parser.svg)](https://www.npmjs.com/package/@markuplint/vue-parser)       | Universal |\n| **Svelte**    | [`@markuplint/svelte-parser`](./packages/@markuplint/svelte-parser)     | [![npm version](https://badge.fury.io/js/%40markuplint%2Fsvelte-parser.svg)](https://www.npmjs.com/package/@markuplint/svelte-parser) | Universal |\n| **Astro**     | [`@markuplint/astro-parser`](./packages/@markuplint/astro-parser)       | [![npm version](https://badge.fury.io/js/%40markuplint%2Fastro-parser.svg)](https://www.npmjs.com/package/@markuplint/astro-parser)   | Universal |\n| **Alpine.js** | [`@markuplint/alpine-parser`](./packages/@markuplint/alpine-parser)     | [![npm version](https://badge.fury.io/js/%40markuplint%2Falpine-parser.svg)](https://www.npmjs.com/package/@markuplint/alpine-parser) | Universal |\n| **HTMX**      | [`@markuplint/htmx-spec`](./packages/@markuplint/htmx-spec) (spec-only) | [![npm version](https://badge.fury.io/js/%40markuplint%2Fhtmx-spec.svg)](https://www.npmjs.com/package/@markuplint/htmx-spec)         | Universal |\n| **Pug**       | [`@markuplint/pug-parser`](./packages/@markuplint/pug-parser)           | [![npm version](https://badge.fury.io/js/%40markuplint%2Fpug-parser.svg)](https://www.npmjs.com/package/@markuplint/pug-parser)       | Universal |\n| **PHP**       | [`@markuplint/php-parser`](./packages/@markuplint/php-parser)           | [![npm version](https://badge.fury.io/js/%40markuplint%2Fphp-parser.svg)](https://www.npmjs.com/package/@markuplint/php-parser)       | Universal |\n\n[More Template Parser Plugins...](./packages/%40markuplint/)\n\n## Editor Extensions\n\n- [Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=yusukehirao.vscode-markuplint)\n\n## License\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fmarkuplint%2Fmarkuplint.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fmarkuplint%2Fmarkuplint?ref=badge_large)\n\n## Sponsors\n\n### Corporate Sponsors\n\n[\u003cimg width=\"140\" src=\"https://avatars.githubusercontent.com/u/1551649\" alt=\"Velc\" /\u003e](https://www.velc.co.jp/)\n\n### Personal Supporters\n\n[\u003cimg width=\"36\" src=\"https://avatars.githubusercontent.com/u/91733847\" alt=\"Tokitake\" /\u003e](https://github.com/Tokitake)\n[\u003cimg width=\"36\" src=\"https://avatars.githubusercontent.com/u/1996642\" alt=\"Okuto Oyama\" /\u003e](https://github.com/yamanoku)\n[\u003cimg width=\"36\" src=\"https://avatars.githubusercontent.com/u/6581173\" alt=\"miita\" /\u003e](https://github.com/mikimhk)\n[\u003cimg width=\"36\" src=\"https://avatars.githubusercontent.com/u/111797\" alt=\"Yasuo Fukuda\" /\u003e](https://github.com/sigwyg)\n[\u003cimg width=\"36\" src=\"https://avatars.githubusercontent.com/u/91047157\" alt=\"shamokit\" /\u003e](https://github.com/shamokit)\n[\u003cimg width=\"36\" src=\"https://avatars.githubusercontent.com/u/18516475\" alt=\"takanorip\" /\u003e](https://github.com/takanorip)\n\nNeed [Sponsors❤️‍🔥](https://github.com/sponsors/markuplint)\n\n## Thanks\n\nThis linter is inspired by:\n\n- [HTMLHint](https://htmlhint.com/)\n- [ESLint](https://eslint.org/)\n- [Stylelint](https://stylelint.io/)\n- [textlint](https://textlint.github.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkuplint%2Fmarkuplint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkuplint%2Fmarkuplint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkuplint%2Fmarkuplint/lists"}