Browse Source

[packages] Add flutter_markdown

merge-requests/22/head
Vitaliy Zarubin 2 years ago
parent
commit
9a963687ac
  1. 31
      example/lib/packages/flutter_markdown/model.dart
  2. 33
      example/lib/packages/flutter_markdown/page.dart

31
example/lib/packages/flutter_markdown/model.dart

@ -10,4 +10,35 @@ class FlutterMarkdownModel extends Model {
/// Get [ScopedModel]
static FlutterMarkdownModel of(BuildContext context) =>
ScopedModel.of<FlutterMarkdownModel>(context);
final String data = '''
An h1 header
============
Paragraphs are separated by a blank line.
2nd paragraph. *Italic*, **bold**, and `monospace`. Itemized lists
look like:
* this one
* that one
* the other one
Note that --- not considering the asterisk --- the actual text
content starts at 4-columns in.
> Block quotes are
> written like so.
>
> They can span multiple paragraphs,
> if you like.
Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., "it's all
in chapters 12--14"). Three dots ... will be converted to an ellipsis.
Unicode is supported.
## Image
![Minion](https://github.com/keygenqt/awesome-aurora/blob/master/docs/assets/images/common/aurora.png?raw=true)
''';
}

33
example/lib/packages/flutter_markdown/page.dart

@ -9,6 +9,7 @@ import 'package:flutter_example_packages/widgets/base/export.dart';
import 'package:flutter_example_packages/widgets/blocks/block_info_package.dart';
import 'package:flutter_example_packages/widgets/layouts/block_layout.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter_markdown/flutter_markdown.dart';
import 'model.dart';
import 'package.dart';
@ -25,6 +26,8 @@ class FlutterMarkdownPage extends AppStatefulWidget {
}
class _FlutterMarkdownPageState extends AppState<FlutterMarkdownPage> {
final ScrollController _scrollController = ScrollController();
@override
Widget buildWide(
BuildContext context,
@ -35,16 +38,28 @@ class _FlutterMarkdownPageState extends AppState<FlutterMarkdownPage> {
model: getIt<FlutterMarkdownModel>(),
title: widget.package.key,
builder: (context, child, model) {
return SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(20),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
BlockInfoPackage(widget.package),
],
return Column(
children: [
Flexible(
flex: 0,
child: Padding(
padding: const EdgeInsets.only(
top: 20,
left: 20,
right: 20,
),
child: BlockInfoPackage(widget.package),
),
),
Flexible(
flex: 1,
child: Markdown(
controller: _scrollController,
padding: const EdgeInsets.all(20.0),
data: model.data,
),
),
),
],
);
},
);

Loading…
Cancel
Save