Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/flyerhq/flutter_link_previewer

Customizable link and URL preview extracted from the provided text with the ability to render from the cache. Ideal for chat applications.
https://github.com/flyerhq/flutter_link_previewer

dart flutter flutter-package flutter-widget link-preview url-preview

Last synced: about 1 month ago
JSON representation

Customizable link and URL preview extracted from the provided text with the ability to render from the cache. Ideal for chat applications.

Awesome Lists containing this project

README

        

# Flutter Link Previewer

[![Pub](https://img.shields.io/pub/v/flutter_link_previewer)](https://pub.dartlang.org/packages/flutter_link_previewer)
[![build](https://github.com/flyerhq/flutter_link_previewer/workflows/build/badge.svg)](https://github.com/flyerhq/flutter_link_previewer/actions?query=workflow%3Abuild)
[![CodeFactor](https://www.codefactor.io/repository/github/flyerhq/flutter_link_previewer/badge)](https://www.codefactor.io/repository/github/flyerhq/flutter_link_previewer)

Customizable link and URL preview extracted from the provided text with the ability to render from the cache. Ideal for chat applications.



πŸ‡ΊπŸ‡¦πŸ‡ΊπŸ‡¦ We are Ukrainians. If you enjoy our work, please consider donating to help save our country. πŸ‡ΊπŸ‡¦πŸ‡ΊπŸ‡¦


## Getting Started

```dart
import 'package:flutter_link_previewer/flutter_link_previewer.dart';

LinkPreview(
enableAnimation: true,
onPreviewDataFetched: (data) {
setState(() {
// Save preview data to the state
});
},
previewData: _previewData, // Pass the preview data from the state
text: 'https://flyer.chat',
width: MediaQuery.of(context).size.width,
)
```

## Customization

```dart
final style = TextStyle(
color: Colors.red,
fontSize: 16,
fontWeight: FontWeight.w500,
height: 1.375,
);

LinkPreview(
linkStyle: style,
metadataTextStyle: style.copyWith(
fontSize: 14,
fontWeight: FontWeight.w400,
),
metadataTitleStyle: style.copyWith(
fontWeight: FontWeight.w800,
),
padding: EdgeInsets.symmetric(
horizontal: 24,
vertical: 16,
),
onPreviewDataFetched: _onPreviewDataFetched,
previewData: _previewData,
text: 'https://flyer.chat',
textStyle: style,
width: width,
);
```

## License

[MIT](LICENSE)