{"id":20526512,"url":"https://github.com/gbdev/list-linter","last_synced_at":"2025-08-06T11:23:21.344Z","repository":{"id":106695048,"uuid":"262820801","full_name":"gbdev/list-linter","owner":"gbdev","description":" Our version of the awesome-list linter to help mantain and enforce rules on resources lists ","archived":false,"fork":false,"pushed_at":"2021-02-04T13:58:31.000Z","size":239,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-08T12:35:18.896Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/gbdev.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/funding.yml","license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"sindresorhus"}},"created_at":"2020-05-10T15:46:56.000Z","updated_at":"2024-05-02T17:50:50.000Z","dependencies_parsed_at":"2023-10-12T04:52:29.138Z","dependency_job_id":null,"html_url":"https://github.com/gbdev/list-linter","commit_stats":{"total_commits":70,"total_committers":14,"mean_commits":5.0,"dds":0.4571428571428572,"last_synced_commit":"6e9025bd571a6d83fe9147c91eeb6b5712fa243b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gbdev/list-linter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbdev%2Flist-linter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbdev%2Flist-linter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbdev%2Flist-linter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbdev%2Flist-linter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gbdev","download_url":"https://codeload.github.com/gbdev/list-linter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbdev%2Flist-linter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260027133,"owners_count":22947788,"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":[],"created_at":"2024-11-15T23:14:30.780Z","updated_at":"2025-06-30T22:06:14.305Z","avatar_url":"https://github.com/gbdev.png","language":"JavaScript","funding_links":["https://github.com/sponsors/sindresorhus"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n\t\u003cbr\u003e\n\t\u003cimg width=\"500\" src=\"media/logo.svg\" alt=\"awesome-lint\"\u003e\n\t\u003cbr\u003e\n\t\u003cbr\u003e\n\t\u003cbr\u003e\n\u003c/h1\u003e\n\n\u003e Linter for [Awesome](https://awesome.re) lists\n\n[![Build Status](https://travis-ci.com/sindresorhus/awesome-lint.svg?branch=master)](https://travis-ci.com/sindresorhus/awesome-lint)\n\nIntended to make it easier to create and maintain Awesome lists.\n\nIncludes a bunch of [general Markdown rules](https://github.com/sindresorhus/awesome-lint/blob/master/config.js) and some [Awesome specific rules](https://github.com/sindresorhus/awesome-lint/tree/master/rules).\n\n![](media/screenshot.png)\n\n## CLI\n\n### Install\n\n```\n$ npm install --global awesome-lint\n```\n\n### Usage\n\n```\n❯ awesome-lint\n\n  readme.md:1:1\n  ✖    1:1  Missing Awesome badge after the main heading      awesome-badge\n  ✖   12:1  Marker style should be -                          unordered-list-marker-style\n  ✖  199:3  Remove trailing slash (https://sindresorhus.com)  trailing-slash\n\n  3 errors\n```\n\n### Special comments\n\nYou can enable, disable, and ignore rules using special comments. This is based on [remark-message-control](https://github.com/remarkjs/remark-message-control#markers).\n\nBy default, all rules are turned on. For example, 4 errors (2 of `no-dead-urls` and 2 of `awesome-list-item`) will be generated for following code snippets.\n\n```md\n- [foo](https://foo.com) - an invalid description.\n- [foo](https://foo.com) - invalid description.\n```\n\n###### `disable`\n\nThe `disable` keyword turns off all messages of the given rule identifiers. If no identifiers are specified, all messages are turned off.\n\n**Don't leave spaces after the last rule identifier.**\n\nFor example, only the 2 `no-dead-urls` errors are left:\n\n```md\n\u003c!--lint disable awesome-list-item--\u003e\n- [foo](https://foo.com) - an invalid description.\n- [foo](https://foo.com) - invalid description.\n```\n\n###### `enable`\n\nThe `enable` keyword turns on all messages of the given rule identifiers. If no identifiers are specified, all messages are turned on.\n\nFor example, only the second line reports a `awesome-list-item` rule violation:\n\n```md\n\u003c!--lint disable awesome-list-item--\u003e\n- [foo](https://foo.com) - an invalid description.\n\u003c!--lint enable awesome-list-item--\u003e\n- [foo](https://foo.com) - invalid description.\n```\n\n###### `ignore`\n\nThe `ignore` keyword turns off all messages of the given rule identifiers occurring in the following node. If no identifiers are specified, all messages are turned ignored. After the end of the following node, messages are turned on again. This is the main difference with `disable`.\n\nFor example, to turn off certain messages for the next node:\n\n```md\n\u003c!--lint ignore awesome-list-item--\u003e\n- [foo](https://foo.com) - an invalid description.\n\nList items share the same parent node. So let's create a new list.\n\n- [foo](https://foo.com) - invalid description.\n```\n\n### Tip\n\nAdd it as a `test` script in package.json and activate Travis CI to lint on new commits and pull requests.\n\n**Note:** [Travis CI only clones repositories to a maximum of 50 commits by default](https://docs.travis-ci.com/user/customizing-the-build/#git-clone-depth), which may result in a false positive of `awesome/git-repo-age`, and so you should set `depth` to `false` in `.travis.yml` if needed.\n\n**Note:** Avoid rate limit problems on Travis CI by defining a [GitHub personal access token](https://github.com/settings/tokens/new) in an environment variable named `github_token`. See [defining variables in repository settings](https://docs.travis-ci.com/user/environment-variables/#defining-variables-in-repository-settings).\n\n###### package.json\n\n```json\n{\n\t\"scripts\": {\n\t\t\"test\": \"awesome-lint\"\n\t},\n\t\"devDependencies\": {\n\t\t\"awesome-lint\": \"*\"\n\t}\n}\n```\n\n###### .travis.yml\n\n```\nlanguage: node_js\nnode_js:\n  - 'node'\n# git:\n#   depth: false\n```\n\n\n## API\n\n### Install\n\n```\n$ npm install awesome-lint\n```\n\n### Usage\n\n```js\nconst awesomeLint = require('awesome-lint');\n\nawesomeLint.report();\n```\n\n### Docs\n\n#### awesomeLint()\n\nReturns a `Promise` for a list of [`VFile`](https://github.com/wooorm/vfile) objects.\n\n#### awesomeLint.report()\n\nShow the lint output. This can be custom reported by setting `options.reporter=\u003cfunction\u003e` and passing in `options` as a parameter.\n\n## Maintainers\n\n- [Sindre Sorhus](https://github.com/sindresorhus)\n- [Travis Fischer](https://github.com/transitive-bullshit)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbdev%2Flist-linter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgbdev%2Flist-linter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbdev%2Flist-linter/lists"}