File tree 6 files changed +29
-11
lines changed 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
+
1
8
## 0.0.1
2
9
3
- * TODO: Describe initial release.
10
+ * Initial Release
Original file line number Diff line number Diff line change 1
1
import 'package:flutter/material.dart' ;
2
2
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 >>();
4
6
5
7
///Regex to detect Crawler for Search Engines
6
8
RegExp regExpBots = RegExp (r'/bot|google|baidu|bing|msn|teoma|slurp|yandex/i' );
7
9
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
9
11
extension GlobalKeyExtension on GlobalKey {
10
12
Rect ? get globalPaintBounds {
11
13
final renderObject = currentContext? .findRenderObject ();
@@ -19,8 +21,8 @@ extension GlobalKeyExtension on GlobalKey {
19
21
}
20
22
}
21
23
22
-
23
24
///Controller class to refresh the position in case of Scrolling
25
+ ///[refresh] method to reposition the html tags in case widget is displaced somewhere.
24
26
class RenderController {
25
27
late VoidCallback refresh;
26
- }
28
+ }
Original file line number Diff line number Diff line change 1
1
import 'dart:html' ;
2
2
3
3
import 'package:flutter/material.dart' ;
4
- import 'package:seo_renderer/renderers/text_renderer.dart' ;
5
4
import 'package:seo_renderer/helpers/utils.dart' ;
6
5
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] .
8
7
class LinkRenderer extends StatefulWidget {
8
+ ///Any Widget with link in it
9
9
final Widget child;
10
+
11
+ ///Anchor Text just like html, will work like a replacement to provided [child] with [link] to it.
10
12
final String anchorText;
13
+
14
+ ///link to put in href
11
15
final String link;
16
+
17
+ ///Optional : [RenderController] object if you want to perform certain actions.
12
18
final RenderController ? controller;
13
19
14
20
const LinkRenderer (
@@ -43,7 +49,7 @@ class _LinkRendererState extends State<LinkRenderer> with RouteAware {
43
49
void initState () {
44
50
super .initState ();
45
51
WidgetsBinding .instance
46
- ? .addPostFrameCallback ((_) => addDivElement (context));
52
+ ? .addPostFrameCallback ((_) => _addDivElement (context));
47
53
widget.controller? .refresh = refresh;
48
54
}
49
55
@@ -69,7 +75,7 @@ class _LinkRendererState extends State<LinkRenderer> with RouteAware {
69
75
);
70
76
}
71
77
72
- addDivElement (BuildContext context) {
78
+ _addDivElement (BuildContext context) {
73
79
if (! regExpBots.hasMatch (window.navigator.userAgent.toString ())) {
74
80
return ;
75
81
}
Original file line number Diff line number Diff line change @@ -4,7 +4,10 @@ import 'package:seo_renderer/helpers/utils.dart';
4
4
5
5
/// A Widget to create the HTML Tags from the TEXT widget.
6
6
class TextRenderer extends StatefulWidget {
7
+ /// Provide with [Text] widget to get data from it.
7
8
final Text text;
9
+
10
+ /// Controller to refresh position in any case you want.
8
11
final RenderController ? controller;
9
12
10
13
const TextRenderer ({Key ? key, required this .text, this .controller})
Original file line number Diff line number Diff line change 1
1
export 'renderers/text_renderer.dart' ;
2
2
export 'renderers/link_renderer.dart' ;
3
- export 'helpers/utils.dart' ;
3
+ export 'helpers/utils.dart' ;
Original file line number Diff line number Diff line change 1
1
name : seo_renderer
2
2
description : A flutter plugin to render text widgets as html for SEO purpose.
3
- version : 0.0.1
3
+ version : 0.0.2
4
4
homepage : https://github.com/iamSahdeep/seo_renderer
5
5
6
6
environment :
You can’t perform that action at this time.
0 commit comments