{"id":13828739,"url":"https://github.com/github/email_reply_parser","last_synced_at":"2025-04-09T16:19:33.307Z","repository":{"id":55064978,"uuid":"1400605","full_name":"github/email_reply_parser","owner":"github","description":"Small library to parse plain text email content","archived":false,"fork":false,"pushed_at":"2024-04-02T17:39:26.000Z","size":120,"stargazers_count":676,"open_issues_count":28,"forks_count":157,"subscribers_count":326,"default_branch":"master","last_synced_at":"2025-04-02T10:34:07.378Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/github.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}},"created_at":"2011-02-23T02:13:11.000Z","updated_at":"2025-03-30T15:35:20.000Z","dependencies_parsed_at":"2024-04-02T18:43:55.813Z","dependency_job_id":"ec8f2461-246c-4af4-a4e4-5c88445b6fb3","html_url":"https://github.com/github/email_reply_parser","commit_stats":{"total_commits":94,"total_committers":22,"mean_commits":"4.2727272727272725","dds":0.5319148936170213,"last_synced_commit":"7cb32a5fbe87c2d98bfecc69397f15c5241c81c7"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Femail_reply_parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Femail_reply_parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Femail_reply_parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Femail_reply_parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/github","download_url":"https://codeload.github.com/github/email_reply_parser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065281,"owners_count":21041872,"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-08-04T09:03:05.734Z","updated_at":"2025-04-09T16:19:33.281Z","avatar_url":"https://github.com/github.png","language":"Ruby","readme":"# Email Reply Parser\n\nEmailReplyParser is a small library to parse plain text email content.\nSee the rocco-documented source code for specifics on how it works.\n\nThis is what GitHub uses to display comments that were created from\nemail replies.  This code is being open sourced in an effort to\ncrowdsource the quality of our email representation.\n\nSee the [Ruby docs][rubydocs] for more information.\n\n[rubydocs]: http://rubydoc.info/gems/email_reply_parser/\n\n## Usage\n\nTo parse reply body:\n\n`parsed_body = EmailReplyParser.parse_reply(email_body)`\n\n## Problem?\n\nIf you have a question about the behavior and formatting of email replies on GitHub, check out [support][support].  If you have a specific issue regarding this library, then hit up the [Issues][issues].\n\n[support]: https://github.com/support\n[issues]: https://github.com/github/email_reply_parser/issues\n\n## Installation\n\nGet it from [GitHub][github] or `gem install email_reply_parser`.  Run `rake` to run the tests.\n\n[github]: https://github.com/github/email_reply_parser\n\n## Contribute\n\nIf you'd like to hack on EmailReplyParser, start by forking the repo on GitHub:\n\nhttps://github.com/github/email_reply_parser\n\nThe best way to get your changes merged back into core is as follows:\n\n* Clone down your fork\n* Create a thoughtfully named topic branch to contain your change\n* Hack away\n* Add tests and make sure everything still passes by running rake\n* If you are adding new functionality, document it in the README\n* Do not change the version number, I will do that on my end\n* If necessary, rebase your commits into logical chunks, without errors\n* Push the branch up to GitHub\n* Send a pull request to the `github/email_reply_parser` project.\n\n## Known Issues\n\n### Quoted Headers\n\nQuoted headers aren't picked up if the email client breaks it up into multiple\nlines.  GMail breaks up any lines over 80 characters for you.\n\n    On \u003cdate\u003e, \u003cauthor\u003e\n    wrote:\n    \u003e blah\n\nNot to mention that we're searching for \"on\" and \"wrote\".  It won't work\nwith other languages.\n\nPossible solution: Remove \"reply@reply.github.com\" lines...\n\n### Weird Signatures\n\nLines starting with `-` or `_` sometimes mark the beginning of\nsignatures:\n\n    Hello\n\n    --\n    Rick\n\nNot everyone follows this convention:\n\n    Hello\n\n    Mr Rick Olson\n    Galactic President Superstar Mc Awesomeville\n    GitHub\n\n    **********************DISCLAIMER***********************************\n    * Note: blah blah blah                                            *\n    **********************DISCLAIMER***********************************\n","funding_links":[],"categories":["Ruby"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub%2Femail_reply_parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgithub%2Femail_reply_parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub%2Femail_reply_parser/lists"}