pendart 0.2.0 copy "pendart: ^0.2.0" to clipboard
pendart: ^0.2.0 copied to clipboard

A Flutter package for editing and rendering Pendart markup - a lightweight markup language directly converted to Flutter widgets without HTML intermediary

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:pendart/parser.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Pendart Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: const PendartDemoPage(),
    );
  }
}

class PendartDemoPage extends StatefulWidget {
  const PendartDemoPage({super.key});

  @override
  _PendartDemoPageState createState() => _PendartDemoPageState();
}

class _PendartDemoPageState extends State<PendartDemoPage> {
  final PendartParser parser = PendartParser();

  final String demoText = '''
! Pendart Demo

This is a demo of the Pendart markup language.

!! Formatting

You can use **bold**, %%italic%%, ~~strikethrough~~, and __underline__.

!! Links

Links can be created in two ways:

1. Self-contained link: @@https://flutter.dev@@
2. Custom text link: @@https://dart.dev Dart Language@@

You can tap on these links to open them in your browser.

!! Secure URLs

Only secure (HTTPS) URLs are supported:

- Secure link: @@https://pub.dev@@
- Insecure link: @@http://example.com@@
- Invalid link: @@file:///etc/passwd@@

!! Images

Images also require secure URLs:

[[https://picsum.photos/200/200]]

Invalid image URLs will show error messages:

[[http://example.com/image.jpg]]
[[image.jpg]]
''';

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Pendart Example'),
      ),
      body: SingleChildScrollView(
        padding: const EdgeInsets.all(16),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: parser.processText(demoText, context),
        ),
      ),
    );
  }
}
0
likes
160
points
31
downloads

Documentation

API reference

Publisher

verified publisherrp01.in

Weekly Downloads

A Flutter package for editing and rendering Pendart markup - a lightweight markup language directly converted to Flutter widgets without HTML intermediary

Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

flutter, url_launcher

More

Packages that depend on pendart