Skip to content

Commit 2d9e469

Browse files
authored
Merge pull request #41 from YinRenjie1993/githubapp
代码高亮
2 parents 85bb230 + 56577b3 commit 2d9e469

File tree

4 files changed

+503
-97
lines changed

4 files changed

+503
-97
lines changed

lib/widget/GSYMarkdownWidget.dart

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
22
import 'package:flutter_markdown/flutter_markdown.dart';
33
import 'package:gsy_github_app_flutter/common/style/GSYStyle.dart';
44
import 'package:gsy_github_app_flutter/common/utils/CommonUtils.dart';
5+
import 'package:gsy_github_app_flutter/widget/syntax_highlighter.dart';
56

67
/**
78
* 代码详情
@@ -23,23 +24,26 @@ class GSYMarkdownWidget extends StatelessWidget {
2324
GSYMarkdownWidget({this.markdownData = "", this.style = DARK_WHITE});
2425

2526
_getCommonSheet(BuildContext context, Color codeBackground) {
26-
MarkdownStyleSheet markdownStyleSheet = MarkdownStyleSheet.fromTheme(Theme.of(context));
27+
MarkdownStyleSheet markdownStyleSheet =
28+
MarkdownStyleSheet.fromTheme(Theme.of(context));
2729
return markdownStyleSheet
2830
.copyWith(
2931
codeblockDecoration: new BoxDecoration(
3032
borderRadius: BorderRadius.all(Radius.circular(4.0)),
3133
color: codeBackground,
32-
border: new Border.all(color: Color(GSYColors.subTextColor), width: 0.3)))
34+
border: new Border.all(
35+
color: Color(GSYColors.subTextColor), width: 0.3)))
3336
.copyWith(
3437
blockquoteDecoration: new BoxDecoration(
3538
borderRadius: BorderRadius.all(Radius.circular(4.0)),
3639
color: Color(GSYColors.subTextColor),
37-
border: new Border.all(color: Color(GSYColors.subTextColor), width: 0.3)),
40+
border: new Border.all(
41+
color: Color(GSYColors.subTextColor), width: 0.3)),
3842
blockquote: GSYConstant.smallTextWhite);
3943
}
4044

4145
_getStyleSheetDark(BuildContext context) {
42-
return _getCommonSheet(context, Color(GSYColors.primaryValue)).copyWith(
46+
return _getCommonSheet(context, Color.fromRGBO(40, 44, 52, 1.00)).copyWith(
4347
p: GSYConstant.smallTextWhite,
4448
h1: GSYConstant.largeLargeTextWhite,
4549
h2: GSYConstant.largeTextWhiteBold,
@@ -54,7 +58,7 @@ class GSYMarkdownWidget extends StatelessWidget {
5458
}
5559

5660
_getStyleSheetWhite(BuildContext context) {
57-
return _getCommonSheet(context, Color(GSYColors.primaryValue)).copyWith(
61+
return _getCommonSheet(context, Color.fromRGBO(40, 44, 52, 1.00)).copyWith(
5862
p: GSYConstant.smallText,
5963
h1: GSYConstant.largeLargeText,
6064
h2: GSYConstant.largeTextBold,
@@ -68,7 +72,7 @@ class GSYMarkdownWidget extends StatelessWidget {
6872
}
6973

7074
_getStyleSheetTheme(BuildContext context) {
71-
return _getCommonSheet(context, Color(GSYColors.subTextColor)).copyWith(
75+
return _getCommonSheet(context, Color.fromRGBO(40, 44, 52, 1.00)).copyWith(
7276
p: GSYConstant.smallTextWhite,
7377
h1: GSYConstant.largeLargeTextWhite,
7478
h2: GSYConstant.largeTextWhiteBold,
@@ -123,7 +127,9 @@ class GSYMarkdownWidget extends StatelessWidget {
123127
String match = imageMatch.replaceAll("\)", "?raw=true)");
124128
if (!match.contains(".svg") && match.contains("http")) {
125129
///增加点击
126-
String src = match.replaceAll(new RegExp(r'!\[.*\]\('), "").replaceAll(")", "");
130+
String src = match
131+
.replaceAll(new RegExp(r'!\[.*\]\('), "")
132+
.replaceAll(")", "");
127133
String actionMatch = "[$match]($src)";
128134
match = actionMatch;
129135
} else {
@@ -145,7 +151,9 @@ class GSYMarkdownWidget extends StatelessWidget {
145151
for (Match srcMatch in srcTags) {
146152
String srcString = srcMatch.group(0);
147153
if (srcString != null && srcString.contains("http")) {
148-
String newSrc = srcString.substring(srcString.indexOf("http"), srcString.length - 1) + "?raw=true";
154+
String newSrc = srcString.substring(
155+
srcString.indexOf("http"), srcString.length - 1) +
156+
"?raw=true";
149157

150158
///增加点击
151159
match = "[![]($newSrc)]($newSrc)";
@@ -181,9 +189,7 @@ class GSYMarkdownWidget extends StatelessWidget {
181189
class GSYHighlighter extends SyntaxHighlighter {
182190
@override
183191
TextSpan format(String source) {
184-
return new TextSpan(
185-
text: source,
186-
style: GSYConstant.smallTextWhite,
187-
);
192+
print(source);
193+
return new DartSyntaxHighlighter().format(source);
188194
}
189195
}

0 commit comments

Comments
 (0)