TypeSet: Elegant Text Styling for Flutter

style: very good analysis pub package pub points

Enhance your Flutter app's text presentation with TypeSet, the all-in-one solution for text styling and formatting that's as dynamic as your app needs to be. Inspired by familiar markdown formatting, TypeSet allows you to seamlessly integrate rich text features, including variable font sizes and web links, without disrupting the underlying logic of your code. With backend-driven formatting capability, WhatsApp-like ease, and additional formatting options, TypeSet offers the fluidity to make any text come alive!

Preview of Possibilities

Screenshot 2023-03-18 at 10 25 42

Craft the perfect user experience with customizable text that embraces bold, italic, strikethrough, underline, monospace, hyperlinks, and dynamic font sizes – all at your fingertips.

Getting Started 🚀

To unleash the power of TypeSet in your Flutter application, ensure you have the Flutter SDK installed and up to date.

Installation

In your pubspec.yaml, under dependencies, add the following line:

dependencies:
  typeset: ^latest_version

Run the following command to install the package:

flutter packages get

Usage 🌟

Utilize the TypeSet widget as easily as you would use the native Text.rich() in Flutter:

import 'package:typeset/typeset.dart';

// Bold Text Example
TypeSet('Hello, *World!*'); // Renders 'World!' in bold

// Italic Text Example
TypeSet('Hello, _World!_'); // Renders 'World!' in italic

// Strikethrough Text Example
TypeSet('Hello, ~World!~'); // Renders 'World!' with a strikethrough

// Underline Text Example
TypeSet('Hello #World!#'); // Renders 'World!' underlined

// Monospace Text Example
TypeSet('Hello, `World!`'); // Renders 'World!' in monospace

// Hyperlink Text Example
TypeSet('§google.com|https://google.com§'); // Renders 'google.com' as a clickable link

// Dynamic Font Size Example
TypeSet('Hey, *Hello world<30>*'); // Renders 'Hello world' with font size 30

TypeSet inherits all properties of the Text.rich() widget, allowing for a familiar and versatile configuration experience.

Use ¦ (broken bar) and append with any reserved character to render them.

Example:

Typeset('*Hello ¦* World*');

Features 🎨

  • Backend-driven formatting: Keep your text styling logic server-side for easy updates without the need to redeploy your app.
  • Rich markdown-like formatting: Easily implement bold, italic, strikethrough, underline, monospace, and hyperlinked text.
  • Dynamic font resizing: Adjust text sizes on the fly for emphasis or accessibility.
  • Extensible: Designed with openness for adding more styling options in future updates.

We Value Your Feedback 📬

Have ideas for more features? Found a bug? Feel free to open an issue on our issue tracker. Your contributions make TypeSet better for everyone.

Keep Your App's Text Styling Dynamic and Engaging with TypeSet!


Remember to include accurate links where necessary, like a link to the image of the demo snapshot, and the issue tracker. Also, replace the placeholder ^latest_version with the actual latest version number of your package.

Libraries

typeset
This supports the input from backend to be formatted with different formatters