LinkWell is a Text widget that highlight all the links in the text which then navigates the user to the URL when tapped

Overview

LinkWell

LinkWell is Text Plugin that detects URLs and Emails in a String and when tapped opens in user browsers,

linkwell pub package

GitHub

ScreenShots

Basic Usage Named Links

Usage

Basic:

import 'package:linkwell/linkwell.dart';
LinkWell(
    "Hi here's my email: [email protected] and website: https://samuelezedi.com"
);

Add Styling

To add style to links

LinkWell(
    "Hi here's my email: [email protected] and website: https://samuelezedi.com",
    linkStyle: TextStyle(color: Colors.blue,fontSize: 17)
);

To add style to non links

LinkWell(
    "Hi here's my email: [email protected] and website: https://samuelezedi.com",
    style: TextStyle(color: Colors.black,fontSize: 17)
);

Naming Links

If you would like to name the links

LinkWell(
    "By registering you agree to our samuelezedi.com/terms and samuelezedi.com/privacy",
    listOfNames: {
        'samuelezedi.com/terms' : 'Terms',
        'samuelezedi.com/privacy' : 'Privacy Policy'
    },
);

Why I made this plugin

I was building a chat application and I needed to detect when users posted links and emails so I went online and found a couple plugin but then, only one fit the need, I imported it and discovered that it could not detect emails and long urls correctly and I could not name URLs or emails, So I built LinkWell. I hope this is what you are looking for and it solves your link problems.

Kindly follow me on

twitter medium instagram

Comments
  • Prevent Duplicate Key Error when 'key' is passed into constructor.

    Prevent Duplicate Key Error when 'key' is passed into constructor.

    This change fixed an error with a duplicate key when the LinkWell widget is constructed passing in the 'key' value.

    Error was: Multiple widgets used the same GlobalKey.

    This error never occurred unless the caller passed in a Key. It is easy in the old version to create this problem by just passing in a key in the constructor. The new version works correctly when passing in a key.

    opened by tkeithblack 3
  • Added

    Added "enableTextSelection" property, Fixed error in running example, Removed redundant code

    Added property "enableTextSelection" in LinkWell widget which allows text selection in the widget. Fixed "No toolchains found in the NDK toolchains folder" error on running project example. Removed redundant code and fixed warnings.

    opened by chaudharydeepanshu 2
  • List out of range 0 : 1

    List out of range 0 : 1

    I was facing the issue of List out of range 0 : 1

    I've fixed that issue for me which is at linkwell.dart & line no 255

    if (wid != null && wid.isNotEmpty && wid.length!=1) {
            if (wid[1] != '') {
              if (value == links.last) {
                var text = TextSpan(
                  text: wid[1],
                  style: style == null ? Helper.defaultTextStyle : style,
                );
    
                /// added
                textSpanWidget.add(text);
              } else {
                t = wid[1];
              }
            }else{
              t = "";
            }
          }
    

    I request you to please have a look and add the condition which I mentioned above

    opened by priyesh-bit 0
  • Numbers with decimal places will be mistaken for a url link

    Numbers with decimal places will be mistaken for a url link

    Numbers with decimal places will be mistaken for a url link. Given the text:

    "Testing number 500.45"

    Linkwell will display it as:

    "Testing number http://500.45"

    opened by tkeithblack 0
  • Dots between words fools the parser into thinking it is a link.

    Dots between words fools the parser into thinking it is a link.

    The following text will be miss interpreted as a link.

    I get fooled by dots..like this.

    This is formatted a follows:

    I get fooled by http://dots..like this.

    opened by tkeithblack 1
  • Recognizes mere data format.

    Recognizes mere data format.

    Code:

    LinkWell("2020.12.03, I bought an old camera.")

    What I expected:

    2020.12.03, I bought an old camera.

    Actual Result:

    http://2020.12.03, I bought an old camera.

    opened by Ch1keen 2
Owner
Samuel Ezedi
Futurist, Music Junkie and Software Engineer
Samuel Ezedi
more code then the original with cupertino library

this version only update flutter cupertino library for crud purpose with backend api this is not stable version yet both side. Youtube for flutter cup

nobody but me 1 Aug 21, 2022
This app is a minimal TodoList app that functions like a whiteboard. You can add new tasks, keep track of your tasks to make your day more productive, and then delete it after it is done.

My First Mobile App _ Minimal TodoList Flutter A new Flutter project. Getting Started This project is a starting point for a Flutter application. A fe

null 0 Nov 23, 2021
BankGit helps you manage your account and transactions more efficiently by breaking your account into branches for various purposes and then making transactions directly from them.

Bank Git Web Hosted Here : https://bank-management-45848.web.app/ Bank Git is an application built with Flutter and Firebase to help you manage your b

Yash Johri 27 Dec 26, 2022
App can detect COVID via X-Ray image, just use some sample image available in the listed links.

Covid19detector : Detecting COVID-19 from X-Ray ?? App can detect COVID via X-Ray image, just use some sample image available in the listed links. And

Sanskar Tiwari 21 Jun 14, 2022
A simple easy to use Flutter DApp , which keeps a track of all your day to day transactions by using Ethereum blockchain in the background which in turn increases your credit score.

Sahayog A simple easy to use Flutter DApp , which keeps a track of all your day to day transactions by using Ethereum blockchain in the background whi

Utkarsh Agarwal 15 May 21, 2022
Simple markdown editor. with custom keyboard helper for making bold, italic, list, URL, photoURL, etc

Flutter Markdown Editor A simple markdown creator/editor application, developer with flutter. special auxiliary keyboard features (for develop markdow

Ismael Shakverdiev 36 Dec 15, 2022
Simple URL-shorter written in Dart with Notion as a database

Tuda A simple URL-shorter service written in pure Dart. With Notion as a database, it provides the simplest interface for setting your links. Environm

Parabola 8 Aug 19, 2022
Simple URL shortening app built with Flutter

URL Shorty URL shortening app which showcases clean architecture with custom dependency injection solution. It uses Dart's native HttpClient for netwo

Peter A. Bizjak 3 Oct 18, 2022
Android app that converts an URL to markdown, and lets you share it to your favorite notes app.

markdownr Android app that converts an URL to markdown, and lets you share it to your favorite notes app. I've written this app to save articles I fou

Andrea Ghensi 41 Dec 10, 2022
A Translator App Which is Build using Flutter, Speech To Text, Google ML Kit, Google Translator and Text To Speech.

AI Translator This is a Translator App Which is Build using Flutter, Speech To Text, Google ML Kit, Google Translator and Text To Speech. Download App

null 4 Jul 16, 2022
A Flutter project that list all the repositories of any specific user

github_user_repos A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you starte

null 0 Dec 21, 2021
Sample Flutter Drawing App which allows the user to draw onto the canvas along with color picker and brush thickness slider.

DrawApp Sample Flutter Drawing App which allows the user to draw onto the canvas along with color picker and brush thickness slider. All code free to

Jake Gough 226 Nov 3, 2022
A app made with Flutter, which allows user to lookup time of any major city in the world. The UI also changes its background according to the time.

first_flutter_project A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you st

Laksh Mittal 0 Oct 31, 2021
I did a task manager which has abilities like (priority,sort,daily,weekly,monthly,profile screen,user auth)

task_manager A task manager app by Flutter. Getting Started This is a task manager app which you can manage your daily/weekly/monthly tasks. Users can

Yusuf Erarslan 2 Jan 12, 2022
Apartment4a - An app which will be a one stop solution to all the problems Students are facing these days

APARTMENT 4A An app which will be a one stop solution to all the problems Studen

Adam Oommen Jacob 13 Nov 15, 2022
A Flutter application implementing AR core, Text-to-speech, and Speech-to-text technologies.

ar_x_ai A Flutter application implementing AR core, Text to speech and Speech to text technologies. Getting Started This project is a starting point f

Alston Fernandes 1 Dec 17, 2021
A flutter package which contains a collection of Splash Screen example for your app to display logo and different text style.

splash_screen_view They say, first impression is the last! Yep, truly for any amazingly crafted application, it's easier to start impressing your audi

Sandip Kalola (SK) 17 Nov 25, 2022
A flutter widget that show the camera stream and allow ML vision recognition on it, it allow you to detect barcodes, labels, text, faces...

Flutter Camera Ml Vision A Flutter package for iOS and Android to show a preview of the camera and detect things with Firebase ML Vision. Installation

Rushio Consulting 257 Jan 2, 2023
A package that lets you include a cool, nice looking and validated Password TextFormField in your app to enhance user experience. The package is fully & easily modifiable.

A package that lets you include a cool, nice looking and validated Password TextFormField in your app to enhance user experience. The package is fully

Muhammad Hamza 21 Jan 1, 2023