Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
gpt_markdown
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
saminsohag
2024-03-12 12:04:49 +0600
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
3f45273b8ee2b2021e37e99d67324b2f2b9cd250
3f45273b
1 parent
32d23bdf
formating and pubspack upgrade
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
119 additions
and
59 deletions
gpt_markdown/CHANGELOG.md
gpt_markdown/example/pubspec.lock
gpt_markdown/lib/markdown_component.dart
gpt_markdown/pubspec.yaml
gpt_markdown/CHANGELOG.md
View file @
3f45273
## 0.1.0
*
Inline Latex Builder added and Link are now Clickable and Latex Error Color changed to null for debug mode.
*
`textScaleFector` is removed and `textScaler`
added
## 0.0.12
*
codeBuilder method added
[
[#6
](
https://github.com/saminsohag/flutter_packages/issues/6
)
], and maked the table scrollable.
...
...
gpt_markdown/example/pubspec.lock
View file @
3f45273
...
...
@@ -182,7 +182,7 @@ packages:
path: ".."
relative: true
source: path
version: "0.
0.12
"
version: "0.
1.0
"
http:
dependency: transitive
description:
...
...
gpt_markdown/lib/markdown_component.dart
View file @
3f45273
...
...
@@ -38,8 +38,10 @@ abstract class MarkdownComponent {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
List
<
InlineSpan
>
spans
=
[];
List
<
String
>
regexes
=
...
...
@@ -126,8 +128,10 @@ abstract class MarkdownComponent {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
);
RegExp
get
exp
;
...
...
@@ -147,8 +151,10 @@ abstract class InlineMd extends MarkdownComponent {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
);
}
...
...
@@ -164,8 +170,10 @@ abstract class BlockMd extends MarkdownComponent {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
return
WidgetSpan
(
child:
build
(
...
...
@@ -189,8 +197,10 @@ abstract class BlockMd extends MarkdownComponent {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
);
}
...
...
@@ -206,8 +216,10 @@ class HTag extends BlockMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
var
match
=
exp
.
firstMatch
(
text
.
trim
());
return
Text
.
rich
(
...
...
@@ -278,8 +290,10 @@ class NewLines extends InlineMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
return
TextSpan
(
text:
"
\n\n\n\n
"
,
...
...
@@ -303,8 +317,10 @@ class HrLine extends BlockMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
return
CustomDivider
(
height:
2
,
...
...
@@ -327,8 +343,10 @@ class CheckBoxMd extends BlockMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
var
match
=
exp
.
firstMatch
(
text
.
trim
());
return
CustomCb
(
...
...
@@ -361,8 +379,10 @@ class RadioButtonMd extends BlockMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
var
match
=
exp
.
firstMatch
(
text
.
trim
());
return
CustomRb
(
...
...
@@ -395,8 +415,10 @@ class IndentMd extends BlockMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
[
r"\\\[(.*?)\\\]"
,
...
...
@@ -440,8 +462,10 @@ class UnOrderedList extends BlockMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
var
match
=
exp
.
firstMatch
(
text
);
return
UnorderedListView
(
...
...
@@ -477,8 +501,10 @@ class OrderedList extends BlockMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
var
match
=
exp
.
firstMatch
(
text
.
trim
());
return
OrderedListView
(
...
...
@@ -510,8 +536,10 @@ class HighlightedText extends InlineMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
return
TextSpan
(
text:
text
,
...
...
@@ -546,8 +574,10 @@ class BoldMd extends InlineMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
var
match
=
exp
.
firstMatch
(
text
.
trim
());
return
TextSpan
(
...
...
@@ -583,8 +613,10 @@ class LatexMathMultyLine extends BlockMd {
TextDirection
textDirection
,
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
String
Function
(
String
tex
)?
latexWorkaround
,
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
var
p0
=
exp
.
firstMatch
(
text
.
trim
());
p0
?.
group
(
0
);
...
...
@@ -592,7 +624,7 @@ class LatexMathMultyLine extends BlockMd {
var
workaround
=
latexWorkaround
??
(
String
tex
)
=>
tex
;
var
builder
=
latexBuilder
??
(
BuildContext
context
,
String
tex
,
bool
inline
)
=>
Math
.
tex
(
(
BuildContext
context
,
String
tex
,
bool
inline
)
=>
Math
.
tex
(
tex
,
textStyle:
style
?.
copyWith
(
fontFamily:
"SansSerif"
,
...
...
@@ -624,12 +656,17 @@ class LatexMathMultyLine extends BlockMd {
workaround
(
mathText
),
textDirection:
textDirection
,
style:
style
?.
copyWith
(
color:
(!
kDebugMode
)?
null
:
Theme
.
of
(
context
).
colorScheme
.
error
)
??
TextStyle
(
color:
(!
kDebugMode
)?
null
:
Theme
.
of
(
context
).
colorScheme
.
error
),
color:
(!
kDebugMode
)
?
null
:
Theme
.
of
(
context
).
colorScheme
.
error
)
??
TextStyle
(
color:
(!
kDebugMode
)
?
null
:
Theme
.
of
(
context
).
colorScheme
.
error
),
);
},
);
return
builder
(
context
,
workaround
(
mathText
),
false
);
return
builder
(
context
,
workaround
(
mathText
),
false
);
}
}
...
...
@@ -652,15 +689,17 @@ class LatexMath extends InlineMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
var
p0
=
exp
.
firstMatch
(
text
.
trim
());
p0
?.
group
(
0
);
String
mathText
=
p0
?[
1
]?.
toString
()
??
""
;
var
workaround
=
latexWorkaround
??
(
String
tex
)
=>
tex
;
var
builder
=
latexBuilder
??
(
BuildContext
context
,
String
tex
,
bool
inline
)
=>
Math
.
tex
(
(
BuildContext
context
,
String
tex
,
bool
inline
)
=>
Math
.
tex
(
tex
,
textStyle:
style
?.
copyWith
(
fontFamily:
"SansSerif"
,
...
...
@@ -692,15 +731,20 @@ class LatexMath extends InlineMd {
workaround
(
mathText
),
textDirection:
textDirection
,
style:
style
?.
copyWith
(
color:
(!
kDebugMode
)?
null
:
Theme
.
of
(
context
).
colorScheme
.
error
)
??
TextStyle
(
color:
(!
kDebugMode
)?
null
:
Theme
.
of
(
context
).
colorScheme
.
error
),
color:
(!
kDebugMode
)
?
null
:
Theme
.
of
(
context
).
colorScheme
.
error
)
??
TextStyle
(
color:
(!
kDebugMode
)
?
null
:
Theme
.
of
(
context
).
colorScheme
.
error
),
);
},
);
return
WidgetSpan
(
alignment:
PlaceholderAlignment
.
baseline
,
baseline:
TextBaseline
.
alphabetic
,
child:
builder
(
context
,
workaround
(
mathText
),
true
),
child:
builder
(
context
,
workaround
(
mathText
),
true
),
);
}
}
...
...
@@ -718,8 +762,10 @@ class ItalicMd extends InlineMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
var
match
=
exp
.
firstMatch
(
text
.
trim
());
return
TextSpan
(
...
...
@@ -751,8 +797,10 @@ class ATagMd extends InlineMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
var
match
=
exp
.
firstMatch
(
text
.
trim
());
if
(
match
?[
1
]
==
null
&&
match
?[
2
]
==
null
)
{
...
...
@@ -797,8 +845,10 @@ class ImageMd extends InlineMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
var
match
=
exp
.
firstMatch
(
text
.
trim
());
double
?
height
;
...
...
@@ -850,8 +900,10 @@ class TableMd extends BlockMd {
TextDirection
textDirection
,
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
final
List
<
Map
<
int
,
String
>>
value
=
text
.
split
(
'
\n
'
)
...
...
@@ -878,10 +930,10 @@ class TableMd extends BlockMd {
}
final
controller
=
ScrollController
();
return
Scrollbar
(
controller:
controller
,
child:
SingleChildScrollView
(
controller:
controller
,
scrollDirection:
Axis
.
horizontal
,
child:
SingleChildScrollView
(
controller:
controller
,
scrollDirection:
Axis
.
horizontal
,
child:
Table
(
textDirection:
textDirection
,
defaultColumnWidth:
CustomTableColumnWidth
(),
...
...
@@ -911,7 +963,7 @@ class TableMd extends BlockMd {
data
.
trim
().
isEmpty
)
{
return
const
SizedBox
();
}
return
Center
(
child:
Padding
(
padding:
const
EdgeInsets
.
symmetric
(
...
...
@@ -958,8 +1010,10 @@ class CodeBlockMd extends BlockMd {
TextDirection
textDirection
,
final
void
Function
(
String
url
,
String
title
)?
onLinkTab
,
final
String
Function
(
String
tex
)?
latexWorkaround
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
tex
,
bool
inline
)?
latexBuilder
,
final
Widget
Function
(
BuildContext
context
,
String
name
,
String
code
)?
codeBuilder
,
)
{
String
codes
=
exp
.
firstMatch
(
text
)?[
2
]
??
""
;
String
name
=
exp
.
firstMatch
(
text
)?[
1
]
??
""
;
...
...
@@ -967,7 +1021,7 @@ class CodeBlockMd extends BlockMd {
return
Padding
(
padding:
const
EdgeInsets
.
all
(
16.0
),
child:
codeBuilder
!=
null
?
codeBuilder
(
context
,
name
,
codes
)
?
codeBuilder
(
context
,
name
,
codes
)
:
CodeField
(
name:
name
,
codes:
codes
),
);
}
...
...
gpt_markdown/pubspec.yaml
View file @
3f45273
name
:
gpt_markdown
description
:
"
The
purpose
of
this
package
is
to
render
the
response
of
ChatGPT
into
a
Flutter
app."
version
:
0.
0.12
version
:
0.
1.0
homepage
:
https://github.com/saminsohag/flutter_packages/tree/main/gpt_markdown
environment
:
...
...
Please
register
or
login
to post a comment