Giter Site home page Giter Site logo

linkslabeler's Introduction

Link Labeler

Link Labeler is a browser extension designed to enhance information related to links on web pages. By using this extension, users can gain more insight into the underlying resources that a link is pointing to.

Features

  • Labels library retrieval: The extension is capable of retrieving labels from multiple sources. Labels need to be organized in JSON format and hosted on an HTTP server or accessible via API. The JSON schema is described in the extension's GitHub repository documentation.
  • Auto-labeling on page load: Labels are automatically displayed for identified links when the extension is enabled. The information from libraries is stored locally and needs to be refreshed if changes are made.
  • Local storage clearing: Data can be easily removed at any time.

Roadmap

  • Library editor
  • Authentication

Please feel free to contribute or provide feedback in the issues

Use cases

  • Marking danger links: Users can label links that are potentially dangerous or malicious.
  • Providing information about resources in Cloud or Hosting providers portals: Links to resources in cloud or hosting provider portals can be labeled to provide additional information.
  • Marking broken links: Links that are broken or no longer functional can be labeled for easy identification.

User Guide

Label links

  1. Install (Publishing to Google Chrome Web Store is in progress) Chrome extension

  2. Make avalable a library of labels in JSON format over HTTP/HTTPS (See Data Structure)

  3. Add URL to the library in the extension pop-up, each separate URL in a new line

  4. Click "Refresh & Label links" button

  5. From this moment links will be labeled each time you open any web page. Auto-refresh from sources is not supported yet. If any of sources are changed you need to click "Refresh & Label Links" button manually.

Remove Labels

  1. Click "Clear Hashes" button

Data Structure

Chrome Storage - Sync

{
  "sources": [ 
    {
      "url": "<remote json url>"
    }
  ]
}

Chrome Storage - Local

"hashes": {
  "<md5-hash>": {
    "labels": [
      {
        "caption": "<label-text>",
        "style": "primary|success|info|warning|danger|light|dark",
      }
    ]
  }
}

Labels library in remote JSON (file, or API)

{
  "version": 1,
  "hashes": {
    "<md5-hash-1-of-href-attribure>": {
        "metadata": {
          "hash": {
            "href": "https://*****/****/***.json"
          }
        },
        "labels": [
          {
            "caption": "<label-1-1-text>",
            "style": "primary"
          },
          {
            "caption": "<label-1-2-text>",
            "style": "success"
          }
        ]
    },
    "<md5-hash-2-of-link-text>": {
        "metadata": {
          "hash": {
            "text": "<link-2-text>"
          },
        },
        "labels": [
          {
            "caption": "<label-2-1-text>",
            "style": "info"
          }
        ]
    },
    "<md5-hash-3-of-href-attribure-and-text>": {
        "metadata": {
          "hash": {
            "href": "https://*****/****/***.json",
            "text": "<link-3-text>"
          }
        },
        "labels": [
          {
            "caption": "<label-3-1-text>",
            "style": "warning"
          },
          {
            "caption": "<label-3-2-text>",
            "style": "danger"
          },
          {
            "caption": "<label-3-3-text>",
            "style": "light"
          },
          {
            "caption": "<label-3-4-text>",
            "style": "dark"
          },
        ]
    }
  }
}

Sample library can be found here.

Contribution

Suggestions and pull requests are welcomed!.


This project was bootstrapped with Chrome Extension CLI

License

MIT

linkslabeler's People

Contributors

ivanignatiev avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.