Last updated:
0 purchases
linkify
linkify #
Low-level link (text, URLs, emails, phone numbers, user tags) parsing library in Dart.
Required Dart >=2.12 (has null-safety support).
Flutter library.
Pub - API Docs - GitHub
Install #
Install by adding this package to your pubspec.yaml:
dependencies:
linkify: ^5.0.0
copied to clipboard
Usage #
import 'package:linkify/linkify.dart';
linkify("Made by https://cretezy.com [email protected]");
// Output: [TextElement: 'Made by ', UrlElement: 'https://cretezy.com' (cretezy.com), TextElement: ' ', EmailElement: '[email protected]' ([email protected])]
copied to clipboard
Options #
You can pass LinkifyOptions to the linkify method to change the humanization of URLs (turning https://example.com to example.com):
linkify("https://cretezy.com");
// [UrlElement: 'https://cretezy.com' (cretezy.com)]
linkify("https://cretezy.com", options: LinkifyOptions(humanize: false));
// [UrlElement: 'https://cretezy.com' (https://cretezy.com)]
copied to clipboard
humanize: Removes http/https from shown URLs
removeWww: Removes www. from shown URLs
looseUrl: Enables loose URL parsing (should parse most URLs such as abc.com/xyz)
defaultToHttps: When used with [looseUrl], default to https instead of http
excludeLastPeriod: Excludes . at end of URLs
Linkifiers #
You can pass linkifiers to linkify as such:
linkify("@cretezy", linkifiers: [UserTagLinkifier()]);
copied to clipboard
Available linkifiers:
EmailLinkifier
UrlLinkifier
PhoneNumberLinkifier
UserTagLinkifier
Custom Linkifier #
You can write custom linkifiers for phone numbers or other types of links. Look at the URL linkifier for an example.
This is the flow:
Calls parse in the linkifier with a list of LinkifyElement. This starts as [TextElement(text)]
Your parsers then splits each element into it's parts. For example, [TextElement("Hello https://example.com")] would become [TextElement("Hello "), UrlElement("https://example.com")]
Each parsers is ran in order of how they are passed to the main linkify function. By default, this is URL and email linkifiers
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.