{"id":19529382,"url":"https://github.com/wavetermdev/htmltoken","last_synced_at":"2025-10-08T21:59:29.240Z","repository":{"id":249876815,"uuid":"832828589","full_name":"wavetermdev/htmltoken","owner":"wavetermdev","description":"fork of golang.org/net/html HTML tokenizer to allow for case sensitive tags and attributes","archived":false,"fork":false,"pushed_at":"2024-11-02T17:50:20.000Z","size":35,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-17T16:56:42.757Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/wavetermdev.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-07-23T19:58:07.000Z","updated_at":"2024-11-02T17:48:25.000Z","dependencies_parsed_at":"2025-07-17T19:56:22.125Z","dependency_job_id":"824c5127-ada0-45fc-91e6-2c07ab33c998","html_url":"https://github.com/wavetermdev/htmltoken","commit_stats":null,"previous_names":["wavetermdev/htmltoken"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/wavetermdev/htmltoken","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavetermdev%2Fhtmltoken","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavetermdev%2Fhtmltoken/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavetermdev%2Fhtmltoken/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavetermdev%2Fhtmltoken/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wavetermdev","download_url":"https://codeload.github.com/wavetermdev/htmltoken/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavetermdev%2Fhtmltoken/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270033268,"owners_count":24515463,"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","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-11T01:24:32.866Z","updated_at":"2025-10-08T21:59:24.221Z","avatar_url":"https://github.com/wavetermdev.png","language":"Go","readme":"This is a fork of part of the golang.org/x/net/html package.\n\n## v0.2.0\n\nFor v0.2.0 we made a more radical change to the [tokenizer](https://pkg.go.dev/golang.org/x/net/html#Tokenizer) package.\n\nWe added a new syntax to allow attributes to be set with '{}' syntax.\nAny valid JSON expression is allowed within the curly brackets (this more\nclosely matches JSX syntax).\n\n```\n\u003cdiv data-num={5}\u003e\u003c/div\u003e\n```\n\nTo support proper decoding in the client, attributes now have a an `IsJson bool` field\nwhich is set to true if an attribute was parsed with the new {} syntax.\n\nIf you only need the case-sensitive tokenization for tags/attributes it is\nrecommended to use v0.1.0 and not v0.2.0.\n\n## v0.1.0\n\nIt is not a complete fork as we only want to modify and change https://pkg.go.dev/golang.org/x/net/html#Tokenizer.  So this is the minimal amount of code to get html.Tokenizer working.\n\nThe reason for the fork is to allow for returning of case-sensitive tag names and attribute names.  The current package normalizes the tag names and attribute names by calling (the equivalent of) strings.ToLower on them before returning them to the caller.  We made a very small two line change in token.go to remove those ToLower calls.  Other changes involve copying enough code from other files to get all the dependencies satisfied and get it compling again.\n\nWhy did we not fork the entire package?  Because the rest of the html package is a _validating_ html parser and is quite complicated.  As the HTML rules can change over time, it would need to be continually updated and synced with the upstream to keep it compliant.  As the actual syntax (tokenization rules) of HTML does not change often, this part of the package is likely much more stable.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwavetermdev%2Fhtmltoken","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwavetermdev%2Fhtmltoken","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwavetermdev%2Fhtmltoken/lists"}