Git Product home page Git Product logo

Comments (13)

nfrasser avatar nfrasser commented on August 17, 2024

Both truncate and the hook are good features to have. Might be tricky to add to the current implementation. I'll see if I can get around it by the end of this week.

from linkifyjs.

euangoddard avatar euangoddard commented on August 17, 2024

I took a look at the source and I guess you'd need a step after the first regex replace with since it would be impossible to do it in a single step.

My other thought was to re-check all links which had the class that the linkify plugin sets, but I thought this might be quite inefficient.

from linkifyjs.

nfrasser avatar nfrasser commented on August 17, 2024

What's good about the current implementation is that it does it all in one go. To extract the individual URLs, the string might have to be split up and have some sort of lexical analysis performed on it.

And yeah, rechecking all the links would not be ideal but it would probably be the quickest solution.

from linkifyjs.

brennanmceachran avatar brennanmceachran commented on August 17, 2024

Possible also to add a class on the link and set the width and ellipsis in css:
http://css-tricks.com/snippets/css/truncate-string-with-ellipsis/

from linkifyjs.

nfrasser avatar nfrasser commented on August 17, 2024

Or we could potentially build <a> tags in terms of DOM fragments rather than a string of HTML.

from linkifyjs.

euangoddard avatar euangoddard commented on August 17, 2024

I looked into a CSS approach, but this is unreliable cross-browser, hence the idea to alter the text node in the DOM.

from linkifyjs.

nfrasser avatar nfrasser commented on August 17, 2024

Fixed in #51, with the format option.

Example:

$('p').linkify({
  format: function (value, type) { 
    // value is the link, type is 'url', 'email', etc.
    if (type === 'url' && value.length > 50) { 
      value = value.slice(0, 50) + '…'; 
    } 
    return value; 
  }
});

from linkifyjs.

simonferndriger avatar simonferndriger commented on August 17, 2024

Thank you very much!

from linkifyjs.

simonferndriger avatar simonferndriger commented on August 17, 2024

Not, I get the following error message Error: Cannot linkify [object Text] - Invalid DOM Node type

It worked before with version 1.1.6

from linkifyjs.

nfrasser avatar nfrasser commented on August 17, 2024

What selector are you passing in?

from linkifyjs.

deathg0d avatar deathg0d commented on August 17, 2024

+1 for this feature
(Also to make links shorter and visually appealing, is there a way to hide http://, https:// and www etc?)

from linkifyjs.

nfrasser avatar nfrasser commented on August 17, 2024

@deathg0d dedicated protocol and www. removal (though I wouldn't recommend removing www.) sounds like a pretty good idea. For now you can use the format option:

$('p').linkify({
  format: function (value, type) {
    if (type === 'url') {
      value = value.replace(/^((http|ftp)s?:\/\/|:\/\/)?(www\.)?/, '');
    }
    return value;
  }
});

Which is available in the latest pre-release.

from linkifyjs.

nfrasser avatar nfrasser commented on August 17, 2024

Closing this off as I have not been able to reproduce @simonferndriger 's error. A separate issue can be filed if the error reoccurs.

from linkifyjs.

Related Issues (20)

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.