org_flutter 8.0.0 copy "org_flutter: ^8.0.0" to clipboard
org_flutter: ^8.0.0 copied to clipboard

Flutter widgets for displaying Emacs Org Mode (https://orgmode.org) content

org_flutter #

Org Mode widgets for Flutter.

Usage #

For parsing Org Mode documents, see org_parser. For an example application that displays Org Mode documents with org_parser and org_flutter, see Orgro.

The simplest way to display an Org Mode document in your Flutter application is to use the Org widget:

import 'package:org_flutter/org_flutter.dart';

class MyOrgViewWidget extends StatelessWidget {
  Widget build(BuildContext context) {
    return Org('''* TODO [#A] foo bar
baz buzz''');
  }
}

See the example for more.

Rich text #

Use Org markup to create rich Text-equivalent widgets with OrgText.

OrgText('*This* is a /rich/ text label ([[https://example.com][details]])')

Advanced #

For more advanced usage, such as specifying link handling, use OrgController in concert with OrgRootWidget:

import 'package:org_flutter/org_flutter.dart';

Widget build(BuildContext context) {
  final doc = OrgDocument.parse(
    rawOrgModeDocString,
    // Interpret e.g. #+TODO: settings at the cost of a second parsing pass
    interpretEmbeddedSettings: true,
  );
  return OrgController(
    root: doc,
    child: OrgLocator( // Include OrgLocator to enable tap-to-jump on footnotes, etc.
      child: OrgRootWidget(
        style: myTextStyle,
        onLinkTap: launch, // e.g. from url_launcher package
        child: OrgDocumentWidget(doc),
      ),
    ),
  );
}

Place OrgController higher up in your widget hierarchy and access via OrgController.of(context) to dynamically control various properties of the displayed document:

IconButton(
  icon: const Icon(Icons.repeat),
  onPressed: OrgController.of(context).cycleVisibility,
);

Text selection #

The Org Mode text is not selectable by default, but you can make it so by wrapping the widget in SelectionArea.

3
likes
0
points
1.61k
downloads

Publisher

verified publishermadlon-kay.com

Weekly Downloads

Flutter widgets for displaying Emacs Org Mode (https://orgmode.org) content

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, flutter_slidable, flutter_tex_js, highlighting, more, org_parser, petit_lisp, petitparser

More

Packages that depend on org_flutter