{"id":16676661,"url":"https://github.com/princed/specht","last_synced_at":"2025-07-10T18:41:31.991Z","repository":{"id":51422948,"uuid":"66457843","full_name":"princed/specht","owner":"princed","description":"Check links found in html or js files by pattern","archived":false,"fork":false,"pushed_at":"2021-05-12T01:13:11.000Z","size":301,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-14T12:08:10.144Z","etag":null,"topics":["cli","crawler","html","javascript","streams"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/princed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-24T11:18:49.000Z","updated_at":"2023-02-14T01:04:36.000Z","dependencies_parsed_at":"2022-09-26T21:51:08.472Z","dependency_job_id":null,"html_url":"https://github.com/princed/specht","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/princed%2Fspecht","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/princed%2Fspecht/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/princed%2Fspecht/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/princed%2Fspecht/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/princed","download_url":"https://codeload.github.com/princed/specht/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243347293,"owners_count":20276160,"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":["cli","crawler","html","javascript","streams"],"created_at":"2024-10-12T13:11:12.134Z","updated_at":"2025-03-13T05:24:26.652Z","avatar_url":"https://github.com/princed.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Specht\n======\n\n[![Dependency Status](https://img.shields.io/david/princed/specht.svg?style=flat-square)](https://david-dm.org/princed/specht) [![Greenkeeper badge](https://badges.greenkeeper.io/princed/specht.svg)](https://greenkeeper.io/) [![Current version](https://img.shields.io/npm/v/specht.svg?style=flat-square)](https://www.npmjs.com/package/specht) [![Travis Build Status](https://img.shields.io/travis/princed/specht.svg?style=flat-square)](https://travis-ci.org/princed/specht)\n\n## Installation\n\n```\n$ npm install specht --save\n```\n\n## Usage\n\n### CLI\n\n```sh\n$ specht --help\n\nUsage: specht [path] [options]\n\nExample: specht path/to/start/from \\\n--pattern https://www.jetbrains.com/hub/help/1.0/%s.html \\\n--ignore-file .gitignore \\\n--html-rules svg:xlink:href hub-page-help-link:url \\\n--js-rules getHelpUrlFilter getHelpUrlInSecondParameter:1 \\\n--html-extension .html .htm \\\n--teamcity\n\nAt least one of --js-rules or --html-rules parameters is required. Will exit\nwith code 1 otherwise.\n\nOptions:\n  --pattern         Help site pattern, e.g.:\n                    https://www.jetbrains.com/hub/help/1.0/%s.html. “%s”\n                    placeholder is replaced with parts found by parsers\n                                                                 [default: \"%s\"]\n  --ignore-file     Files and directories to ignore, uses .gitgnore format.\n                    Relative from path.\n  --html-rules      Rules of parsing HTML files, in form of \u003ctag\n                    name\u003e:\u003cattribute name\u003e. XML namespaces for attributes are\n                    supported.                                           [array]\n  --js-rules        Rules of parsing JavaScript files, in form of \u003cfunction\n                    name\u003e[:\u003cargument number, default is 0\u003e].             [array]\n  --html-extension  Extensions of HTML files        [array] [default: [\".html\"]]\n  --js-extension    Extensions of JavaScript files    [array] [default: [\".js\"]]\n  --teamcity        Report check results to TeamCity                   [boolean]\n  --help            Show help                                          [boolean]\n```\n\n### Programmatic \n\nSee fields descriptions above, however there are no defaults for programmatic usage\n\n```js\nimport createRunner from 'specht';\n\nconst runner = createRunner();\n\nrunner.start({\n rootDir,\n pattern,  \n ignoreFile,\n teamcity,\n htmlExtension,\n htmlRules,\n jsExtension,\n jsRules\n});\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprinced%2Fspecht","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprinced%2Fspecht","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprinced%2Fspecht/lists"}