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