{"id":16165083,"url":"https://github.com/imwally/linkview","last_synced_at":"2026-04-24T16:05:48.622Z","repository":{"id":57545539,"uuid":"101954631","full_name":"imwally/linkview","owner":"imwally","description":"Terminal HTML link menu.","archived":false,"fork":false,"pushed_at":"2021-05-11T02:10:32.000Z","size":22,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-13T09:22:19.341Z","etag":null,"topics":["golang","html","links","terminal","url","urlview"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imwally.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}},"created_at":"2017-08-31T03:23:02.000Z","updated_at":"2021-05-11T02:10:34.000Z","dependencies_parsed_at":"2022-09-16T23:40:14.088Z","dependency_job_id":null,"html_url":"https://github.com/imwally/linkview","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/imwally%2Flinkview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imwally%2Flinkview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imwally%2Flinkview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imwally%2Flinkview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imwally","download_url":"https://codeload.github.com/imwally/linkview/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247595382,"owners_count":20963943,"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":["golang","html","links","terminal","url","urlview"],"created_at":"2024-10-10T02:49:12.311Z","updated_at":"2026-04-24T16:05:43.580Z","avatar_url":"https://github.com/imwally.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# linkview\n\nLike [urlview](https://github.com/sigpipe/urlview) but with more context for HTML documents.\n\nThat is, `linkview` parses both plaintext and valid HTML documents to\nextract links. The advantage to this is being able to extract the text\nfrom a link or in the case of an image, the alt or title\nattributes. This gives more context to what the URL points to. Link\ntext will show in the menu instead of just the URL if given an HTML\ndocument.\n\n## Example\n\n```\nh: help   q: quit   (6 of 29)\n\nhttps://eventing.coursera.org/redirectSigned/eyJrZXkiOiJlbWFpbC5saW5rLm9wZW4iLCJ2YWx1ZSI6\n\n   Expert endorsed recommendations from a catalog of 2000+ courses -- little to no previo\n   Python for Everybody\n   Enroll Now\n   Ruby on Rails\n   Enroll Now\n-\u003e Algorithms\n   Enroll Now\n   Java Programming and Software Engineering Fundamentals\n   Enroll Now\n   Android App Development\n   Enroll Now\n   Full Stack Web and Multiplatform Mobile App Development\n   Enroll Now\n   Applied Data Science with Python\n   Enroll Now\n   Data Warehousing for Business Intelligence\n   Enroll Now\n   Cloud Computing\n   Enroll Now\n   MCS-DS \n   Apply Now\n   FB\n   Twitter\n   LI\n   iOS\n   Android\n   Learner Help Center |\n   Email Settings |\n   Unsubscribe\n```\n\nThe first section displays some help text, the second displays a URL\npreview of the currently selected link, and finally the menu of\nlinks. Pressing the `return` key will open the currently selected link\nin your default browser. Pressing the `tab` key will hide the menu and\ndisplay the full URL.\n\n## How To Install\n\n```\n$ go get -u github.com/imwally/linkview\n```\n\n## How To Use\n\n```\n$ linkview /path/to/filename\n```\n\nOr pipe to.\n\n```\n$ cat /path/to/filename | linkview\n```\n\n## With mutt\n\nView links with Ctrl-b with the following configuration:\n\n```\nset pipe_decode = yes \nmacro index,pager \\cb \u003cpipe-entry\u003e'linkview'\u003center\u003e 'Follow links with linkview'\n```\n\n## Help\n\n```\nh:               toggle help (press again to return to menu)\ntab:             toggle full url\ng:               go to top\nG:               go to bottom\nk / C-p / up:    move up\nj / C-n / down:  move down\nreturn / C-o:    open url\nq / C-c:         quit\n```\n\n## But Why?\n\nMany HTML emails are built using marketing platforms that modify URLs\nfor tracking and analytics purposes. It becomes difficult to figure\nout what the URL points to. If you notice in the example above, the\nURL to the Algorithms class is obscured by a redirect URL but\n`linkview` displays the link text instead of only the URL.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimwally%2Flinkview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimwally%2Flinkview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimwally%2Flinkview/lists"}