{"id":23086133,"url":"https://github.com/spookyuser/laconic_hover","last_synced_at":"2025-08-16T04:32:00.190Z","repository":{"id":42224180,"uuid":"77908942","full_name":"spookyuser/laconic_hover","owner":"spookyuser","description":"Browser extension that shows Laconic text when hovering on a TV Tropes link.","archived":false,"fork":false,"pushed_at":"2023-10-04T19:27:00.000Z","size":893,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-15T22:44:07.965Z","etag":null,"topics":["browser-extension","chrome-extension","finished","firefox-addon","proud-of","tippyjs","tvtropes","webextension"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/spookyuser.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-01-03T10:57:30.000Z","updated_at":"2024-04-08T18:20:00.000Z","dependencies_parsed_at":"2023-10-04T21:10:45.980Z","dependency_job_id":null,"html_url":"https://github.com/spookyuser/laconic_hover","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spookyuser%2Flaconic_hover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spookyuser%2Flaconic_hover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spookyuser%2Flaconic_hover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spookyuser%2Flaconic_hover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spookyuser","download_url":"https://codeload.github.com/spookyuser/laconic_hover/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230005256,"owners_count":18158371,"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":["browser-extension","chrome-extension","finished","firefox-addon","proud-of","tippyjs","tvtropes","webextension"],"created_at":"2024-12-16T18:16:45.659Z","updated_at":"2025-08-16T04:32:00.177Z","avatar_url":"https://github.com/spookyuser.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"assets/icon.svg\" width=\"45\" align=\"left\"\u003e Laconic Hover\n\n[link-cws]: https://chrome.google.com/webstore/detail/laconic-hover/ignndocldlheghlflchdbokagecncgmm \"Version published on Chrome Web Store\"\n[link-amo]: https://addons.mozilla.org/en-US/firefox/addon/laconic-hover/ \"Version published on Mozilla Add-ons\"\n\n\u003e A browser extension which shows Laconic text when hovering on a TV Tropes link.\n\nTV Tropes is great but its even better when you have the power of a million tropes in the palm of your hand.\n\n## Install\n\n- [**Chrome** extension][link-cws] [\u003cimg valign=\"middle\" src=\"https://img.shields.io/chrome-web-store/v/ignndocldlheghlflchdbokagecncgmm.svg?label=%20\"\u003e][link-cws]\n- [**Firefox** add-on][link-amo] [\u003cimg valign=\"middle\" src=\"https://img.shields.io/amo/v/laconic-hover.svg?label=%20\"\u003e][link-amo]\n\n\u003cp align = \"left\"\u003e\n    \u003cimg width=\"750\" src=\"https://user-images.githubusercontent.com/16196262/48306356-c8d67b80-e53f-11e8-94fb-6564224b73a3.gif\"\u003e\n\u003c/p\u003e\n\n## How?\n\nThis used to be a Userscript but its become more of a fully fledged extension. The core of this extension works by fetching \"laconic pages\" in the TV Tropes wiki. These are [\"subpages ... for brief statements describing the core idea of the page they are attached to.\"](https://tvtropes.org/pmwiki/pmwiki.php/Main/LaconicWiki) Thankfully many pages have them and they're very helpful for navigating if you don't know every Trope off by heart. This extension attempts to make a request to the laconic page of any Trope link you happen to be hovering on. If a Laconic page exists, the html is displayed, otherwise an error message is displayed.\n\nThis extension uses [tippy.js](https://atomiks.github.io/tippyjs/) for controlling and displaying hovering elements, which is super neat!\n\n## Hasn't this been done before?\n\nYes, I think so:\n\\[[1](http://userscripts-mirror.org/scripts/show/130346)]\n\\[[2](https://chrome.google.com/webstore/detail/tropes-helper-beta/nbmecnaokkbfonmbplonmnekhiklkjlm)]  \nBut neither were ever updated, hopefully this will be different.\n\n## Development\n\nSee the npm scripts for more information. To get started make sure [Node.js®](https://nodejs.org/en/) is installed. You can then clone the repo and install the repositories:\n\n```shell\ngit clone https://github.com/spoookyuser/laconic_hover\ncd laconic_hover\npnpm install\n```\n\nIf you want to play around with the project do the following:\n\n`pnpm run dev`\n\n## Algorithm\n\n```mermaid\nflowchart TD\n    A[Hover on link] --\u003e B[fetchAndProcessUrl, isLaconic=true, calculated from url being hovered]\n    B --\u003e C{Check Response}\n    C --\u003e|200 OK| D[Decode \u0026 Return Laconic Content]\n    C --\u003e|404 \u0026 isLaconic| E[Fetch Original tropeUrl, isLaconic=false]\n    C --\u003e|Other Error| O[Throw FETCHING_FAILED]\n    E --\u003e F{Check Response URL}\n    F --\u003e|URL Same as Original| H[Extract Title \u0026 Throw NO_LACONIC]\n    F --\u003e|URL Changed/Redirected| I[Recursive Call: fetchAndProcessUrl, isLaconic=true]\n    I --\u003e J{Process Result}\n    J --\u003e|Success| K[Return Document]\n    J --\u003e|Throws Error| L[Error Propagates Up]\n```\n\n## Roadmap\n\nI don't have any feature ideas at the moment, so please [click here](https://github.com/spoookyuser/laconic_hover/issues/new) to submit any ideas you might have.\n\n## Contributing\n\nPlease see [contributing.md](contributing.md). TL;DR: All are very welcome.\n\n## Acknowledgements\n\n- [lamp by Sandra Mills from the Noun Project](https://thenounproject.com/search/?q=lamp+shade\u0026i=121407)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspookyuser%2Flaconic_hover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspookyuser%2Flaconic_hover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspookyuser%2Flaconic_hover/lists"}