@@ -265,7 +265,8 @@ class MyHomePageState extends State<MyHomePage> {
265265 floatingActionButton: FloatingActionButton (
266266 child: const Icon (Icons .arrow_downward),
267267 onPressed: () {
268- final anchorContext = AnchorKey .forId (staticAnchorKey, "bottom" )? .currentContext;
268+ final anchorContext =
269+ AnchorKey .forId (staticAnchorKey, "bottom" )? .currentContext;
269270 if (anchorContext != null ) {
270271 Scrollable .ensureVisible (anchorContext);
271272 }
@@ -294,51 +295,64 @@ class MyHomePageState extends State<MyHomePage> {
294295 },
295296 tagsList: Html .tags..addAll (['tex' , 'bird' , 'flutter' ]),
296297 customRenders: {
297- tagMatcher ("tex" ): CustomRender .widget (widget: (context, buildChildren) => Math .tex (
298- context.tree.element? .innerHtml ?? '' ,
299- mathStyle: MathStyle .display,
300- textStyle: context.style.generateTextStyle (),
301- onErrorFallback: (FlutterMathException e) {
302- return Text (e.message);
303- },
304- )),
305- tagMatcher ("bird" ): CustomRender .inlineSpan (inlineSpan: (context, buildChildren) => const TextSpan (text: "🐦" )),
306- tagMatcher ("flutter" ): CustomRender .widget (widget: (context, buildChildren) => FlutterLogo (
307- style: (context.tree.element! .attributes['horizontal' ] != null )
308- ? FlutterLogoStyle .horizontal
309- : FlutterLogoStyle .markOnly,
310- textColor: context.style.color! ,
311- size: context.style.fontSize! .value * 5 ,
312- )),
313- tagMatcher ("table" ): CustomRender .widget (widget: (context, buildChildren) => SingleChildScrollView (
314- scrollDirection: Axis .horizontal,
315- child: tableRender.call ().widget! .call (context, buildChildren),
316- )),
298+ tagMatcher ("tex" ): CustomRender .widget (
299+ widget: (context, buildChildren) => Math .tex (
300+ context.tree.element? .innerHtml ?? '' ,
301+ mathStyle: MathStyle .display,
302+ textStyle: context.style.generateTextStyle (),
303+ onErrorFallback: (FlutterMathException e) {
304+ return Text (e.message);
305+ },
306+ )),
307+ tagMatcher ("bird" ): CustomRender .inlineSpan (
308+ inlineSpan: (context, buildChildren) =>
309+ const TextSpan (text: "🐦" )),
310+ tagMatcher ("flutter" ): CustomRender .widget (
311+ widget: (context, buildChildren) => FlutterLogo (
312+ style: (context.tree.element! .attributes['horizontal' ] !=
313+ null )
314+ ? FlutterLogoStyle .horizontal
315+ : FlutterLogoStyle .markOnly,
316+ textColor: context.style.color! ,
317+ size: context.style.fontSize! .value * 5 ,
318+ )),
319+ tagMatcher ("table" ): CustomRender .widget (
320+ widget: (context, buildChildren) => SingleChildScrollView (
321+ scrollDirection: Axis .horizontal,
322+ child: tableRender
323+ .call ()
324+ .widget!
325+ .call (context, buildChildren),
326+ )),
317327 audioMatcher (): audioRender (),
318328 iframeMatcher (): iframeRender (),
319- mathMatcher (): mathRender (onMathError: (error, exception, exceptionWithType) {
329+ mathMatcher ():
330+ mathRender (onMathError: (error, exception, exceptionWithType) {
320331 debugPrint (exception);
321332 return Text (exception);
322333 }),
323334 svgTagMatcher (): svgTagRender (),
324335 svgDataUriMatcher (): svgDataImageRender (),
325336 svgAssetUriMatcher (): svgAssetImageRender (),
326337 svgNetworkSourceMatcher (): svgNetworkImageRender (),
327- networkSourceMatcher (domains: ["flutter.dev" ]): CustomRender . widget (
328- widget: (context, buildChildren) {
329- return const FlutterLogo (size: 36 );
330- }),
338+ networkSourceMatcher (domains: ["flutter.dev" ]):
339+ CustomRender . widget ( widget: (context, buildChildren) {
340+ return const FlutterLogo (size: 36 );
341+ }),
331342 networkSourceMatcher (domains: ["mydomain.com" ]): networkImageRender (
332343 headers: {"Custom-Header" : "some-value" },
333344 altWidget: (alt) => Text (alt ?? "" ),
334345 loadingWidget: () => const Text ("Loading..." ),
335346 ),
336347 // On relative paths starting with /wiki, prefix with a base url
337- (context) => context.tree.element? .attributes["src" ] != null
338- && context.tree.element! .attributes["src" ]! .startsWith ("/wiki" ):
339- networkImageRender (mapUrl: (url) => "https://upload.wikimedia.org${url !}" ),
348+ (context) =>
349+ context.tree.element? .attributes["src" ] != null &&
350+ context.tree.element! .attributes["src" ]!
351+ .startsWith ("/wiki" ): networkImageRender (
352+ mapUrl: (url) => "https://upload.wikimedia.org${url !}" ),
340353 // Custom placeholder image for broken links
341- networkSourceMatcher (): networkImageRender (altWidget: (_) => const FlutterLogo ()),
354+ networkSourceMatcher ():
355+ networkImageRender (altWidget: (_) => const FlutterLogo ()),
342356 videoMatcher (): videoRender (),
343357 },
344358 onLinkTap: (url, _, __, ___) {
@@ -364,8 +378,11 @@ class MyHomePageState extends State<MyHomePage> {
364378 }
365379}
366380
367- CustomRenderMatcher texMatcher () => (context) => context.tree.element? .localName == 'tex' ;
381+ CustomRenderMatcher texMatcher () =>
382+ (context) => context.tree.element? .localName == 'tex' ;
368383
369- CustomRenderMatcher birdMatcher () => (context) => context.tree.element? .localName == 'bird' ;
384+ CustomRenderMatcher birdMatcher () =>
385+ (context) => context.tree.element? .localName == 'bird' ;
370386
371- CustomRenderMatcher flutterMatcher () => (context) => context.tree.element? .localName == 'flutter' ;
387+ CustomRenderMatcher flutterMatcher () =>
388+ (context) => context.tree.element? .localName == 'flutter' ;
0 commit comments