{"id":17106298,"url":"https://github.com/aereal/gohn","last_synced_at":"2025-07-31T17:44:30.844Z","repository":{"id":57605034,"uuid":"77418186","full_name":"aereal/gohn","owner":"aereal","description":"Hatena Notation (はてな記法) Parser written in Go","archived":false,"fork":false,"pushed_at":"2017-08-03T15:12:19.000Z","size":61,"stargazers_count":17,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-24T05:25:05.711Z","etag":null,"topics":["go","parser","text-processing"],"latest_commit_sha":null,"homepage":"","language":"Go","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/aereal.png","metadata":{"files":{"readme":"README.markdown","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}},"created_at":"2016-12-27T02:03:30.000Z","updated_at":"2020-08-15T09:42:18.000Z","dependencies_parsed_at":"2022-09-13T01:33:48.479Z","dependency_job_id":null,"html_url":"https://github.com/aereal/gohn","commit_stats":null,"previous_names":["aereal/go-text-hatena"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aereal/gohn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aereal%2Fgohn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aereal%2Fgohn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aereal%2Fgohn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aereal%2Fgohn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aereal","download_url":"https://codeload.github.com/aereal/gohn/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aereal%2Fgohn/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268081661,"owners_count":24192967,"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-07-31T02:00:08.723Z","response_time":66,"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":["go","parser","text-processing"],"created_at":"2024-10-14T15:44:28.043Z","updated_at":"2025-07-31T17:44:30.771Z","avatar_url":"https://github.com/aereal.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gohn\n\ngohn (Hatena Notation parser written in Go) is a parser for Hatena Notation (a.k.a. はてな記法).\n\n**:warning: This software is like a sketch. API or any design may change without notice.**\n\n## AST definition\n\nSee [schema.json](schema.json)\n\n## Background\n\nWhy do we implement new Hatena Notation parser although there are several implementations?\n\nIn short, all of other implementations have a problem about complexity, or (and) lack of formal specification.\n\n### Complexity\n\nThe original Hatena Notation spec. and its implementation have some very complex features.\nFor example, `[URL:title]` notation that tells the parser retrieve `URL` and use retrieved page title for anchor text.\n\nFormer implementations have failed to separation of concerns.\n\n### Lack of formal specification\n\nAs mentioned earlier, we have a specification of Hatena Notation, but it is not formal.\nIn other words, former implementations are also informal specification.\n\nThis means we have to know how implementations work if we want to know definition of some notations.\n\nIt also causes lost of encapsulation, so changes will be mostly breaking.\n\n## Author\n\n@aereal\n\n## License\n\nThe package is available as open source under the terms of the MIT License (see LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faereal%2Fgohn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faereal%2Fgohn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faereal%2Fgohn/lists"}