{"id":23684998,"url":"https://github.com/trikko/parserino","last_synced_at":"2026-01-26T00:39:20.379Z","repository":{"id":61912247,"uuid":"495123825","full_name":"trikko/parserino","owner":"trikko","description":"A super-fast HTML parser and DOM editor, for D","archived":false,"fork":false,"pushed_at":"2025-09-10T12:47:57.000Z","size":9816,"stargazers_count":24,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-10T16:51:36.644Z","etag":null,"topics":["dlang","dlanguage","dom","html","html5","parser"],"latest_commit_sha":null,"homepage":"","language":"D","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/trikko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["trikko"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-05-22T17:05:42.000Z","updated_at":"2025-09-10T12:43:19.000Z","dependencies_parsed_at":"2024-12-29T20:50:41.763Z","dependency_job_id":"6a500f7a-919e-4f46-b50b-37db39d41b02","html_url":"https://github.com/trikko/parserino","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/trikko/parserino","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trikko%2Fparserino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trikko%2Fparserino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trikko%2Fparserino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trikko%2Fparserino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trikko","download_url":"https://codeload.github.com/trikko/parserino/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trikko%2Fparserino/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28762935,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T00:37:26.264Z","status":"ssl_error","status_checked_at":"2026-01-26T00:37:25.959Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["dlang","dlanguage","dom","html","html5","parser"],"created_at":"2024-12-29T20:50:32.871Z","updated_at":"2026-01-26T00:39:20.363Z","avatar_url":"https://github.com/trikko.png","language":"D","funding_links":["https://github.com/sponsors/trikko"],"categories":[],"sub_categories":[],"readme":"# parserino [![Build \u0026 Test](https://github.com/trikko/parserino/actions/workflows/d.yml/badge.svg)](https://github.com/trikko/parserino/actions/workflows/d.yml)\n* HTML5 parser based on [Lexbor](https://github.com/lexbor/lexbor)\n* Super-fast parsing \u0026 dom editing\n* Lazy ranges to browse dom faster.\n* Every method is unit-tested on Linux, MacOS, Windows\n\n# documentation\nAll docs are available [here](https://trikko.github.io/parserino/)\n\n# how it works\n\n\u003csub\u003eCheck also the [examples](https://github.com/trikko/parserino/tree/master/examples) folder\u003c/sub\u003e\n\n```d\nimport parserino;\n\nvoid main()\n{\n   // Parserino will fix your html5\n   Document doc = \"\u003chtml\u003emy html\";\n   assert(doc.toString() == \"\u003chtml\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003emy html\u003c/body\u003e\u003c/html\u003e\");\n\n   // Set a title for your page\n   doc.title = \"Hello world\";\n   assert(doc.toString() == \"\u003chtml\u003e\u003chead\u003e\u003ctitle\u003eHello world\u003c/title\u003e\u003c/head\u003e\u003cbody\u003emy html\u003c/body\u003e\u003c/html\u003e\");\n\n   // Append a html fragment\n   doc.body.appendChild(`\n   \u003ca href=\"/first.html\"\u003efirst\u003c/a\u003e\n   \u003cdiv\u003e\n      \u003ca id=\"tochange\" href=\"/second.html\"\u003esecond\u003c/a\u003e\n   \u003c/div\u003e\n   `.asFragment // without .asFragment pure text is appended\n   );\n\n   // Create and fill an html element\n   auto newElement = doc.createElement(\"a\");\n   newElement.setAttribute(\"href\", \"third.html\");\n   newElement.innerText(\"third\");\n   doc.body.appendChild(newElement);\n\n   // You can use selector to select an element\n   doc\n   .bySelector(\"div a\")    // Select all \u003ca\u003e inside a \u003cdiv\u003e\n   .frontOrThrow           // Take the first element of the range or throw an exception\n   .innerText=\"changed!\";  // Change the inner text\n\n   assert(doc.body.byId(\"tochange\").innerText == \"changed!\");\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrikko%2Fparserino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrikko%2Fparserino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrikko%2Fparserino/lists"}