File tree Expand file tree Collapse file tree 6 files changed +29
-11
lines changed
Expand file tree Collapse file tree 6 files changed +29
-11
lines changed Original file line number Diff line number Diff line change 1+
2+ ## 0.0.2
3+
4+ * Included LinkRender
5+ * Separated TextRenderer
6+ * Route Observers to remove Element from html
7+
18## 0.0.1
29
3- * TODO: Describe initial release.
10+ * Initial Release
Original file line number Diff line number Diff line change 11import 'package:flutter/material.dart' ;
22
3- final RouteObserver <ModalRoute <void >> routeObserver = RouteObserver <ModalRoute <void >>();
3+ /// [RouteObserver] created to remove Element in case pop in [RouteAware]
4+ final RouteObserver <ModalRoute <void >> routeObserver =
5+ RouteObserver <ModalRoute <void >>();
46
57///Regex to detect Crawler for Search Engines
68RegExp regExpBots = RegExp (r'/bot|google|baidu|bing|msn|teoma|slurp|yandex/i' );
79
8- /// A GlobalKey Extension to get Rect from the RenderObject from a GlobalKey
10+ /// A [ GlobalKey] Extension to get Rect from the RenderObject from a GlobalKey
911extension GlobalKeyExtension on GlobalKey {
1012 Rect ? get globalPaintBounds {
1113 final renderObject = currentContext? .findRenderObject ();
@@ -19,8 +21,8 @@ extension GlobalKeyExtension on GlobalKey {
1921 }
2022}
2123
22-
2324///Controller class to refresh the position in case of Scrolling
25+ ///[refresh] method to reposition the html tags in case widget is displaced somewhere.
2426class RenderController {
2527 late VoidCallback refresh;
26- }
28+ }
Original file line number Diff line number Diff line change 11import 'dart:html' ;
22
33import 'package:flutter/material.dart' ;
4- import 'package:seo_renderer/renderers/text_renderer.dart' ;
54import 'package:seo_renderer/helpers/utils.dart' ;
65
7- /// A Widget to create the HTML Tags from the TEXT widget .
6+ /// A Widget to create the HTML Tags but with Link (href) from any [Widget] .
87class LinkRenderer extends StatefulWidget {
8+ ///Any Widget with link in it
99 final Widget child;
10+
11+ ///Anchor Text just like html, will work like a replacement to provided [child] with [link] to it.
1012 final String anchorText;
13+
14+ ///link to put in href
1115 final String link;
16+
17+ ///Optional : [RenderController] object if you want to perform certain actions.
1218 final RenderController ? controller;
1319
1420 const LinkRenderer (
@@ -43,7 +49,7 @@ class _LinkRendererState extends State<LinkRenderer> with RouteAware {
4349 void initState () {
4450 super .initState ();
4551 WidgetsBinding .instance
46- ? .addPostFrameCallback ((_) => addDivElement (context));
52+ ? .addPostFrameCallback ((_) => _addDivElement (context));
4753 widget.controller? .refresh = refresh;
4854 }
4955
@@ -69,7 +75,7 @@ class _LinkRendererState extends State<LinkRenderer> with RouteAware {
6975 );
7076 }
7177
72- addDivElement (BuildContext context) {
78+ _addDivElement (BuildContext context) {
7379 if (! regExpBots.hasMatch (window.navigator.userAgent.toString ())) {
7480 return ;
7581 }
Original file line number Diff line number Diff line change @@ -4,7 +4,10 @@ import 'package:seo_renderer/helpers/utils.dart';
44
55/// A Widget to create the HTML Tags from the TEXT widget.
66class TextRenderer extends StatefulWidget {
7+ /// Provide with [Text] widget to get data from it.
78 final Text text;
9+
10+ /// Controller to refresh position in any case you want.
811 final RenderController ? controller;
912
1013 const TextRenderer ({Key ? key, required this .text, this .controller})
Original file line number Diff line number Diff line change 11export 'renderers/text_renderer.dart' ;
22export 'renderers/link_renderer.dart' ;
3- export 'helpers/utils.dart' ;
3+ export 'helpers/utils.dart' ;
Original file line number Diff line number Diff line change 11name : seo_renderer
22description : A flutter plugin to render text widgets as html for SEO purpose.
3- version : 0.0.1
3+ version : 0.0.2
44homepage : https://github.com/iamSahdeep/seo_renderer
55
66environment :
You can’t perform that action at this time.
0 commit comments