Skip to content

Commit 237f1e1

Browse files
committed
v0.0.2
1 parent 35e4212 commit 237f1e1

File tree

6 files changed

+29
-11
lines changed

6 files changed

+29
-11
lines changed

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
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

lib/helpers/utils.dart

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
import '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
68
RegExp 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
911
extension 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.
2426
class RenderController {
2527
late VoidCallback refresh;
26-
}
28+
}

lib/renderers/link_renderer.dart

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
import 'dart:html';
22

33
import 'package:flutter/material.dart';
4-
import 'package:seo_renderer/renderers/text_renderer.dart';
54
import '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].
87
class 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
}

lib/renderers/text_renderer.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff 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.
66
class 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})

lib/seo_renderer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
export 'renderers/text_renderer.dart';
22
export 'renderers/link_renderer.dart';
3-
export 'helpers/utils.dart';
3+
export 'helpers/utils.dart';

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: seo_renderer
22
description: A flutter plugin to render text widgets as html for SEO purpose.
3-
version: 0.0.1
3+
version: 0.0.2
44
homepage: https://github.com/iamSahdeep/seo_renderer
55

66
environment:

0 commit comments

Comments
 (0)