{"id":21283586,"url":"https://github.com/hellraiserrob/link-later","last_synced_at":"2026-03-19T19:41:54.111Z","repository":{"id":246944995,"uuid":"814697236","full_name":"hellraiserrob/link-later","owner":"hellraiserrob","description":"Replace keywords with linked keywords, with great specificity and options","archived":false,"fork":false,"pushed_at":"2024-07-15T12:25:02.000Z","size":180,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-22T04:42:34.981Z","etag":null,"topics":["affiliate","keywords","replace","replace-text","seo"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/hellraiserrob.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2024-06-13T14:14:11.000Z","updated_at":"2024-07-21T19:45:20.000Z","dependencies_parsed_at":"2024-07-06T00:23:57.510Z","dependency_job_id":null,"html_url":"https://github.com/hellraiserrob/link-later","commit_stats":null,"previous_names":["hellraiserrob/link-later"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellraiserrob%2Flink-later","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellraiserrob%2Flink-later/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellraiserrob%2Flink-later/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellraiserrob%2Flink-later/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hellraiserrob","download_url":"https://codeload.github.com/hellraiserrob/link-later/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243746130,"owners_count":20341203,"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":["affiliate","keywords","replace","replace-text","seo"],"created_at":"2024-11-21T11:10:18.148Z","updated_at":"2026-01-29T03:12:59.179Z","avatar_url":"https://github.com/hellraiserrob.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![link later banner](./.github/assets/banner.svg)](https://hellraiserrob.github.io/link-later)\n\n# Link Later\n\nThis is a small library to find and replace keywords in your html with linked keywords, it could also be easily adapted for different purposes, such as highlighting specific keywords.\n\nUse cases might internal linking for SEO purposes, or affiliate linking.\n\n[Demo](https://hellraiserrob.github.io/link-later/)\n\n\n## What it does\n\nIn a nutshell it does this\n\n![What it does](/public/what.jpg)\n\n\n## Options\n\n|             | Description | Type    | \n| ----------- | ----------- | ------- | \n| scope       | The path to scope keyword replacement.  For example if you only want to replace keywords under your products section the scope might be \"/products\"  | string |\n| config | See Config | Config[] |\n\n\n## Config\n|             | Description | Type    | \n| ----------- | ----------- | ------- | \n| keywords    | Comma separated list of keywords  | string |\n| href | The href to link to |  string |\n| target? | An optional value for the target attribute | string |\n| classes? | Optional classes to be added to the link | string |\n| debug? | Optionally add a yellow background to the created links | boolean |\n| ignore? | Optionally provide an array of html tags to ignore* if the text resides within them | string[] |\n\n* the default list of ignored tags is:\n[\"HEAD\", \"SCRIPT\", \"STYLE\", \"A\", \"BUTTON\", \"INPUT\", \"H1\", \"H2\", \"H3\", \"H4\", \"H5\"]\n\n\n## How to use\n\n```javascript\nimport start from \"./link-later\"\nimport Option from \"./interfaces\"\n\n/**\n * config\n */\n\nconst options: Option[] = [\n{\n  scope: \"/\",\n  configs: [\n    {\n      keywords: \"test,logistics solutions\",\n      href: \"/my-logistical-solutions-link\",\n      target: \"_blank\",\n      classes: \"test-class\",\n      debug: true\n    },\n  ],\n},\n{\n  scope: \"/\",\n  configs: [\n    {\n      keywords: \"warehouse\",\n      href: \"/my-warehousing-link\",\n      selector: \".rich-text\",\n      debug: true\n    },\n    {\n      keywords: \"Inland transportation\",\n      href: \"/my-inland-services-link\",\n      selector: \".rich-text\",\n      debug: true\n    },\n  ],\n}];\n\nstart(options);\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellraiserrob%2Flink-later","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhellraiserrob%2Flink-later","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellraiserrob%2Flink-later/lists"}