h1, h2, h3, h4, h5, h6 tags
This commit is contained in:
22
Scenes/Tags/h1.tscn
Normal file
22
Scenes/Tags/h1.tscn
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://gta3tqpcfrpf"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://fxad8ggthycp" path="res://Scripts/Tags/h1.gd" id="1_d7u74"]
|
||||||
|
[ext_resource type="Theme" uid="uid://bn6rbmdy60lhr" path="res://Scenes/Styles/BrowserText.tres" id="2_3j5k0"]
|
||||||
|
|
||||||
|
[node name="H1" type="VBoxContainer"]
|
||||||
|
anchors_preset = 10
|
||||||
|
anchor_right = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
script = ExtResource("1_d7u74")
|
||||||
|
|
||||||
|
[node name="RichTextLabel" type="RichTextLabel" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
focus_mode = 2
|
||||||
|
mouse_default_cursor_shape = 1
|
||||||
|
theme = ExtResource("2_3j5k0")
|
||||||
|
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||||
|
bbcode_enabled = true
|
||||||
|
text = "Placeholder"
|
||||||
|
fit_content = true
|
||||||
|
selection_enabled = true
|
||||||
22
Scenes/Tags/h2.tscn
Normal file
22
Scenes/Tags/h2.tscn
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://cgsn36srgjt8"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://bdq7nrg2l36nh" path="res://Scripts/Tags/h2.gd" id="1_vk1fi"]
|
||||||
|
[ext_resource type="Theme" uid="uid://bn6rbmdy60lhr" path="res://Scenes/Styles/BrowserText.tres" id="2_q3fx7"]
|
||||||
|
|
||||||
|
[node name="H2" type="VBoxContainer"]
|
||||||
|
anchors_preset = 10
|
||||||
|
anchor_right = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
script = ExtResource("1_vk1fi")
|
||||||
|
|
||||||
|
[node name="RichTextLabel" type="RichTextLabel" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
focus_mode = 2
|
||||||
|
mouse_default_cursor_shape = 1
|
||||||
|
theme = ExtResource("2_q3fx7")
|
||||||
|
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||||
|
bbcode_enabled = true
|
||||||
|
text = "Placeholder"
|
||||||
|
fit_content = true
|
||||||
|
selection_enabled = true
|
||||||
22
Scenes/Tags/h3.tscn
Normal file
22
Scenes/Tags/h3.tscn
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://di6midc3a0ddy"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://cnlm4o4aul6um" path="res://Scripts/Tags/h3.gd" id="1_chgqi"]
|
||||||
|
[ext_resource type="Theme" uid="uid://bn6rbmdy60lhr" path="res://Scenes/Styles/BrowserText.tres" id="2_qca7w"]
|
||||||
|
|
||||||
|
[node name="H3" type="VBoxContainer"]
|
||||||
|
anchors_preset = 10
|
||||||
|
anchor_right = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
script = ExtResource("1_chgqi")
|
||||||
|
|
||||||
|
[node name="RichTextLabel" type="RichTextLabel" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
focus_mode = 2
|
||||||
|
mouse_default_cursor_shape = 1
|
||||||
|
theme = ExtResource("2_qca7w")
|
||||||
|
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||||
|
bbcode_enabled = true
|
||||||
|
text = "Placeholder"
|
||||||
|
fit_content = true
|
||||||
|
selection_enabled = true
|
||||||
22
Scenes/Tags/h4.tscn
Normal file
22
Scenes/Tags/h4.tscn
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://di4rd8y76rwrq"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://j68a278yusxa" path="res://Scripts/Tags/h4.gd" id="1_jrcwo"]
|
||||||
|
[ext_resource type="Theme" uid="uid://bn6rbmdy60lhr" path="res://Scenes/Styles/BrowserText.tres" id="2_t8dmp"]
|
||||||
|
|
||||||
|
[node name="H4" type="VBoxContainer"]
|
||||||
|
anchors_preset = 10
|
||||||
|
anchor_right = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
script = ExtResource("1_jrcwo")
|
||||||
|
|
||||||
|
[node name="RichTextLabel" type="RichTextLabel" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
focus_mode = 2
|
||||||
|
mouse_default_cursor_shape = 1
|
||||||
|
theme = ExtResource("2_t8dmp")
|
||||||
|
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||||
|
bbcode_enabled = true
|
||||||
|
text = "Placeholder"
|
||||||
|
fit_content = true
|
||||||
|
selection_enabled = true
|
||||||
22
Scenes/Tags/h5.tscn
Normal file
22
Scenes/Tags/h5.tscn
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://2rirrb0genlv"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://648taty6aixn" path="res://Scripts/Tags/h5.gd" id="1_02y7j"]
|
||||||
|
[ext_resource type="Theme" uid="uid://bn6rbmdy60lhr" path="res://Scenes/Styles/BrowserText.tres" id="2_msjhe"]
|
||||||
|
|
||||||
|
[node name="H5" type="VBoxContainer"]
|
||||||
|
anchors_preset = 10
|
||||||
|
anchor_right = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
script = ExtResource("1_02y7j")
|
||||||
|
|
||||||
|
[node name="RichTextLabel" type="RichTextLabel" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
focus_mode = 2
|
||||||
|
mouse_default_cursor_shape = 1
|
||||||
|
theme = ExtResource("2_msjhe")
|
||||||
|
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||||
|
bbcode_enabled = true
|
||||||
|
text = "Placeholder"
|
||||||
|
fit_content = true
|
||||||
|
selection_enabled = true
|
||||||
22
Scenes/Tags/h6.tscn
Normal file
22
Scenes/Tags/h6.tscn
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://bc0gy4dxuaaii"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://tv6sv6og67q6" path="res://Scripts/Tags/h6.gd" id="1_eqyqa"]
|
||||||
|
[ext_resource type="Theme" uid="uid://bn6rbmdy60lhr" path="res://Scenes/Styles/BrowserText.tres" id="2_4427h"]
|
||||||
|
|
||||||
|
[node name="H6" type="VBoxContainer"]
|
||||||
|
anchors_preset = 10
|
||||||
|
anchor_right = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
script = ExtResource("1_eqyqa")
|
||||||
|
|
||||||
|
[node name="RichTextLabel" type="RichTextLabel" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
focus_mode = 2
|
||||||
|
mouse_default_cursor_shape = 1
|
||||||
|
theme = ExtResource("2_4427h")
|
||||||
|
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||||
|
bbcode_enabled = true
|
||||||
|
text = "Placeholder"
|
||||||
|
fit_content = true
|
||||||
|
selection_enabled = true
|
||||||
@@ -81,6 +81,9 @@ class HTMLElement:
|
|||||||
func is_inline_element() -> bool:
|
func is_inline_element() -> bool:
|
||||||
return tag_name in ["b", "i", "u", "small", "mark", "code", "span", "a"]
|
return tag_name in ["b", "i", "u", "small", "mark", "code", "span", "a"]
|
||||||
|
|
||||||
|
func is_heading_element() -> bool:
|
||||||
|
return tag_name in ["h1", "h2", "h3", "h4", "h5", "h6"]
|
||||||
|
|
||||||
class ParseResult:
|
class ParseResult:
|
||||||
var root: HTMLElement
|
var root: HTMLElement
|
||||||
var all_elements: Array[HTMLElement] = []
|
var all_elements: Array[HTMLElement] = []
|
||||||
|
|||||||
7
Scripts/Tags/h1.gd
Normal file
7
Scripts/Tags/h1.gd
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var rich_text_label: RichTextLabel = $RichTextLabel
|
||||||
|
|
||||||
|
func init(element: HTMLParser.HTMLElement) -> void:
|
||||||
|
var label: RichTextLabel = $RichTextLabel
|
||||||
|
label.text = "[font_size=48][b]%s[/b][/font_size]" % element.get_bbcode_formatted_text()
|
||||||
1
Scripts/Tags/h1.gd.uid
Normal file
1
Scripts/Tags/h1.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://fxad8ggthycp
|
||||||
7
Scripts/Tags/h2.gd
Normal file
7
Scripts/Tags/h2.gd
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var rich_text_label: RichTextLabel = $RichTextLabel
|
||||||
|
|
||||||
|
func init(element: HTMLParser.HTMLElement) -> void:
|
||||||
|
var label: RichTextLabel = $RichTextLabel
|
||||||
|
label.text = "[font_size=36][b]%s[/b][/font_size]" % element.get_bbcode_formatted_text()
|
||||||
1
Scripts/Tags/h2.gd.uid
Normal file
1
Scripts/Tags/h2.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://bdq7nrg2l36nh
|
||||||
7
Scripts/Tags/h3.gd
Normal file
7
Scripts/Tags/h3.gd
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var rich_text_label: RichTextLabel = $RichTextLabel
|
||||||
|
|
||||||
|
func init(element: HTMLParser.HTMLElement) -> void:
|
||||||
|
var label: RichTextLabel = $RichTextLabel
|
||||||
|
label.text = "[font_size=28][b]%s[/b][/font_size]" % element.get_bbcode_formatted_text()
|
||||||
1
Scripts/Tags/h3.gd.uid
Normal file
1
Scripts/Tags/h3.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://cnlm4o4aul6um
|
||||||
7
Scripts/Tags/h4.gd
Normal file
7
Scripts/Tags/h4.gd
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var rich_text_label: RichTextLabel = $RichTextLabel
|
||||||
|
|
||||||
|
func init(element: HTMLParser.HTMLElement) -> void:
|
||||||
|
var label: RichTextLabel = $RichTextLabel
|
||||||
|
label.text = "[font_size=24][b]%s[/b][/font_size]" % element.get_bbcode_formatted_text()
|
||||||
1
Scripts/Tags/h4.gd.uid
Normal file
1
Scripts/Tags/h4.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://j68a278yusxa
|
||||||
7
Scripts/Tags/h5.gd
Normal file
7
Scripts/Tags/h5.gd
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var rich_text_label: RichTextLabel = $RichTextLabel
|
||||||
|
|
||||||
|
func init(element: HTMLParser.HTMLElement) -> void:
|
||||||
|
var label: RichTextLabel = $RichTextLabel
|
||||||
|
label.text = "[font_size=20][b]%s[/b][/font_size]" % element.get_bbcode_formatted_text()
|
||||||
1
Scripts/Tags/h5.gd.uid
Normal file
1
Scripts/Tags/h5.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://648taty6aixn
|
||||||
7
Scripts/Tags/h6.gd
Normal file
7
Scripts/Tags/h6.gd
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var rich_text_label: RichTextLabel = $RichTextLabel
|
||||||
|
|
||||||
|
func init(element: HTMLParser.HTMLElement) -> void:
|
||||||
|
var label: RichTextLabel = $RichTextLabel
|
||||||
|
label.text = "[font_size=16][b]%s[/b][/font_size]" % element.get_bbcode_formatted_text()
|
||||||
1
Scripts/Tags/h6.gd.uid
Normal file
1
Scripts/Tags/h6.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://tv6sv6og67q6
|
||||||
@@ -13,6 +13,12 @@ const SEPARATOR = preload("res://Scenes/Tags/separator.tscn")
|
|||||||
const PRE = preload("res://Scenes/Tags/pre.tscn")
|
const PRE = preload("res://Scenes/Tags/pre.tscn")
|
||||||
const BR = preload("res://Scenes/Tags/br.tscn")
|
const BR = preload("res://Scenes/Tags/br.tscn")
|
||||||
const SPAN = preload("res://Scenes/Tags/span.tscn")
|
const SPAN = preload("res://Scenes/Tags/span.tscn")
|
||||||
|
const H1 = preload("res://Scenes/Tags/h1.tscn")
|
||||||
|
const H2 = preload("res://Scenes/Tags/h2.tscn")
|
||||||
|
const H3 = preload("res://Scenes/Tags/h3.tscn")
|
||||||
|
const H4 = preload("res://Scenes/Tags/h4.tscn")
|
||||||
|
const H5 = preload("res://Scenes/Tags/h5.tscn")
|
||||||
|
const H6 = preload("res://Scenes/Tags/h6.tscn")
|
||||||
|
|
||||||
func render():
|
func render():
|
||||||
# Clear existing content
|
# Clear existing content
|
||||||
@@ -31,6 +37,13 @@ func render():
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
<h1>Header 1</h1>
|
||||||
|
<h2>Header 2</h2>
|
||||||
|
<h3>Header 3</h3>
|
||||||
|
<h4>Header 4</h4>
|
||||||
|
<h5>Header 5</h5>
|
||||||
|
<h6>Header 6</h6>
|
||||||
|
|
||||||
<p>Hey there! this is a test</p>
|
<p>Hey there! this is a test</p>
|
||||||
<b>This is bold</b>
|
<b>This is bold</b>
|
||||||
<i>This is italic <mark>actually, and it's pretty <u>cool</u></mark></i>
|
<i>This is italic <mark>actually, and it's pretty <u>cool</u></mark></i>
|
||||||
@@ -111,6 +124,42 @@ line breaks
|
|||||||
website_container.add_child(p)
|
website_container.add_child(p)
|
||||||
if contains_hyperlink(element):
|
if contains_hyperlink(element):
|
||||||
p.rich_text_label.meta_clicked.connect(func(meta): OS.shell_open(str(meta)))
|
p.rich_text_label.meta_clicked.connect(func(meta): OS.shell_open(str(meta)))
|
||||||
|
"h1":
|
||||||
|
var h1 = H1.instantiate()
|
||||||
|
h1.init(element)
|
||||||
|
website_container.add_child(h1)
|
||||||
|
if contains_hyperlink(element):
|
||||||
|
h1.rich_text_label.meta_clicked.connect(func(meta): OS.shell_open(str(meta)))
|
||||||
|
"h2":
|
||||||
|
var h2 = H2.instantiate()
|
||||||
|
h2.init(element)
|
||||||
|
website_container.add_child(h2)
|
||||||
|
if contains_hyperlink(element):
|
||||||
|
h2.rich_text_label.meta_clicked.connect(func(meta): OS.shell_open(str(meta)))
|
||||||
|
"h3":
|
||||||
|
var h3 = H3.instantiate()
|
||||||
|
h3.init(element)
|
||||||
|
website_container.add_child(h3)
|
||||||
|
if contains_hyperlink(element):
|
||||||
|
h3.rich_text_label.meta_clicked.connect(func(meta): OS.shell_open(str(meta)))
|
||||||
|
"h4":
|
||||||
|
var h4 = H4.instantiate()
|
||||||
|
h4.init(element)
|
||||||
|
website_container.add_child(h4)
|
||||||
|
if contains_hyperlink(element):
|
||||||
|
h4.rich_text_label.meta_clicked.connect(func(meta): OS.shell_open(str(meta)))
|
||||||
|
"h5":
|
||||||
|
var h5 = H5.instantiate()
|
||||||
|
h5.init(element)
|
||||||
|
website_container.add_child(h5)
|
||||||
|
if contains_hyperlink(element):
|
||||||
|
h5.rich_text_label.meta_clicked.connect(func(meta): OS.shell_open(str(meta)))
|
||||||
|
"h6":
|
||||||
|
var h6 = H6.instantiate()
|
||||||
|
h6.init(element)
|
||||||
|
website_container.add_child(h6)
|
||||||
|
if contains_hyperlink(element):
|
||||||
|
h6.rich_text_label.meta_clicked.connect(func(meta): OS.shell_open(str(meta)))
|
||||||
"pre":
|
"pre":
|
||||||
var pre = PRE.instantiate()
|
var pre = PRE.instantiate()
|
||||||
pre.init(element)
|
pre.init(element)
|
||||||
|
|||||||
BIN
godotgif/bin/~godotgif.windows.template_debug.x86_64.dll
Normal file
BIN
godotgif/bin/~godotgif.windows.template_debug.x86_64.dll
Normal file
Binary file not shown.
Reference in New Issue
Block a user