Comments (13)
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.
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.
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.
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.
Or we could potentially build <a>
tags in terms of DOM fragments rather than a string of HTML.
from linkifyjs.
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.
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.
Thank you very much!
from linkifyjs.
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.
What selector are you passing in?
from linkifyjs.
+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.
@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.
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)
- feat: fullwidth characters support HOT 2
- URLs with consecutive hyphens aren't working
- Special Characters at end of url are not recognized as part of it
- Invalid URL / File Path Protocol
- how to avoid detecting as link that start with 123http? HOT 1
- linkifyHtml not working with custom render in options HOT 1
- Linkified URL containing double quotes fails to include the last one and puts it outside of the anchor tag HOT 1
- Confusing XXS documentation HOT 2
- Mention plugin adds nonsensical attribute `mention="[Object object]"` to each link HOT 1
- `test()` and `find()` do not find the same strings as valid/invalid links HOT 6
- Hashtags are not linkified when there is emoji without whitespace before them
- Linkify js do not find URL with question mark? HOT 6
- Weird variables appearing in output bundle HOT 3
- Fediverse addresses are interpreted incorrectly
- linkify.tokenize breaks string as url and text on encountering org.
- Querystring not included when URL is missing protocol HOT 2
- Finding all links inside an object
- LinkifyString nl2br corrupts output text with line ending is CR|LF
- linkify-html doesn't add className or other attributes to existing anchor tags HOT 6
- ws and wss suport for test method HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linkifyjs.