Skip to content

Commit 3896829

Browse files
committed
优化 markdown 显示
1 parent 5574033 commit 3896829

File tree

8 files changed

+422
-117
lines changed

8 files changed

+422
-117
lines changed

ios/Podfile.lock

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ PODS:
3838
- Flutter
3939
- webview_flutter_wkwebview (0.0.1):
4040
- Flutter
41+
- FlutterMacOS
4142

4243
DEPENDENCIES:
4344
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/darwin`)
@@ -53,7 +54,7 @@ DEPENDENCIES:
5354
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
5455
- sqflite (from `.symlinks/plugins/sqflite/darwin`)
5556
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
56-
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`)
57+
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/darwin`)
5758

5859
SPEC REPOS:
5960
trunk:
@@ -88,7 +89,7 @@ EXTERNAL SOURCES:
8889
url_launcher_ios:
8990
:path: ".symlinks/plugins/url_launcher_ios/ios"
9091
webview_flutter_wkwebview:
91-
:path: ".symlinks/plugins/webview_flutter_wkwebview/ios"
92+
:path: ".symlinks/plugins/webview_flutter_wkwebview/darwin"
9293

9394
SPEC CHECKSUMS:
9495
connectivity_plus: ddd7f30999e1faaef5967c23d5b6d503d10434db
@@ -106,7 +107,7 @@ SPEC CHECKSUMS:
106107
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
107108
Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e
108109
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
109-
webview_flutter_wkwebview: 2a23822e9039b7b1bc52e5add778e5d89ad488d1
110+
webview_flutter_wkwebview: a4af96a051138e28e29f60101d094683b9f82188
110111

111112
PODFILE CHECKSUM: c4c93c5f6502fe2754f48404d3594bf779584011
112113

lib/common/utils/common_utils.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,3 +485,10 @@ class CommonUtils {
485485
});
486486
}
487487
}
488+
489+
String getRawBaseUrl(
490+
{required String userName,
491+
required String repoName,
492+
required String branch}) {
493+
return "https://raw.githubusercontent.com/$userName/$repoName/$branch/";
494+
}

lib/page/issue/widget/issue_header_item.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,7 @@ class IssueHeaderItem extends StatelessWidget {
4141
const Padding(padding: EdgeInsets.all(2.0)),
4242

4343
///issue issue编码
44-
Text(issueHeaderViewModel.issueTag,
45-
style: GSYConstant.smallTextWhite),
44+
Text(issueHeaderViewModel.issueTag, style: GSYConstant.smallTextWhite),
4645
const Padding(padding: EdgeInsets.all(2.0)),
4746

4847
///issue 评论数
@@ -107,8 +106,7 @@ class IssueHeaderItem extends StatelessWidget {
107106
children: <Widget>[
108107
///名称
109108
Expanded(
110-
child: Text(
111-
issueHeaderViewModel.actionUser!,
109+
child: Text(issueHeaderViewModel.actionUser!,
112110
style: GSYConstant.normalTextWhite)),
113111

114112
///时间
@@ -126,7 +124,8 @@ class IssueHeaderItem extends StatelessWidget {
126124
Container(
127125

128126
///评论标题
129-
margin: const EdgeInsets.only(top: 6.0, bottom: 2.0),
127+
margin:
128+
const EdgeInsets.only(top: 6.0, bottom: 2.0),
130129
alignment: Alignment.topLeft,
131130

132131
///评论标题
@@ -146,8 +145,10 @@ class IssueHeaderItem extends StatelessWidget {
146145

147146
///评论内容
148147
GSYMarkdownWidget(
149-
markdownData: issueHeaderViewModel.issueDesHtml,
150-
style: GSYMarkdownWidget.DARK_THEME),
148+
markdownData: issueHeaderViewModel.issueDesHtml,
149+
style: GSYMarkdownWidget.DARK_THEME,
150+
baseUrl: "",
151+
),
151152

152153
///close 用户
153154
_renderCloseByText()
@@ -182,9 +183,8 @@ class IssueHeaderViewModel {
182183
closedBy = issueMap.closeBy != null ? issueMap.closeBy!.login : "";
183184
locked = issueMap.locked;
184185
issueComment = issueMap.title;
185-
issueDesHtml = issueMap.bodyHtml ?? ((issueMap.body != null)
186-
? issueMap.body
187-
: "");
186+
issueDesHtml =
187+
issueMap.bodyHtml ?? ((issueMap.body != null) ? issueMap.body : "");
188188
commentCount = "${issueMap.commentNum}";
189189
state = issueMap.state;
190190
issueDes = issueMap.body != null ? ": \n${issueMap.body!}" : '';

lib/page/issue/widget/issue_item.dart

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ class IssueItem extends StatelessWidget {
2727
final bool limitComment;
2828

2929
const IssueItem(this.issueItemViewModel,
30-
{super.key, this.onPressed,
30+
{super.key,
31+
this.onPressed,
3132
this.onLongPress,
3233
this.hideBottom = false,
3334
this.limitComment = true});
@@ -85,7 +86,10 @@ class IssueItem extends StatelessWidget {
8586
maxLines: limitComment ? 2 : 1000,
8687
),
8788
)
88-
: GSYMarkdownWidget(markdownData: issueItemViewModel.issueComment);
89+
: GSYMarkdownWidget(
90+
markdownData: issueItemViewModel.issueComment,
91+
baseUrl: "",
92+
);
8993
}
9094

9195
@override
@@ -148,7 +152,8 @@ class IssueItem extends StatelessWidget {
148152
class IssueItemViewModel {
149153
String actionTime = "---";
150154
String? actionUser = "---";
151-
String? actionUserPic ;
155+
String? actionUserPic;
156+
152157
String issueComment = "---";
153158
String commentCount = "---";
154159
String? state = "---";

lib/page/repos/repository_detail_readme_page.dart

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
22
import 'package:flutter_spinkit/flutter_spinkit.dart';
33
import 'package:gsy_github_app_flutter/common/localization/extension.dart';
44
import 'package:gsy_github_app_flutter/common/style/gsy_style.dart';
5+
import 'package:gsy_github_app_flutter/common/utils/common_utils.dart';
56
import 'package:gsy_github_app_flutter/page/repos/provider/repos_detail_provider.dart';
67
import 'package:gsy_github_app_flutter/widget/markdown/gsy_markdown_widget.dart';
78
import 'package:provider/provider.dart';
@@ -49,6 +50,7 @@ class RepositoryDetailReadmePageState extends State<RepositoryDetailReadmePage>
4950
///展示 select
5051
var markdownData =
5152
context.select<ReposDetailProvider, String?>((p) => p.markdownData);
53+
var rp = context.read<ReposDetailProvider>();
5254
var widget = (markdownData == null)
5355
? Center(
5456
child: Container(
@@ -66,7 +68,12 @@ class RepositoryDetailReadmePageState extends State<RepositoryDetailReadmePage>
6668
),
6769
),
6870
)
69-
: GSYMarkdownWidget(markdownData: markdownData);
71+
: GSYMarkdownWidget(
72+
markdownData: markdownData,
73+
baseUrl: getRawBaseUrl(
74+
repoName: rp.reposName,
75+
userName: rp.userName,
76+
branch: rp.currentBranch));
7077

7178
return widget;
7279
}

0 commit comments

Comments
 (0)