Linkify is a JavaScript plugin for finding links in plain-text and converting them to HTML tags.

Overview

Linkify

npm version CI BrowserStack Status Coverage Status

Linkify is a JavaScript plugin. Use Linkify to find links in plain-text and convert them to HTML <a> tags. It automatically highlights URLs, #hashtags, @mentions and more.

Jump to

Features

  • Detect URLs and email addresses
  • #hashtag, @mention and #-ticket plugins
  • React and jQuery support
  • Multi-language and emoji support
  • Custom link plugins
  • Fast, accurate and small footprint (~30kB minified, ~15kB gzipped)
  • 99% test coverage
  • Compatible with all modern browsers (Internet Explorer 11 and up)

Demo

Launch demo

Installation and Usage

View full documentation.

Download the latest release for direct use in the browser, or install via NPM:

npm install linkifyjs linkify-html

Quick Start

When developing in an environment with JavaScript module loader such as Webpack, use an import statement:

import * as linkify from 'linkifyjs';
import linkifyHtml from 'linkify-html';

Or in Node.js with CommonJS modules

const linkify = require('linkifyjs');
const linkifyHtml = require('linkify-html');

Note: When linkify-ing text that does not contain HTML, install and use the linkify-string package instead of linkify-html. Read more about Linkify's interfaces.

Usage

Example 1: Convert all links to <a> tags in the given string

const options = { defaultProtocol: 'https' };
linkifyHtml('Any links to github.com here? If not, contact [email protected]', options);

Returns the following string:

'Any links to <a href="https://github.com">github.com</a> here? If not, contact <a href="mailto:[email protected]">[email protected]</a>'

To modify the resulting links with a target attribute, class name and more, use the available options.

Example 2: Find all links in the given string

linkify.find('Any links to github.com here? If not, contact [email protected]');

Returns the following array

[
  {
    type: 'url',
    value: 'github.com',
    isLink: true,
    href: 'http://github.com',
    start: 13,
    end: 23
  },
  {
    type: 'email',
    value: '[email protected]',
    isLink: true,
    href: 'mailto:[email protected]',
    start: 46,
    end: 62
  }
]

Example 3: Check whether a string is a valid link:

Check if as string is a valid URL or email address:

linkify.test('github.com'); // true

Check if a string is a valid email address:

linkify.test('github.com', 'email'); // false
linkify.test('[email protected]', 'email'); // true

Usage with React, jQuery or the browser DOM

Read the interface documentation to learn how to use linkify when working with a specific JavaScript environment such as React.

Plugins for @mentions, #hashtags and more

By default Linkify will only detect and highlight web URLs and e-mail addresses. Plugins for @mentions, #hashtags and more may be installed separately. Read the plugin documentation.

Browser Support

Linkify natively supports all modern browsers. Linkify is tested on Internet Explorer 11 and above.

Node.js Support

Linkify is tested on Node.js 10 and up. Older versions are unofficially supported.

Downloads

Download the latest release

API Documentation

View full documentation at linkify.js.org/docs

Contributing

Check out CONTRIBUTING.md.

License

MIT

Authors

Linkify is made with ❤️ by Hypercontext and @nfrasser

Comments
  • Linkify 2.0

    Linkify 2.0

    2.0 includes completely rewritten internals and a Node.js/io.js API. This PR supersedes #17 and fixes numerous additionally reported issues.

    Work in Progress.

    Overview

    • [x] New link-detection technique based on lexicographical analysis via two-stage scanner
    • [x] Node.js API via var linkify = require('linkifyjs');
    • [x] Internal plugin system so you can require only features you need. e.g., require('linkifyjs-mentions')(linkify);
    • [x] ~~Multiple browser builds with various features~~ Deferring these to a future release
      • [x] ~~Basic linkify for URLs with most available TLDs and email addresses~~
      • [x] ~~Slim linkify with only the most common TLDs~~
      • More builds with mentions and hashtags to come
    • [x] Browser modules
      • [x] Browserify (regular Node)
      • [x] AMD
      • [x] Browser build
    • [x] Mocha Unit tests
    • [x] Written in future-proof ES6 compiled to ES5
    • [x] Updated documentation for all the new features

    Fixes

    • [x] #19 - Domain extension isn't required for URLs like localhost, but IP addresses are not yet supported
    • [x] #20, #27 - URLs keep original protocol
    • [x] #22, #52 (Partial) - URL queries can have brackets now as long as the URL does not end in a bracket
      • It's unlikely that we'll fix this problem fully
    • [x] #30 - Domains can have capitals
    • [x] #31 - Links in double quotes should be detected now
      • [x] Test case
    • [x] #32 - IE~~8~~9 Support (full IE 8 Support deferred to post 2.0 release)
      • [x] Tests with SauceLabs
    • [x] #33 - Query strings can have @
    • [x] #38 - Valid two-letter domains only
    • [x] #43 - Linkify callback
    • [x] #46 - Should be fixed with replaced test suite

    APIs

    • [x] find - Find links
    • [x] test - Is the given string a link?
    • [x] Plugin API - for adding mentions and hashtags (to be provided by the plugin)
    • [x] String of plain text to string of HTML with .linkify anchor tags (can be used on the server-side)
      • Supports options and callbacks
    • [x] Updated jQuery/DOM API
      • Supports options and callbacks

    Deprecations

    • Bower package will be moved to linkifyjs (install with bower install linkifyjs)
    enhancement feature 
    opened by nfrasser 8
  • build(dependencies): move optional dependencies to peerdependencies

    build(dependencies): move optional dependencies to peerdependencies

    Moved libraries from optionalDependencies to peerDependencies to be truely zero-dependency #281 if this is not, then there is multiple instances of react in the same project. and this will cause conflicts while using react hooks https://reactjs.org/warnings/invalid-hook-call-warning.html#duplicate-react

    a npm ls react will show you 2 different instances of react

    opened by antoniopacheco 7
  • An easy way to compatible special characters in mention and hashtag

    An easy way to compatible special characters in mention and hashtag

    By reading the source code, I found an easy way to compatible special characters in mention.

    Although I'm not sure, it's strong or not, however, It's working.

    How to do (Only Mention)

    Talk is cheap, the code:

    import * as linkify from 'linkifyjs';
    import { DOMAIN } from 'linkifyjs/lib/linkify/core/tokens/text';
    
    const { scanner } = (linkify as any);
    scanner.start.on(/[\u2E80-\u9FFF]/, new scanner.State(DOMAIN));
    

    /[\u2E80-\u9FFF]/ is the RegExp of Chinese, Japanese, and Korean character sets, replace them with what you want at will.

    Before

    before

    After

    after

    Why?

    This library work through character matching and state transition.

    Mention plugin to tell the core how to match and state transfer. When the next state is null, the matching is finished.

    But the character sets of this library did not contain what we needed (some special chars), Because this library default just have ASCII chars. so it's always null.

    So just add the character set we need, it seems to work well.

    i18n 
    opened by smilecc 6
  • Remove the default class .linkified

    Remove the default class .linkified

    Thanks for the great package!

    It would be great to have option to remove the default class .linkified.

    Right now neither of these two works.

    linkifyHtml(html, {
      className: ''
    });
    
    linkifyHtml(html, {
      className: null
    });
    
    enhancement 
    opened by Hongbo-Miao 6
  • Allow disabling linkClass

    Allow disabling linkClass

    Hey,

    Given the falsy, as opposed to an undefined, check of linkClass: opts.linkClass || 'linkified' (https://github.com/SoapBox/linkifyjs/blob/master/src/linkify/utils/options.js#L25) it's not possible to disable the class entirely. One would have to resort to using " " to trick the coercive ||. Please consider using === undefined to allow removing the class without unintuitive hacks.

    Thanks!

    opened by moll 6
  • Not linkify links with russian simbols

    Not linkify links with russian simbols

    If linkify string "Test string and url to wiki https://ru.wikipedia.org/wiki/Список_птиц,_занесённых_в_Красную_книгу_России" lib dont find this link.

    opened by arsenichev 6
  • Link generated is not getting the right protocol

    Link generated is not getting the right protocol

    I have tested this on a few situations, where I open a modal and dump text into a span tag Then I execute linkify against the span tag. I have something like... https://www.google.com ftp://www.google.com

    inside the span tag. When I linkify the span tag, I am always getting http://www.google.com. It seems like line 45 is always applying http?

    Any help would be appreciated.

    opened by beowshawitz 6
  • `linkify-element` 4.0.0-beta.3 missing type for `Options`

    `linkify-element` 4.0.0-beta.3 missing type for `Options`

    When using linkify-element 4.0.0-beta.3, it seems the bundled type definitions in the package don't provide a type for the Options arg of linkifyElementHelper:

    node_modules/linkify-element/index.d.ts:24:67 - error TS2304: Cannot find name 'Options'.
    
    24 declare function linkifyElementHelper(element: HTMLElement, opts: Options, doc: Document): HTMLElement;
    
    types pending-merge 
    opened by jryans 5
  • registerCustomProtocol doesn't linkify without double slashes

    registerCustomProtocol doesn't linkify without double slashes

    The description for linkify.registerCustomProtocol says "Linkify will consider any string that begins with the given protocol followed by a : as a URL link" but that doesn't seem to be true. Linkifyjs seems to be looking for :// after the protocol for it to be considered a link.

    URI schemes without an authority component such as geo:, matrix:, and xmpp: don't get linkified.

    Here is an example: https://codepen.io/aaronraimist/pen/bGoOXrq. Only mailto gets linkified.

    import * as linkify from "https://cdn.skypack.dev/linkifyjs";
    import linkifyStr from "https://cdn.skypack.dev/linkify-string";
    
    linkify.registerCustomProtocol("geo");
    linkify.registerCustomProtocol("matrix");
    linkify.registerCustomProtocol("xmpp");
    
    createLink("mailto:[email protected]");
    createLink("geo:37.786971,-122.399677");
    createLink("matrix:r/someroom:example.org");
    createLink("xmpp:[email protected]?message");
    
    function createLink(string) {
      console.log(linkifyStr(string));
      console.log(linkify.test(string));
    }
    
    custom protocol pending-merge 
    opened by aaronraimist 5
  • Scanner.js start-up performance could be improved

    Scanner.js start-up performance could be improved

    Hello y'all! I ran some profiles of Notion's startup performance today and noticed that Linkifyjs is very expensive to import. Specifically, the file linkifyjs/lib/linkify-core/scanner.js file appears to be quite expensive. I wonder if the tactic of using "a|b|c|...".split('|') is expensive, or if the creation of the parser states involves some kind of n^2 computation.

    Anyways, I was surprised to find that Linkify was the single most expensive dependency that Notion imports, and I wanted to let you know in case you find the information useful!

    Here's a screenshot from Chrome DevTools of the boot up of the Notion web-app in a production-like environment. You can see how importing linkify compares to some other 3rd party dependencies we use like Moment and Prism.js.

    image

    My suggestion is that you take some time to profile the scanner, and see what work you can defer to the first run of a public method, so the library is lazy internally.

    enhancement 
    opened by justjake 5
  • "mailto:" links not categorized as email type in v4

    There seems to be change in behaviour when detecting email links when using find() in v4 compared to v3. In v4 found "mailto:" links are of type 'url'. Is this change intended?

    Repro: https://github.com/estebanvega/linkify-issue-repro/blob/main/test.js

    opened by estebanvega 0
  • Capture email address with its local part being scheme string

    Capture email address with its local part being scheme string

    This patch fixes the parser so that it can capture an email address whose local part matches a scheme string, e.g. 'http' or 'mailto'.

    Fixes https://github.com/Hypercontext/linkifyjs/issues/414

    opened by hanazuki 0
  • Small footprint (~30kB minified, ~15kB gzipped) ?

    Small footprint (~30kB minified, ~15kB gzipped) ?

    Hi, Thanks a lot for proving LinkifyJS it is indeed a very bright solution.

    Although I don't think of 30kb as small footprint when used on the browser. To my understanding this is a String manipulation library, nothing more, so what makes it up to 30kb ??

    If I only import the followings linkifyjs linkify-html, is it 30kb ?

    if yes, is it React and jQuery support ? the plugin system ? or something else that makes the bundle that big.

    If these are optional, and easy to remove in a peer bundle, that would be very much appreciated.

    Thanks a lot !!!!!

    edit: These are some popular libraries and frameworks to have a relative estimate of why I think this is a huge bundle for what it does:

    opened by bacloud23 1
  • `registerCustomProtocol` breaks e-mail linkification

    `registerCustomProtocol` breaks e-mail linkification

    Using registerCustomProtocol("matrix", true); causes [email protected] to not be linkified as an email, instead only example.com get linkified.

    Downstream issue https://github.com/vector-im/element-web/issues/23806 Possibly related https://github.com/Hypercontext/linkifyjs/issues/410

    opened by t3chguy 1
  • How to use with Angular 14

    How to use with Angular 14

    Is there a way to make this work with Angular 14? I was using ngx-linkifyjs but it appears to have been discontinued and doesn't support angular 14.

    I'm not sure what to do or who to ask.

    (For context, I'm upgrading angular in my project and ran into this issue since ngx-linkifyjs is no longer supported.)

    opened by ethan-gerardot 0
Releases(v4.0.2)
  • v4.0.2(Oct 2, 2022)

  • v4.0.1(Sep 29, 2022)

  • v4.0.0(Sep 19, 2022)

    Breaking Changes

    • Removed deprecated linkifyjs/string, linkifyjs/html, linkifyjs/plugins/* packages. Use linkify-string, linkify-html and linkify-plugin-* instead.
    • Refactored scanner internals break custom link plugins created with Linkify v3
    • Links that begin with mailto: now have type url instead of email
    • Drop official IE 11 support

    Added

    • linkify-plugin-ip plugin for detecting IPv4 and IPv6 addresses
    • linkify-plugin-keyword plugin for detecting arbitrary keywords
    • linkify.find() function accepts an options argument for output formatting
    • New render option to override link rendering
    • Second optionalSlashSlash argument for registerCustomProtocol to allow links that don't require // after scheme:
    • Link token methods toFormattedString(options), toFormattedHref(options) and toFormattedObject(options) that accept a linkify.Options object
    • More granular scanner tokens for improved plugin flexibility
    • linkify-react: New as property (alias for tagName)

    Fixed

    • Improved link detection with mixed languages
    • Consistent option availability across interfaces (including truncate)
    • linkify-html: Improved HTML entity parsing
    Source code(tar.gz)
    Source code(zip)
    linkifyjs.zip(169.59 KB)
  • v4.0.0-beta.1(Jan 21, 2022)

    Breaking Changes

    • Removed deprecated linkifyjs/string, linkifyjs/html, linkifyjs/plugins/* packages
    • Refactored scanner internals break plugins created with Linkify v3
    • Links that begin with mailto: now have type url instead of email

    Added

    • linkify.find() function accepts a third options argument for output formatting
    • Link token methods toFormattedString(options), toFormattedHref(options) and toFormattedObject(options) that accept a linkify.Options object
    • New render option to override link rendering
    • More granular scanner tokens for improved plugin flexibility
    • Second optionalSlashSlash argument for registerCustomProtocol to allow links that don't require // after scheme:

    Fixed

    • Improved HTML entity parsing with linkify-html
    • Improved link detection with mixed languages
    • Consistent option availability across interfaces (including truncate)
    Source code(tar.gz)
    Source code(zip)
  • v3.0.5(Jan 3, 2022)

  • v3.0.4(Nov 24, 2021)

  • v3.0.3(Oct 14, 2021)

  • v3.0.2(Oct 11, 2021)

  • v3.0.1(Sep 16, 2021)

  • v3.0.0(Sep 15, 2021)

    BREAKING CHANGES

    • React, jQuery and Element interfaces moved to dedicated packages at linkify-react,linkify-jquery and linkify-element respectively:
    • Remove default class="linkified" from all discovered links. Opt back in by setting the className option:
      linkifyStr(str, { className: 'linkified' })
      
    • Remove default target="_blank" attribute for discovered URLs. Opt back in by setting the target option:
      linkifyHtml(str, {
        target: (href, type) => type === 'url' && '_blank'
      })
      
    • React component: Remove outer <span> tag wrapper in favour of tag-less React.Fragment for React >=16. To opt back-in, set tagName='span':
      <Linkify tagName='span'>{content}</Linkify>
      
    • AMD module interface is no longer provided. Use an ESM bundler instead.
    • Plugins imported after linkify is called on a string for the first time will not longer work. Import all plugins before calling a linkify core or interface function.
    • Custom plugin API is not compatible with previous API in Linkify v2
    • Dropped support for Internet Explorer versions 9 and 10. IE11 is still supported
    • Dropped support for React versions <15

    Deprecations

    • Use dedicated packages linkify-string and linkify-html instead of linkifyjs/string and linkifyjs/html. The embedded packages will be removed in v4.0
    • Use dedicated plugin packages linkify-plugin-[PLUGIN] instead of linkifyjs/plugin/[PLUGIN]. The embedded packages will be removed in v4.0

    All Changes

    • Full Internationalized Domain (IDN) and Emoji domain support 🇺🇳🌍✈️🎉💃! Detect URLs, #hashtags and @mentions in any language
    • ~10x faster startup; ~4x faster combined startup + first run
    • Custom protocols with linkify.registerCustomProtocol('protocol')
    • Modernized codebase and build system
    • Add new rel option at top level as an alternate way of including it in attributes
    • New and improved plugin API
    • TypeScript definitions included in published packages
    • linkify.find() output includes start and end indexes for where in the string a link was found
    • Plugins no longer need to be called on linkify after import
      // Before
      import * as linkify from 'linkifyjs'
      import hashtag from 'linkifyjs/plugins/hashtag'
      hashtag(linkify)
      
      // After
      import * as linkify from 'linkifyjs'
      import 'linkifyjs/plugins/hashtag'
      
    Source code(tar.gz)
    Source code(zip)
    linkifyjs.zip(63.24 KB)
  • v2.1.9(Mar 8, 2021)

  • v2.1.8(Jan 29, 2019)

  • v2.1.6(Mar 3, 2018)

    • Fix a bug where unique element IDs aren't unique (#215)
    • Update tlds.js (#213)
    • Automated browser test fixes (#224)
    • Add partialProtocolMailtoStates to domainStates (#210)
    • Use Object.defineProperty to extend String prototype so that 'linkify' function is not enumerable (#197)
    • Allow null overrides in options for target and className (#189)
    Source code(tar.gz)
    Source code(zip)
    linkifyjs.zip(98.42 KB)
  • v2.1.5(Sep 20, 2017)

  • v2.1.4(Jan 5, 2017)

    • Add explicit support for mailto: addresses (#186)
    • Add support for mentions containing dots (#185)
    • URL followed by &nbsp; now works as expected in linkify-html (#184)
    • Small dependency updates (#183)
    • Drop deprecated babel-preset-es2015-loose dependency (#172) - Thanks @saivann
    • Web workers support (#168) - Thanks @sklyukin
    Source code(tar.gz)
    Source code(zip)
    linkifyjs.zip(88.19 KB)
  • v2.1.3(Sep 30, 2016)

  • v2.1.2(Sep 27, 2016)

  • v2.1.1(Sep 21, 2016)

  • v2.1.0(Sep 2, 2016)

    BREAKING CHANGES

    • The dist/jquery.linkify.js 1.x legacy browser files have been permanently removed from the release bundle.
      • Use linkify.js and linkify-jquery.js instead.
    • The deprecated newLine option from linkify 1.x has been completely removed.

    Features

    Deprecations

    • The linkAttributes option is deprecated in favour of just attributes.
    • The linkClass option is deprecated in favour of className.
    • The default .linkified class is deprecated and will be fully removed in a future release.

    To maintain compatibility with versions >= 2.1, make sure options objects include these properties instead of linkAttributes and linkClass

    All Changes

    • Build optimizations to make compiled AMD payload smaller
    • Bugfix in quick-es3 task
    • Make better use of ES6 modules and rollup
    • Tickets plugin (#156)
    • Additional Mentions features, enhancements, and tests (#155)
    • Mentions plugin (#111)
    • Revamped options utility (#154)
    • Linkify React Interface (#150)
    • Development upgrades (#153)
    Source code(tar.gz)
    Source code(zip)
    linkifyjs.zip(86.00 KB)
  • v2.0.5(Jul 17, 2016)

  • v2.0.4(Jul 2, 2016)

  • v2.0.3(May 21, 2016)

  • v2.0.1(May 16, 2016)

  • v2.0.0(Apr 18, 2016)

  • v2.0.0-beta.9(Jan 29, 2016)

  • v2.0.0-beta.8(Jan 6, 2016)

  • v2.0.0-beta.7(Dec 15, 2015)

  • v2.0.0-beta.6(Dec 15, 2015)

  • v2.0.0-beta.5(Nov 20, 2015)

  • v2.0.0-beta.4(Jun 27, 2015)

    • Parentheses and other symbols are now included as part of the URL. Fixes #52
    • Allow numbers as domains and subdomains. Fixes #71
    • Colons are no longer allowed in an email address's local part. Fixes #73
    • Updated CI script, docs style/spelling fixes
    Source code(tar.gz)
    Source code(zip)
    linkifyjs.zip(57.76 KB)
Owner
Hypercontext
We help managers run more effective meetings.
Hypercontext
A Chrome extension for converting ENS names into links to daopanel chat.

daopanel connect A Chrome extension that links Twitter usernames to daopanel chat conversations Example daopanel chat is powered by XMTP Github Action

null 3 Aug 23, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
A JavaScript-powered CLI for converting HTML into PDFs

Print Ready by Nicholas C. Zakas If you find this useful, please consider supporting my work with a donation. Description A JavaScript-powered CLI for

Human Who Codes 86 Dec 18, 2022
kakaolink-plugin is a remote-kakao plugin for sending KakaoLinks instead of plain text

kakaolink-plugin Discord Server About kakaolink-plugin is a remote-kakao plugin for sending KakaoLinks instead of plain text. Requirements Node.js v17

null 5 Oct 1, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A JavaScript library for converting to/from Roman numerals.

romanice - Convert to/from Roman numerals A JavaScript library for converting to/from Roman numerals, e.g., 3888 ↔ MMMDCCCLXXXVIII, 38888 ↔ ↂↂↂↁↀↀↀⅮⅭⅭ

Bhargav 6 Jan 3, 2023
Simple format that serves it's one and only purpose and that's creating simple task list everywhere where you can write plain text

SWTF (Simple Worklog Task Format) Simple format that serves it's one and only purpose and that's creating simple task list everywhere where you can wr

null 4 Apr 4, 2022
This is a Webpack based to-do-list project. With this app, users can add thier daily routine tasks to the list, mark them as complet, edit them or delete them.

To Do List This is a Webpack based to-do-list project. With this app, users can add thier daily routine tasks to the list, mark them as complet, edit

Ali Aqa Atayee 12 Oct 30, 2022
Wrap selected text in custom tags with shortcuts.

Obsidian Wrap With Shortcuts Wrap the selected text in customized tags with shortcuts. Underline is provided with Ctrl-u(Cmd-u) as default wrappers. P

Manic Chuang 24 Dec 28, 2022
Zed Attack Proxy Scripts for finding CVEs and Secrets.

zap-scripts Zed Attack Proxy Scripts for finding CVEs and Secrets. Building This project uses Gradle to build the ZAP add-on, simply run: ./gradlew bu

Sepehrdad 115 Jan 3, 2023
A portal for finding and posting jobs. Assignment for internship.

Naukri Dundho A portal for finding and posting jobs. Assignment for internship. ?? Explore the docs » • Report Bug • Request Feature • Backend Documan

Prasoon Soni 5 Sep 14, 2022
API, web and mobile application for finding a partner to play online multiplayer games.

Duo Finder Duo Finder is a simple mobile and web application for gamers looking for partners to play a game with. It's basics was developed during the

José Guilherme Fernandes Moura 2 Sep 20, 2022
Finding RATs is hard. Push notifications for findarat.com.au

RAT-Push-Notifications Finding RATs is hard. Push notifications for findarat.com.au What is this? This is a script that will run on your computer / se

Richard S 3 Jan 13, 2022
Path-finding & Sorting algorithms Visualizer

Update - Changelog ?? 09.05.2022 AlgoVision is now fully mobile-responsive for all its features ! On mobile, the 'Mouse Chase' option in Dynamic Mode

Eliya Shalom 23 Dec 18, 2022
A Multi-Agent Path Finding visualization website.

MAPF Visualizer A visualization tool for multi-agent path finding algorithms. About The Project This project provides a visualization tool for Multi-A

Yutong Li 22 Dec 29, 2022
A TypeScript implementation of High-Performance Polynomial Root Finding for Graphics (Yuksel 2022)

Nomial Nomial is a TypeScript implementation of Cem Yuksel's extremely fast, robust, and simple root finding algorithm presented in the paper "High-Pe

Peter Boyer 10 Aug 3, 2022
A package to toggle properties of your HTML tags.

Toggler A package(atleast the code) to toggle properties of tags. I mostly use toggle classes while making a switch theme method, button interaction e

chandra sekhar pilla 6 Jan 9, 2022
A ideia do projeto era desenvolver um jogo onde o usuário pode tentar "descobrir" ou melhor dizendo, lembrar a maior quantidade de HTML Tags em um determinado tempo.

HTML Tag Memory Test ?? Tecnologias Esse projeto foi desenvolvido com as seguintes tecnologias: ViteJS ReactJS Typescript Tailwind Zustand Immer Axios

Igor Santos 4 May 17, 2022