diff --git a/doc/classes/AABB.xml b/doc/classes/AABB.xml
index caf2642f0..9d7e9fd3a 100644
--- a/doc/classes/AABB.xml
+++ b/doc/classes/AABB.xml
@@ -9,9 +9,9 @@
[b]Note:[/b] Unlike [Rect2], [AABB] does not have a variant that uses integer coordinates.
- $DOCS_URL/tutorials/math/index.html
- $DOCS_URL/tutorials/math/vector_math.html
- $DOCS_URL/tutorials/math/vectors_advanced.html
+ $DOCS_URL/tutorials/math/index.md
+ $DOCS_URL/tutorials/math/vector_math.md
+ $DOCS_URL/tutorials/math/vectors_advanced.md
diff --git a/doc/classes/AnimatedSprite.xml b/doc/classes/AnimatedSprite.xml
index cef839723..840d079c1 100644
--- a/doc/classes/AnimatedSprite.xml
+++ b/doc/classes/AnimatedSprite.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] You can associate a set of normal maps by creating additional animations with a [code]_normal[/code] suffix. For example, having 2 animations [code]run[/code] and [code]run_normal[/code] will make it so the [code]run[/code] animation uses the normal map.
- $DOCS_URL/tutorials/2d/2d_sprite_animation.html
+ $DOCS_URL/tutorials/2d/2d_sprite_animation.md
https://godotengine.org/asset-library/asset/515
diff --git a/doc/classes/AnimatedSprite3D.xml b/doc/classes/AnimatedSprite3D.xml
index 49e941b4e..6e9c32047 100644
--- a/doc/classes/AnimatedSprite3D.xml
+++ b/doc/classes/AnimatedSprite3D.xml
@@ -7,7 +7,7 @@
Animations are created using a [SpriteFrames] resource, which can be configured in the editor via the SpriteFrames panel.
- $DOCS_URL/tutorials/2d/2d_sprite_animation.html
+ $DOCS_URL/tutorials/2d/2d_sprite_animation.md
diff --git a/doc/classes/Animation.xml b/doc/classes/Animation.xml
index ed2ab8052..3de4d6969 100644
--- a/doc/classes/Animation.xml
+++ b/doc/classes/Animation.xml
@@ -17,7 +17,7 @@
Animations are just data containers, and must be added to nodes such as an [AnimationPlayer] or [AnimationTreePlayer] to be played back. Animation tracks have different types, each with its own set of dedicated methods. Check [enum TrackType] to see available types.
- $DOCS_URL/tutorials/animation/index.html
+ $DOCS_URL/tutorials/animation/index.md
diff --git a/doc/classes/AnimationNode.xml b/doc/classes/AnimationNode.xml
index b3715fd70..89b3c510c 100644
--- a/doc/classes/AnimationNode.xml
+++ b/doc/classes/AnimationNode.xml
@@ -8,7 +8,7 @@
Inherit this when creating nodes mainly for use in [AnimationNodeBlendTree], otherwise [AnimationRootNode] should be used instead.
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
diff --git a/doc/classes/AnimationNodeAdd2.xml b/doc/classes/AnimationNodeAdd2.xml
index 8981156f7..e4783b88b 100644
--- a/doc/classes/AnimationNodeAdd2.xml
+++ b/doc/classes/AnimationNodeAdd2.xml
@@ -7,7 +7,7 @@
A resource to add to an [AnimationNodeBlendTree]. Blends two animations additively based on an amount value in the [code][0.0, 1.0][/code] range.
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
diff --git a/doc/classes/AnimationNodeAdd3.xml b/doc/classes/AnimationNodeAdd3.xml
index da508a31f..7de7d1735 100644
--- a/doc/classes/AnimationNodeAdd3.xml
+++ b/doc/classes/AnimationNodeAdd3.xml
@@ -11,7 +11,7 @@
- A +add animation to blend with when the blend amount is in the [code][0.0, 1.0][/code] range
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/AnimationNodeAnimation.xml b/doc/classes/AnimationNodeAnimation.xml
index b76012f1a..76d39eb89 100644
--- a/doc/classes/AnimationNodeAnimation.xml
+++ b/doc/classes/AnimationNodeAnimation.xml
@@ -7,7 +7,7 @@
A resource to add to an [AnimationNodeBlendTree]. Only features one output set using the [member animation] property. Use it as an input for [AnimationNode] that blend animations together.
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
https://godotengine.org/asset-library/asset/125
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/AnimationNodeBlend2.xml b/doc/classes/AnimationNodeBlend2.xml
index e22d9506a..e433b7f93 100644
--- a/doc/classes/AnimationNodeBlend2.xml
+++ b/doc/classes/AnimationNodeBlend2.xml
@@ -7,7 +7,7 @@
A resource to add to an [AnimationNodeBlendTree]. Blends two animations linearly based on an amount value in the [code][0.0, 1.0][/code] range.
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
https://godotengine.org/asset-library/asset/125
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/AnimationNodeBlend3.xml b/doc/classes/AnimationNodeBlend3.xml
index afdb30480..3b29141b7 100644
--- a/doc/classes/AnimationNodeBlend3.xml
+++ b/doc/classes/AnimationNodeBlend3.xml
@@ -11,7 +11,7 @@
- A +blend animation to blend with when the blend amount is in the [code][0.0, 1.0][/code] range
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
diff --git a/doc/classes/AnimationNodeBlendSpace1D.xml b/doc/classes/AnimationNodeBlendSpace1D.xml
index 4b339e794..578c800e3 100644
--- a/doc/classes/AnimationNodeBlendSpace1D.xml
+++ b/doc/classes/AnimationNodeBlendSpace1D.xml
@@ -10,7 +10,7 @@
You can set the extents of the axis using the [member min_space] and [member max_space].
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
diff --git a/doc/classes/AnimationNodeBlendSpace2D.xml b/doc/classes/AnimationNodeBlendSpace2D.xml
index 5965459b5..bd5be84b9 100644
--- a/doc/classes/AnimationNodeBlendSpace2D.xml
+++ b/doc/classes/AnimationNodeBlendSpace2D.xml
@@ -9,7 +9,7 @@
You can add vertices to the blend space with [method add_blend_point] and automatically triangulate it by setting [member auto_triangles] to [code]true[/code]. Otherwise, use [method add_triangle] and [method remove_triangle] to create up the blend space by hand.
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/AnimationNodeBlendTree.xml b/doc/classes/AnimationNodeBlendTree.xml
index 973f0d8e5..b4aad877d 100644
--- a/doc/classes/AnimationNodeBlendTree.xml
+++ b/doc/classes/AnimationNodeBlendTree.xml
@@ -8,7 +8,7 @@
An [AnimationNodeOutput] node named [code]output[/code] is created by default.
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
diff --git a/doc/classes/AnimationNodeOneShot.xml b/doc/classes/AnimationNodeOneShot.xml
index 8f3b58011..a340c6d1a 100644
--- a/doc/classes/AnimationNodeOneShot.xml
+++ b/doc/classes/AnimationNodeOneShot.xml
@@ -7,7 +7,7 @@
A resource to add to an [AnimationNodeBlendTree]. This node will execute a sub-animation and return once it finishes. Blend times for fading in and out can be customized, as well as filters.
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/AnimationNodeOutput.xml b/doc/classes/AnimationNodeOutput.xml
index f9205f756..caee93d99 100644
--- a/doc/classes/AnimationNodeOutput.xml
+++ b/doc/classes/AnimationNodeOutput.xml
@@ -6,7 +6,7 @@
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
https://godotengine.org/asset-library/asset/125
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/AnimationNodeStateMachine.xml b/doc/classes/AnimationNodeStateMachine.xml
index bebaa17ca..6c2e1fd31 100644
--- a/doc/classes/AnimationNodeStateMachine.xml
+++ b/doc/classes/AnimationNodeStateMachine.xml
@@ -12,7 +12,7 @@
[/codeblock]
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
diff --git a/doc/classes/AnimationNodeStateMachinePlayback.xml b/doc/classes/AnimationNodeStateMachinePlayback.xml
index 9f1d1aa1e..9755a4d43 100644
--- a/doc/classes/AnimationNodeStateMachinePlayback.xml
+++ b/doc/classes/AnimationNodeStateMachinePlayback.xml
@@ -12,7 +12,7 @@
[/codeblock]
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
diff --git a/doc/classes/AnimationNodeStateMachineTransition.xml b/doc/classes/AnimationNodeStateMachineTransition.xml
index c8d7a630c..f81a175f0 100644
--- a/doc/classes/AnimationNodeStateMachineTransition.xml
+++ b/doc/classes/AnimationNodeStateMachineTransition.xml
@@ -5,7 +5,7 @@
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
diff --git a/doc/classes/AnimationNodeTimeScale.xml b/doc/classes/AnimationNodeTimeScale.xml
index 0feab8e33..8ac2ad298 100644
--- a/doc/classes/AnimationNodeTimeScale.xml
+++ b/doc/classes/AnimationNodeTimeScale.xml
@@ -7,7 +7,7 @@
Allows scaling the speed of the animation (or reversing it) in any children nodes. Setting it to 0 will pause the animation.
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
https://godotengine.org/asset-library/asset/125
diff --git a/doc/classes/AnimationNodeTimeSeek.xml b/doc/classes/AnimationNodeTimeSeek.xml
index 454e1b60b..316742c98 100644
--- a/doc/classes/AnimationNodeTimeSeek.xml
+++ b/doc/classes/AnimationNodeTimeSeek.xml
@@ -18,7 +18,7 @@
[/codeblock]
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
diff --git a/doc/classes/AnimationNodeTransition.xml b/doc/classes/AnimationNodeTransition.xml
index a0275fc82..45c0ba5af 100644
--- a/doc/classes/AnimationNodeTransition.xml
+++ b/doc/classes/AnimationNodeTransition.xml
@@ -7,7 +7,7 @@
Simple state machine for cases which don't require a more advanced [AnimationNodeStateMachine]. Animations can be connected to the inputs and transition times can be specified.
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
https://godotengine.org/asset-library/asset/125
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/AnimationPlayer.xml b/doc/classes/AnimationPlayer.xml
index 5e8d259e6..4e07ca616 100644
--- a/doc/classes/AnimationPlayer.xml
+++ b/doc/classes/AnimationPlayer.xml
@@ -9,8 +9,8 @@
Updating the target properties of animations occurs at process time.
- $DOCS_URL/tutorials/animation/index.html
- $DOCS_URL/tutorials/2d/2d_sprite_animation.html
+ $DOCS_URL/tutorials/animation/index.md
+ $DOCS_URL/tutorials/2d/2d_sprite_animation.md
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/AnimationTree.xml b/doc/classes/AnimationTree.xml
index d155e8e80..0db64f64b 100644
--- a/doc/classes/AnimationTree.xml
+++ b/doc/classes/AnimationTree.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] When linked with an [AnimationPlayer], several properties and methods of the corresponding [AnimationPlayer] will not function as expected. Playback and transitions should be handled using only the [AnimationTree] and its constituent [AnimationNode](s). The [AnimationPlayer] node should be used solely for adding, deleting, and editing animations.
- $DOCS_URL/tutorials/animation/animation_tree.html
+ $DOCS_URL/tutorials/animation/animation_tree.md
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml
index 13e33e830..c673a25db 100644
--- a/doc/classes/Area2D.xml
+++ b/doc/classes/Area2D.xml
@@ -9,7 +9,7 @@
[b]Warning:[/b] See [ConcavePolygonShape2D] for a warning about possibly unexpected behavior when using that shape for an area.
- $DOCS_URL/tutorials/physics/using_area_2d.html
+ $DOCS_URL/tutorials/physics/using_area_2d.md
https://godotengine.org/asset-library/asset/515
https://godotengine.org/asset-library/asset/121
https://godotengine.org/asset-library/asset/120
diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml
index 68152f79e..1fe9b4f73 100644
--- a/doc/classes/ArrayMesh.xml
+++ b/doc/classes/ArrayMesh.xml
@@ -26,7 +26,7 @@
[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-OpenGL/Face-culling]winding order[/url] for front faces of triangle primitive modes.
- $DOCS_URL/tutorials/3d/procedural_geometry/arraymesh.html
+ $DOCS_URL/tutorials/3d/procedural_geometry/arraymesh.md
diff --git a/doc/classes/AspectRatioContainer.xml b/doc/classes/AspectRatioContainer.xml
index 973ec0330..639503a97 100644
--- a/doc/classes/AspectRatioContainer.xml
+++ b/doc/classes/AspectRatioContainer.xml
@@ -7,7 +7,7 @@
Arranges child controls in a way to preserve their aspect ratio automatically whenever the container is resized. Solves the problem where the container size is dynamic and the contents' size needs to adjust accordingly without losing proportions.
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
diff --git a/doc/classes/AudioEffectCapture.xml b/doc/classes/AudioEffectCapture.xml
index ad26ad1ac..3e9a0ac71 100644
--- a/doc/classes/AudioEffectCapture.xml
+++ b/doc/classes/AudioEffectCapture.xml
@@ -9,8 +9,8 @@
[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be [code]true[/code] for audio input to work. See also that setting's description for caveats related to permissions and operating system privacy settings.
- $DOCS_URL/tutorials/audio/audio_buses.html
- https://github.com/godotengine/godot-demo-projects/tree/master/audio/mic_record
+ $DOCS_URL/tutorials/audio/audio_buses.md
+ https://github.com/Relintai/pandemonium_demo_projects/tree/master/audio/mic_record
diff --git a/doc/classes/AudioEffectDistortion.xml b/doc/classes/AudioEffectDistortion.xml
index 8efaa3503..05c3df04c 100644
--- a/doc/classes/AudioEffectDistortion.xml
+++ b/doc/classes/AudioEffectDistortion.xml
@@ -9,7 +9,7 @@
By distorting the waveform the frequency content change, which will often make the sound "crunchy" or "abrasive". For games, it can simulate sound coming from some saturated device or speaker very efficiently.
- $DOCS_URL/tutorials/audio/audio_buses.html
+ $DOCS_URL/tutorials/audio/audio_buses.md
diff --git a/doc/classes/AudioEffectFilter.xml b/doc/classes/AudioEffectFilter.xml
index 288f03896..c7abf200d 100644
--- a/doc/classes/AudioEffectFilter.xml
+++ b/doc/classes/AudioEffectFilter.xml
@@ -7,7 +7,7 @@
Allows frequencies other than the [member cutoff_hz] to pass.
- $DOCS_URL/tutorials/audio/audio_buses.html
+ $DOCS_URL/tutorials/audio/audio_buses.md
diff --git a/doc/classes/AudioEffectHighShelfFilter.xml b/doc/classes/AudioEffectHighShelfFilter.xml
index 8b1a02b65..3ea9e0bf4 100644
--- a/doc/classes/AudioEffectHighShelfFilter.xml
+++ b/doc/classes/AudioEffectHighShelfFilter.xml
@@ -6,7 +6,7 @@
- $DOCS_URL/tutorials/audio/audio_buses.html
+ $DOCS_URL/tutorials/audio/audio_buses.md
diff --git a/doc/classes/AudioEffectLowShelfFilter.xml b/doc/classes/AudioEffectLowShelfFilter.xml
index effe7cf05..e78706a39 100644
--- a/doc/classes/AudioEffectLowShelfFilter.xml
+++ b/doc/classes/AudioEffectLowShelfFilter.xml
@@ -6,7 +6,7 @@
- $DOCS_URL/tutorials/audio/audio_buses.html
+ $DOCS_URL/tutorials/audio/audio_buses.md
diff --git a/doc/classes/AudioEffectRecord.xml b/doc/classes/AudioEffectRecord.xml
index c72ff9952..951bd9f71 100644
--- a/doc/classes/AudioEffectRecord.xml
+++ b/doc/classes/AudioEffectRecord.xml
@@ -9,7 +9,7 @@
It sets and gets the format in which the audio file will be recorded (8-bit, 16-bit, or compressed). It checks whether or not the recording is active, and if it is, records the sound. It then returns the recorded sample.
- $DOCS_URL/tutorials/audio/recording_with_microphone.html
+ $DOCS_URL/tutorials/audio/recording_with_microphone.md
https://godotengine.org/asset-library/asset/527
diff --git a/doc/classes/AudioServer.xml b/doc/classes/AudioServer.xml
index 28c78bade..aacd5ef27 100644
--- a/doc/classes/AudioServer.xml
+++ b/doc/classes/AudioServer.xml
@@ -7,7 +7,7 @@
[AudioServer] is a low-level server interface for audio access. It is in charge of creating sample data (playable audio) as well as its playback via a voice interface.
- $DOCS_URL/tutorials/audio/audio_buses.html
+ $DOCS_URL/tutorials/audio/audio_buses.md
https://godotengine.org/asset-library/asset/525
https://godotengine.org/asset-library/asset/527
https://godotengine.org/asset-library/asset/528
diff --git a/doc/classes/AudioStream.xml b/doc/classes/AudioStream.xml
index 153eb5737..a5d58634b 100644
--- a/doc/classes/AudioStream.xml
+++ b/doc/classes/AudioStream.xml
@@ -7,7 +7,7 @@
Base class for audio streams. Audio streams are used for sound effects and music playback, and support WAV (via [AudioStreamSample]) and OGG (via [AudioStreamOGGVorbis]) file formats.
- $DOCS_URL/tutorials/audio/audio_streams.html
+ $DOCS_URL/tutorials/audio/audio_streams.md
https://godotengine.org/asset-library/asset/526
https://godotengine.org/asset-library/asset/527
https://godotengine.org/asset-library/asset/528
diff --git a/doc/classes/AudioStreamMicrophone.xml b/doc/classes/AudioStreamMicrophone.xml
index e92281710..1b57e96a1 100644
--- a/doc/classes/AudioStreamMicrophone.xml
+++ b/doc/classes/AudioStreamMicrophone.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be [code]true[/code] for audio input to work. See also that setting's description for caveats related to permissions and operating system privacy settings.
- https://github.com/godotengine/godot-demo-projects/tree/master/audio/mic_record
+ https://github.com/Relintai/pandemonium_demo_projects/tree/master/audio/mic_record
diff --git a/doc/classes/AudioStreamPlayer.xml b/doc/classes/AudioStreamPlayer.xml
index 2dc417a1a..29a908e31 100644
--- a/doc/classes/AudioStreamPlayer.xml
+++ b/doc/classes/AudioStreamPlayer.xml
@@ -8,7 +8,7 @@
To play audio positionally, use [AudioStreamPlayer2D] or [AudioStreamPlayer3D] instead of [AudioStreamPlayer].
- $DOCS_URL/tutorials/audio/audio_streams.html
+ $DOCS_URL/tutorials/audio/audio_streams.md
https://godotengine.org/asset-library/asset/515
https://godotengine.org/asset-library/asset/525
https://godotengine.org/asset-library/asset/526
diff --git a/doc/classes/AudioStreamPlayer2D.xml b/doc/classes/AudioStreamPlayer2D.xml
index 2a75206bf..4efbb0b7a 100644
--- a/doc/classes/AudioStreamPlayer2D.xml
+++ b/doc/classes/AudioStreamPlayer2D.xml
@@ -10,7 +10,7 @@
[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set [member volume_db] to a very low value like [code]-100[/code] (which isn't audible to human hearing).
- $DOCS_URL/tutorials/audio/audio_streams.html
+ $DOCS_URL/tutorials/audio/audio_streams.md
diff --git a/doc/classes/AudioStreamPlayer3D.xml b/doc/classes/AudioStreamPlayer3D.xml
index 33fe20b9a..26dfaff27 100644
--- a/doc/classes/AudioStreamPlayer3D.xml
+++ b/doc/classes/AudioStreamPlayer3D.xml
@@ -10,7 +10,7 @@
[b]Note:[/b] Hiding an [AudioStreamPlayer3D] node does not disable its audio output. To temporarily disable an [AudioStreamPlayer3D]'s audio output, set [member unit_db] to a very low value like [code]-100[/code] (which isn't audible to human hearing).
- $DOCS_URL/tutorials/audio/audio_streams.html
+ $DOCS_URL/tutorials/audio/audio_streams.md
diff --git a/doc/classes/Basis.xml b/doc/classes/Basis.xml
index b96f956b8..adf0d2bf9 100644
--- a/doc/classes/Basis.xml
+++ b/doc/classes/Basis.xml
@@ -10,9 +10,9 @@
For more information, read the "Matrices and transforms" documentation article.
- $DOCS_URL/tutorials/math/index.html
- $DOCS_URL/tutorials/math/matrices_and_transforms.html
- $DOCS_URL/tutorials/3d/using_transforms.html
+ $DOCS_URL/tutorials/math/index.md
+ $DOCS_URL/tutorials/math/matrices_and_transforms.md
+ $DOCS_URL/tutorials/3d/using_transforms.md
https://godotengine.org/asset-library/asset/584
https://godotengine.org/asset-library/asset/125
https://godotengine.org/asset-library/asset/676
diff --git a/doc/classes/BoxContainer.xml b/doc/classes/BoxContainer.xml
index ec7a514d5..26b3bf2d9 100644
--- a/doc/classes/BoxContainer.xml
+++ b/doc/classes/BoxContainer.xml
@@ -7,7 +7,7 @@
Arranges child controls vertically or horizontally, and rearranges the controls automatically when their minimum size changes.
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml
index e839f366c..0c4b274b9 100644
--- a/doc/classes/CPUParticles2D.xml
+++ b/doc/classes/CPUParticles2D.xml
@@ -9,7 +9,7 @@
[b]Note:[/b] Unlike [Particles2D], the visibility rect is generated on-the-fly and doesn't need to be configured by the user.
- $DOCS_URL/tutorials/2d/particle_systems_2d.html
+ $DOCS_URL/tutorials/2d/particle_systems_2d.md
diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml
index 40310d303..770506556 100644
--- a/doc/classes/CanvasItem.xml
+++ b/doc/classes/CanvasItem.xml
@@ -12,8 +12,8 @@
[b]Note:[/b] Unless otherwise specified, all methods that have angle parameters must have angles specified as [i]radians[/i]. To convert degrees to radians, use [method @GDScript.deg2rad].
- $DOCS_URL/tutorials/2d/2d_transforms.html
- $DOCS_URL/tutorials/2d/custom_drawing_in_2d.html
+ $DOCS_URL/tutorials/2d/2d_transforms.md
+ $DOCS_URL/tutorials/2d/custom_drawing_in_2d.md
https://godotengine.org/asset-library/asset/528
diff --git a/doc/classes/CanvasLayer.xml b/doc/classes/CanvasLayer.xml
index 05b38534f..d46bb2c66 100644
--- a/doc/classes/CanvasLayer.xml
+++ b/doc/classes/CanvasLayer.xml
@@ -7,8 +7,8 @@
Canvas drawing layer. [CanvasItem] nodes that are direct or indirect children of a [CanvasLayer] will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index 0, so a [CanvasLayer] with index -1 will be drawn below, and one with index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or above), or backgrounds (in layer -1 or below).
- $DOCS_URL/tutorials/2d/2d_transforms.html
- $DOCS_URL/tutorials/2d/canvas_layers.html
+ $DOCS_URL/tutorials/2d/2d_transforms.md
+ $DOCS_URL/tutorials/2d/canvas_layers.md
https://godotengine.org/asset-library/asset/515
diff --git a/doc/classes/CenterContainer.xml b/doc/classes/CenterContainer.xml
index 979407ecf..fd72ec93b 100644
--- a/doc/classes/CenterContainer.xml
+++ b/doc/classes/CenterContainer.xml
@@ -7,7 +7,7 @@
CenterContainer keeps children controls centered. This container keeps all children to their minimum size, in the center.
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
diff --git a/doc/classes/CharFXTransform.xml b/doc/classes/CharFXTransform.xml
index db49937cb..a09e6a0c5 100644
--- a/doc/classes/CharFXTransform.xml
+++ b/doc/classes/CharFXTransform.xml
@@ -7,7 +7,7 @@
By setting various properties on this object, you can control how individual characters will be displayed in a [RichTextEffect].
- $DOCS_URL/tutorials/ui/bbcode_in_richtextlabel.html
+ $DOCS_URL/tutorials/ui/bbcode_in_richtextlabel.md
https://github.com/Eoin-ONeill-Yokai/Godot-Rich-Text-Effect-Test-Project
diff --git a/doc/classes/CollisionShape.xml b/doc/classes/CollisionShape.xml
index bfdf94d60..76006f1a7 100644
--- a/doc/classes/CollisionShape.xml
+++ b/doc/classes/CollisionShape.xml
@@ -9,7 +9,7 @@
[b]Warning:[/b] A non-uniformly scaled CollisionShape3D node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size of its [member shape] resource instead.
- $DOCS_URL/tutorials/physics/physics_introduction.html
+ $DOCS_URL/tutorials/physics/physics_introduction.md
https://godotengine.org/asset-library/asset/126
https://godotengine.org/asset-library/asset/125
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/CollisionShape2D.xml b/doc/classes/CollisionShape2D.xml
index 8158e8ed3..a43752fbd 100644
--- a/doc/classes/CollisionShape2D.xml
+++ b/doc/classes/CollisionShape2D.xml
@@ -8,7 +8,7 @@
You can use this node to represent all sorts of collision shapes, for example, add this to an [Area2D] to give it a detection shape, or add it to a [PhysicsBody2D] to create a solid object.
- $DOCS_URL/tutorials/physics/physics_introduction.html
+ $DOCS_URL/tutorials/physics/physics_introduction.md
https://godotengine.org/asset-library/asset/515
https://godotengine.org/asset-library/asset/121
https://godotengine.org/asset-library/asset/113
diff --git a/doc/classes/Container.xml b/doc/classes/Container.xml
index 44fb89770..15426c6e7 100644
--- a/doc/classes/Container.xml
+++ b/doc/classes/Container.xml
@@ -8,7 +8,7 @@
A Control can inherit this to create custom container classes.
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index 07c84115f..c028d3790 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -14,10 +14,10 @@
[b]Note:[/b] Theme items are [i]not[/i] [Object] properties. This means you can't access their values using [method Object.get] and [method Object.set]. Instead, use [method get_theme_color], [method get_theme_constant], [method get_theme_font], [method get_theme_icon], [method get_theme_stylebox], and the [code]add_*_override[/code] methods provided by this class.
- $DOCS_URL/tutorials/ui/index.html
- $DOCS_URL/tutorials/2d/custom_drawing_in_2d.html
- $DOCS_URL/tutorials/ui/control_node_gallery.html
- https://github.com/godotengine/godot-demo-projects/tree/master/gui
+ $DOCS_URL/tutorials/ui/index.md
+ $DOCS_URL/tutorials/2d/custom_drawing_in_2d.md
+ $DOCS_URL/tutorials/ui/control_node_gallery.md
+ https://github.com/Relintai/pandemonium_demo_projects/tree/master/gui
diff --git a/doc/classes/DirectionalLight.xml b/doc/classes/DirectionalLight.xml
index a13e31373..81d62f6b4 100644
--- a/doc/classes/DirectionalLight.xml
+++ b/doc/classes/DirectionalLight.xml
@@ -7,7 +7,7 @@
A directional light is a type of [Light] node that models an infinite number of parallel rays covering the entire scene. It is used for lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldspace location of the DirectionalLight transform (origin) is ignored. Only the basis is used to determine light direction.
- $DOCS_URL/tutorials/3d/lights_and_shadows.html
+ $DOCS_URL/tutorials/3d/lights_and_shadows.md
diff --git a/doc/classes/Directory.xml b/doc/classes/Directory.xml
index 2328af21f..cf0c64a4c 100644
--- a/doc/classes/Directory.xml
+++ b/doc/classes/Directory.xml
@@ -25,7 +25,7 @@
[/codeblock]
- $DOCS_URL/tutorials/scripting/filesystem.html
+ $DOCS_URL/tutorials/scripting/filesystem.md
diff --git a/doc/classes/EditorImportPlugin.xml b/doc/classes/EditorImportPlugin.xml
index f106f77db..022b64515 100644
--- a/doc/classes/EditorImportPlugin.xml
+++ b/doc/classes/EditorImportPlugin.xml
@@ -49,7 +49,7 @@
To use [EditorImportPlugin], register it using the [method EditorPlugin.add_import_plugin] method first.
- $DOCS_URL/tutorials/plugins/editor/import_plugins.html
+ $DOCS_URL/tutorials/plugins/editor/import_plugins.md
diff --git a/doc/classes/EditorInspectorPlugin.xml b/doc/classes/EditorInspectorPlugin.xml
index c4fbdc796..388c50f38 100644
--- a/doc/classes/EditorInspectorPlugin.xml
+++ b/doc/classes/EditorInspectorPlugin.xml
@@ -13,7 +13,7 @@
To use [EditorInspectorPlugin], register it using the [method EditorPlugin.add_inspector_plugin] method first.
- $DOCS_URL/tutorials/plugins/editor/inspector_plugins.html
+ $DOCS_URL/tutorials/plugins/editor/inspector_plugins.md
diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml
index 31e06fece..04f04f7b4 100644
--- a/doc/classes/EditorPlugin.xml
+++ b/doc/classes/EditorPlugin.xml
@@ -7,7 +7,7 @@
Plugins are used by the editor to extend functionality. The most common types of plugins are those which edit a given node or resource type, import plugins and export plugins. See also [EditorScript] to add functions to the editor.
- $DOCS_URL/tutorials/plugins/editor/index.html
+ $DOCS_URL/tutorials/plugins/editor/index.md
diff --git a/doc/classes/EditorSpatialGizmoPlugin.xml b/doc/classes/EditorSpatialGizmoPlugin.xml
index 6d0a2e981..03150f582 100644
--- a/doc/classes/EditorSpatialGizmoPlugin.xml
+++ b/doc/classes/EditorSpatialGizmoPlugin.xml
@@ -8,7 +8,7 @@
To use [EditorSpatialGizmoPlugin], register it using the [method EditorPlugin.add_spatial_gizmo_plugin] method first.
- $DOCS_URL/tutorials/plugins/editor/spatial_gizmos.html
+ $DOCS_URL/tutorials/plugins/editor/spatial_gizmos.md
diff --git a/doc/classes/Environment3D.xml b/doc/classes/Environment3D.xml
index 39fe28bc5..5eb7a32b6 100644
--- a/doc/classes/Environment3D.xml
+++ b/doc/classes/Environment3D.xml
@@ -16,8 +16,8 @@
Note that [member ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation] has a mobile platform override to use "3D Without Effects" by default. It improves the performance on mobile devices, but at the same time affects the screen display on mobile devices.
- $DOCS_URL/tutorials/3d/environment_and_post_processing.html
- $DOCS_URL/tutorials/3d/high_dynamic_range.html
+ $DOCS_URL/tutorials/3d/environment_and_post_processing.md
+ $DOCS_URL/tutorials/3d/high_dynamic_range.md
https://godotengine.org/asset-library/asset/123
https://godotengine.org/asset-library/asset/110
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/File.xml b/doc/classes/File.xml
index 599e884ee..82b1c5662 100644
--- a/doc/classes/File.xml
+++ b/doc/classes/File.xml
@@ -25,7 +25,7 @@
[b]Note:[/b] Files are automatically closed only if the process exits "normally" (such as by clicking the window manager's close button or pressing [b]Alt + F4[/b]). If you stop the project execution by pressing [b]F8[/b] while the project is running, the file won't be closed as the game process will be killed. You can work around this by calling [method flush] at regular intervals.
- $DOCS_URL/tutorials/scripting/filesystem.html
+ $DOCS_URL/tutorials/scripting/filesystem.md
https://godotengine.org/asset-library/asset/676
diff --git a/doc/classes/GridContainer.xml b/doc/classes/GridContainer.xml
index ef4e1210d..2a47b4a12 100644
--- a/doc/classes/GridContainer.xml
+++ b/doc/classes/GridContainer.xml
@@ -9,7 +9,7 @@
[b]Note:[/b] GridContainer only works with child nodes inheriting from Control. It won't rearrange child nodes inheriting from Node2D.
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
https://godotengine.org/asset-library/asset/677
diff --git a/doc/classes/HBoxContainer.xml b/doc/classes/HBoxContainer.xml
index 3d71d388f..346b7a93f 100644
--- a/doc/classes/HBoxContainer.xml
+++ b/doc/classes/HBoxContainer.xml
@@ -7,7 +7,7 @@
Horizontal box container. See [BoxContainer].
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
diff --git a/doc/classes/HSplitContainer.xml b/doc/classes/HSplitContainer.xml
index 04943259c..080d9a350 100644
--- a/doc/classes/HSplitContainer.xml
+++ b/doc/classes/HSplitContainer.xml
@@ -7,7 +7,7 @@
Horizontal split container. See [SplitContainer]. This goes from left to right.
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml
index 9154750d8..de5b357c9 100644
--- a/doc/classes/HTTPClient.xml
+++ b/doc/classes/HTTPClient.xml
@@ -13,8 +13,8 @@
[b]Warning:[/b] SSL/TLS certificate revocation and certificate pinning are currently not supported. Revoked certificates are accepted as long as they are otherwise valid. If this is a concern, you may want to use automatically managed certificates with a short validity period.
- $DOCS_URL/tutorials/networking/http_client_class.html
- $DOCS_URL/tutorials/networking/ssl_certificates.html
+ $DOCS_URL/tutorials/networking/http_client_class.md
+ $DOCS_URL/tutorials/networking/ssl_certificates.md
diff --git a/doc/classes/HTTPRequest.xml b/doc/classes/HTTPRequest.xml
index 2624165b0..eee7a5e6f 100644
--- a/doc/classes/HTTPRequest.xml
+++ b/doc/classes/HTTPRequest.xml
@@ -67,8 +67,8 @@
[/codeblock]
- $DOCS_URL/tutorials/networking/http_request_class.html
- $DOCS_URL/tutorials/networking/ssl_certificates.html
+ $DOCS_URL/tutorials/networking/http_request_class.md
+ $DOCS_URL/tutorials/networking/ssl_certificates.md
diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml
index b1698aca0..5c18d8023 100644
--- a/doc/classes/Image.xml
+++ b/doc/classes/Image.xml
@@ -9,7 +9,7 @@
[b]Note:[/b] The maximum image size is 16384×16384 pixels due to graphics hardware limitations. Larger images may fail to import.
- $DOCS_URL/tutorials/assets_pipeline/importing_images.html
+ $DOCS_URL/tutorials/assets_pipeline/importing_images.md
diff --git a/doc/classes/ImageTexture.xml b/doc/classes/ImageTexture.xml
index 4ae8ea4fe..2ccf3af02 100644
--- a/doc/classes/ImageTexture.xml
+++ b/doc/classes/ImageTexture.xml
@@ -28,7 +28,7 @@
[b]Note:[/b] The maximum texture size is 16384×16384 pixels due to graphics hardware limitations.
- $DOCS_URL/tutorials/assets_pipeline/importing_images.html
+ $DOCS_URL/tutorials/assets_pipeline/importing_images.md
diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml
index a871fbed7..0b4a44bbc 100644
--- a/doc/classes/Input.xml
+++ b/doc/classes/Input.xml
@@ -7,7 +7,7 @@
A singleton that deals with inputs. This includes key presses, mouse buttons and movement, joypads, and input actions. Actions and their events can be set in the [b]Input Map[/b] tab in the [b]Project > Project Settings[/b], or with the [InputMap] class.
- $DOCS_URL/tutorials/inputs/index.html
+ $DOCS_URL/tutorials/inputs/index.md
https://godotengine.org/asset-library/asset/515
https://godotengine.org/asset-library/asset/676
diff --git a/doc/classes/InputEvent.xml b/doc/classes/InputEvent.xml
index 8e4d64c9d..ad3c75288 100644
--- a/doc/classes/InputEvent.xml
+++ b/doc/classes/InputEvent.xml
@@ -7,8 +7,8 @@
Base class of all sort of input event. See [method Node._input].
- $DOCS_URL/tutorials/inputs/inputevent.html
- $DOCS_URL/tutorials/2d/2d_transforms.html
+ $DOCS_URL/tutorials/inputs/inputevent.md
+ $DOCS_URL/tutorials/2d/2d_transforms.md
https://godotengine.org/asset-library/asset/515
https://godotengine.org/asset-library/asset/676
diff --git a/doc/classes/InputEventJoypadButton.xml b/doc/classes/InputEventJoypadButton.xml
index 29b85fe86..aae10cc50 100644
--- a/doc/classes/InputEventJoypadButton.xml
+++ b/doc/classes/InputEventJoypadButton.xml
@@ -7,7 +7,7 @@
Input event type for gamepad buttons. For gamepad analog sticks and joysticks, see [InputEventJoypadMotion].
- $DOCS_URL/tutorials/inputs/inputevent.html
+ $DOCS_URL/tutorials/inputs/inputevent.md
diff --git a/doc/classes/InputEventJoypadMotion.xml b/doc/classes/InputEventJoypadMotion.xml
index 1b167824d..10724b561 100644
--- a/doc/classes/InputEventJoypadMotion.xml
+++ b/doc/classes/InputEventJoypadMotion.xml
@@ -7,7 +7,7 @@
Stores information about joystick motions. One [InputEventJoypadMotion] represents one axis at a time.
- $DOCS_URL/tutorials/inputs/inputevent.html
+ $DOCS_URL/tutorials/inputs/inputevent.md
diff --git a/doc/classes/InputEventKey.xml b/doc/classes/InputEventKey.xml
index 6bc4277bd..003ea8f20 100644
--- a/doc/classes/InputEventKey.xml
+++ b/doc/classes/InputEventKey.xml
@@ -7,7 +7,7 @@
Stores key presses on the keyboard. Supports key presses, key releases and [member echo] events.
- $DOCS_URL/tutorials/inputs/inputevent.html
+ $DOCS_URL/tutorials/inputs/inputevent.md
diff --git a/doc/classes/InputEventMouse.xml b/doc/classes/InputEventMouse.xml
index a99296269..852fb6477 100644
--- a/doc/classes/InputEventMouse.xml
+++ b/doc/classes/InputEventMouse.xml
@@ -7,7 +7,7 @@
Stores general mouse events information.
- $DOCS_URL/tutorials/inputs/inputevent.html
+ $DOCS_URL/tutorials/inputs/inputevent.md
diff --git a/doc/classes/InputEventMouseButton.xml b/doc/classes/InputEventMouseButton.xml
index 408a80753..73341a667 100644
--- a/doc/classes/InputEventMouseButton.xml
+++ b/doc/classes/InputEventMouseButton.xml
@@ -7,7 +7,7 @@
Contains mouse click information. See [method Node._input].
- $DOCS_URL/tutorials/inputs/mouse_and_input_coordinates.html
+ $DOCS_URL/tutorials/inputs/mouse_and_input_coordinates.md
diff --git a/doc/classes/InputEventMouseMotion.xml b/doc/classes/InputEventMouseMotion.xml
index 94b80afe5..5980fda26 100644
--- a/doc/classes/InputEventMouseMotion.xml
+++ b/doc/classes/InputEventMouseMotion.xml
@@ -9,7 +9,7 @@
[b]Note:[/b] If you use InputEventMouseMotion to draw lines, consider implementing [url=https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm]Bresenham's line algorithm[/url] as well to avoid visible gaps in lines if the user is moving the mouse quickly.
- $DOCS_URL/tutorials/inputs/mouse_and_input_coordinates.html
+ $DOCS_URL/tutorials/inputs/mouse_and_input_coordinates.md
https://godotengine.org/asset-library/asset/676
diff --git a/doc/classes/InputEventScreenDrag.xml b/doc/classes/InputEventScreenDrag.xml
index 667c38cea..8e375b772 100644
--- a/doc/classes/InputEventScreenDrag.xml
+++ b/doc/classes/InputEventScreenDrag.xml
@@ -7,7 +7,7 @@
Contains screen drag information. See [method Node._input].
- $DOCS_URL/tutorials/inputs/inputevent.html
+ $DOCS_URL/tutorials/inputs/inputevent.md
diff --git a/doc/classes/InputEventScreenTouch.xml b/doc/classes/InputEventScreenTouch.xml
index bc838d241..5510b507d 100644
--- a/doc/classes/InputEventScreenTouch.xml
+++ b/doc/classes/InputEventScreenTouch.xml
@@ -8,7 +8,7 @@
Stores multi-touch press/release information. Supports touch press, touch release and [member index] for multi-touch count and order.
- $DOCS_URL/tutorials/inputs/inputevent.html
+ $DOCS_URL/tutorials/inputs/inputevent.md
diff --git a/doc/classes/InputEventWithModifiers.xml b/doc/classes/InputEventWithModifiers.xml
index 199c42397..81b72d48e 100644
--- a/doc/classes/InputEventWithModifiers.xml
+++ b/doc/classes/InputEventWithModifiers.xml
@@ -7,7 +7,7 @@
Contains keys events information with modifiers support like [kbd]Shift[/kbd] or [kbd]Alt[/kbd]. See [method Node._input].
- $DOCS_URL/tutorials/inputs/inputevent.html
+ $DOCS_URL/tutorials/inputs/inputevent.md
diff --git a/doc/classes/JNISingleton.xml b/doc/classes/JNISingleton.xml
index ab34ac7aa..9760e59fa 100644
--- a/doc/classes/JNISingleton.xml
+++ b/doc/classes/JNISingleton.xml
@@ -7,7 +7,7 @@
The JNISingleton is implemented only in the Android export. It's used to call methods and connect signals from an Android plugin written in Java or Kotlin. Methods and signals can be called and connected to the JNISingleton as if it is a Node. See [url=https://en.wikipedia.org/wiki/Java_Native_Interface]Java Native Interface - Wikipedia[/url] for more information.
- $DOCS_URL/tutorials/platform/android/android_plugin.html
+ $DOCS_URL/tutorials/platform/android/android_plugin.md
diff --git a/doc/classes/KinematicBody.xml b/doc/classes/KinematicBody.xml
index 682b3ecb8..142b97d2c 100644
--- a/doc/classes/KinematicBody.xml
+++ b/doc/classes/KinematicBody.xml
@@ -10,7 +10,7 @@
[b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
- $DOCS_URL/tutorials/physics/kinematic_character_2d.html
+ $DOCS_URL/tutorials/physics/kinematic_character_2d.md
https://godotengine.org/asset-library/asset/126
https://godotengine.org/asset-library/asset/125
https://godotengine.org/asset-library/asset/676
diff --git a/doc/classes/KinematicBody2D.xml b/doc/classes/KinematicBody2D.xml
index 664168f55..40506d7af 100644
--- a/doc/classes/KinematicBody2D.xml
+++ b/doc/classes/KinematicBody2D.xml
@@ -9,8 +9,8 @@
[b]Kinematic characters:[/b] KinematicBody2D also has an API for moving objects (the [method move_and_collide] and [method move_and_slide] methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but don't require advanced physics.
- $DOCS_URL/tutorials/physics/kinematic_character_2d.html
- $DOCS_URL/tutorials/physics/using_kinematic_body_2d.html
+ $DOCS_URL/tutorials/physics/kinematic_character_2d.md
+ $DOCS_URL/tutorials/physics/using_kinematic_body_2d.md
https://godotengine.org/asset-library/asset/113
https://godotengine.org/asset-library/asset/120
diff --git a/doc/classes/Light.xml b/doc/classes/Light.xml
index be42f3e5c..a4ea6a2fc 100644
--- a/doc/classes/Light.xml
+++ b/doc/classes/Light.xml
@@ -7,7 +7,7 @@
Light is the [i]abstract[/i] base class for light nodes. As it can't be instanced, it shouldn't be used directly. Other types of light nodes inherit from it. Light contains the common variables and parameters used for lighting.
- $DOCS_URL/tutorials/3d/lights_and_shadows.html
+ $DOCS_URL/tutorials/3d/lights_and_shadows.md
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/Light2D.xml b/doc/classes/Light2D.xml
index 2b7093316..ec7c82031 100644
--- a/doc/classes/Light2D.xml
+++ b/doc/classes/Light2D.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] Light2D can also be used as a mask.
- $DOCS_URL/tutorials/2d/2d_lights_and_shadows.html
+ $DOCS_URL/tutorials/2d/2d_lights_and_shadows.md
diff --git a/doc/classes/LightOccluder2D.xml b/doc/classes/LightOccluder2D.xml
index 0aff6ff7b..57a7c286c 100644
--- a/doc/classes/LightOccluder2D.xml
+++ b/doc/classes/LightOccluder2D.xml
@@ -7,7 +7,7 @@
Occludes light cast by a Light2D, casting shadows. The LightOccluder2D must be provided with an [OccluderPolygon2D] in order for the shadow to be computed.
- $DOCS_URL/tutorials/2d/2d_lights_and_shadows.html
+ $DOCS_URL/tutorials/2d/2d_lights_and_shadows.md
diff --git a/doc/classes/MarginContainer.xml b/doc/classes/MarginContainer.xml
index f2f2ae48d..6d88abffd 100644
--- a/doc/classes/MarginContainer.xml
+++ b/doc/classes/MarginContainer.xml
@@ -16,7 +16,7 @@
[/codeblock]
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
diff --git a/doc/classes/MeshInstance2D.xml b/doc/classes/MeshInstance2D.xml
index e2a085f6b..a2067a2c2 100644
--- a/doc/classes/MeshInstance2D.xml
+++ b/doc/classes/MeshInstance2D.xml
@@ -7,7 +7,7 @@
Node used for displaying a [Mesh] in 2D. A [MeshInstance2D] can be automatically created from an existing [Sprite] via a tool in the editor toolbar. Select the [Sprite] node, then choose [b]Sprite > Convert to MeshInstance2D[/b] at the top of the 2D editor viewport.
- $DOCS_URL/tutorials/2d/2d_meshes.html
+ $DOCS_URL/tutorials/2d/2d_meshes.md
diff --git a/doc/classes/MultiMesh.xml b/doc/classes/MultiMesh.xml
index 38114a767..52a1e0fa6 100644
--- a/doc/classes/MultiMesh.xml
+++ b/doc/classes/MultiMesh.xml
@@ -10,8 +10,8 @@
Since instances may have any behavior, the AABB used for visibility must be provided by the user.
- $DOCS_URL/tutorials/performance/vertex_animation/animating_thousands_of_fish.html
- $DOCS_URL/tutorials/performance/using_multimesh.html
+ $DOCS_URL/tutorials/performance/vertex_animation/animating_thousands_of_fish.md
+ $DOCS_URL/tutorials/performance/using_multimesh.md
diff --git a/doc/classes/MultiMeshInstance.xml b/doc/classes/MultiMeshInstance.xml
index 67ad5e7dd..4a26d4a3b 100644
--- a/doc/classes/MultiMeshInstance.xml
+++ b/doc/classes/MultiMeshInstance.xml
@@ -8,9 +8,9 @@
This is useful to optimize the rendering of a high amount of instances of a given mesh (for example trees in a forest or grass strands).
- $DOCS_URL/tutorials/performance/vertex_animation/animating_thousands_of_fish.html
- $DOCS_URL/tutorials/3d/using_multi_mesh_instance.html
- $DOCS_URL/tutorials/performance/using_multimesh.html
+ $DOCS_URL/tutorials/performance/vertex_animation/animating_thousands_of_fish.md
+ $DOCS_URL/tutorials/3d/using_multi_mesh_instance.md
+ $DOCS_URL/tutorials/performance/using_multimesh.md
diff --git a/doc/classes/Mutex.xml b/doc/classes/Mutex.xml
index a50724d18..3ee1361bd 100644
--- a/doc/classes/Mutex.xml
+++ b/doc/classes/Mutex.xml
@@ -7,7 +7,7 @@
A synchronization mutex (mutual exclusion). This is used to synchronize multiple [Thread]s, and is equivalent to a binary [Semaphore]. It guarantees that only one thread can ever acquire the lock at a time. A mutex can be used to protect a critical section; however, be careful to avoid deadlocks.
- $DOCS_URL/tutorials/performance/threads/using_multiple_threads.html
+ $DOCS_URL/tutorials/performance/threads/using_multiple_threads.md
diff --git a/doc/classes/NavigationLink2D.xml b/doc/classes/NavigationLink2D.xml
index 75bdd026c..01792b094 100644
--- a/doc/classes/NavigationLink2D.xml
+++ b/doc/classes/NavigationLink2D.xml
@@ -7,7 +7,7 @@
A link between two positions on [NavigationRegion2D]s that agents can be routed through. These positions can be on the same [NavigationRegion2D] or on two different ones. Links are useful to express navigation methods other than traveling along the surface of the navigation polygon, such as ziplines, teleporters, or gaps that can be jumped across.
- $DOCS_URL/tutorials/navigation/navigation_using_navigationlinks.html
+ $DOCS_URL/tutorials/navigation/navigation_using_navigationlinks.md
diff --git a/doc/classes/NavigationLink3D.xml b/doc/classes/NavigationLink3D.xml
index cf615d8c7..9258ab056 100644
--- a/doc/classes/NavigationLink3D.xml
+++ b/doc/classes/NavigationLink3D.xml
@@ -7,7 +7,7 @@
A link between two positions on [NavigationRegion3D]s that agents can be routed through. These positions can be on the same [NavigationRegion3D] or on two different ones. Links are useful to express navigation methods other than traveling along the surface of the navigation mesh, such as ziplines, teleporters, or gaps that can be jumped across.
- $DOCS_URL/tutorials/navigation/navigation_using_navigationlinks.html
+ $DOCS_URL/tutorials/navigation/navigation_using_navigationlinks.md
diff --git a/doc/classes/NavigationMeshGenerator.xml b/doc/classes/NavigationMeshGenerator.xml
index 02a6be088..22a0b6579 100644
--- a/doc/classes/NavigationMeshGenerator.xml
+++ b/doc/classes/NavigationMeshGenerator.xml
@@ -9,7 +9,7 @@
To work around the runtime framerate issues, the source geometry can be parsed to a [NavigationMeshSourceGeometryData2D] or a [NavigationMeshSourceGeometryData3D] resource. This resource can later be (re)used at runtime to bake multiple navigation meshes with different parameters in background threads without touching the scene tree again (assuming the nodes that contribute source geometry have not changed).
- $DOCS_URL/tutorials/navigation/navigation_using_navigationmeshes.html
+ $DOCS_URL/tutorials/navigation/navigation_using_navigationmeshes.md
diff --git a/doc/classes/NavigationPathQueryParameters2D.xml b/doc/classes/NavigationPathQueryParameters2D.xml
index f5e230d16..14589b9ee 100644
--- a/doc/classes/NavigationPathQueryParameters2D.xml
+++ b/doc/classes/NavigationPathQueryParameters2D.xml
@@ -7,7 +7,7 @@
By changing various properties of this object, such as the start and target position, you can configure path queries to the [NavigationServer2D].
- $DOCS_URL/tutorials/navigation/navigation_using_navigationpathqueryobjects.html
+ $DOCS_URL/tutorials/navigation/navigation_using_navigationpathqueryobjects.md
diff --git a/doc/classes/NavigationPathQueryParameters3D.xml b/doc/classes/NavigationPathQueryParameters3D.xml
index 2d8f9dd8f..7d247efc7 100644
--- a/doc/classes/NavigationPathQueryParameters3D.xml
+++ b/doc/classes/NavigationPathQueryParameters3D.xml
@@ -7,7 +7,7 @@
By changing various properties of this object, such as the start and target position, you can configure path queries to the [NavigationServer3D].
- $DOCS_URL/tutorials/navigation/navigation_using_navigationpathqueryobjects.html
+ $DOCS_URL/tutorials/navigation/navigation_using_navigationpathqueryobjects.md
diff --git a/doc/classes/NavigationPathQueryResult2D.xml b/doc/classes/NavigationPathQueryResult2D.xml
index f2e2fb027..1a2457210 100644
--- a/doc/classes/NavigationPathQueryResult2D.xml
+++ b/doc/classes/NavigationPathQueryResult2D.xml
@@ -7,7 +7,7 @@
This class stores the result of a 2D navigation path query from the [NavigationServer2D].
- $DOCS_URL/tutorials/navigation/navigation_using_navigationpathqueryobjects.html
+ $DOCS_URL/tutorials/navigation/navigation_using_navigationpathqueryobjects.md
diff --git a/doc/classes/NavigationPathQueryResult3D.xml b/doc/classes/NavigationPathQueryResult3D.xml
index 4b340f419..50cf31d4e 100644
--- a/doc/classes/NavigationPathQueryResult3D.xml
+++ b/doc/classes/NavigationPathQueryResult3D.xml
@@ -7,7 +7,7 @@
This class stores the result of a 3D navigation path query from the [NavigationServer3D].
- $DOCS_URL/tutorials/navigation/navigation_using_navigationpathqueryobjects.html
+ $DOCS_URL/tutorials/navigation/navigation_using_navigationpathqueryobjects.md
diff --git a/doc/classes/NetworkedMultiplayerPeer.xml b/doc/classes/NetworkedMultiplayerPeer.xml
index 9d496c6fe..6a7ff2b11 100644
--- a/doc/classes/NetworkedMultiplayerPeer.xml
+++ b/doc/classes/NetworkedMultiplayerPeer.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] The high-level multiplayer API protocol is an implementation detail and isn't meant to be used by non-Godot servers. It may change without notice.
- $DOCS_URL/tutorials/networking/high_level_multiplayer.html
+ $DOCS_URL/tutorials/networking/high_level_multiplayer.md
https://godotengine.org/asset-library/asset/537
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 40c1baca2..708310dc8 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -17,8 +17,8 @@
[b]Networking with nodes:[/b] After connecting to a server (or making one, see [NetworkedMultiplayerENet]), it is possible to use the built-in RPC (remote procedure call) system to communicate over the network. By calling [method rpc] with a method name, it will be called locally and in all connected peers (peers = clients and the server that accepts connections). To identify which node receives the RPC call, Godot will use its [NodePath] (make sure node names are the same on all peers). Also, take a look at the high-level networking tutorial and corresponding demos.
- $DOCS_URL/getting_started/step_by_step/nodes_and_scenes.html
- https://github.com/godotengine/godot-demo-projects/
+ $DOCS_URL/getting_started/step_by_step/nodes_and_scenes.md
+ https://github.com/Relintai/pandemonium_demo_projects/
diff --git a/doc/classes/Node2D.xml b/doc/classes/Node2D.xml
index ab2edd955..af45b2f5d 100644
--- a/doc/classes/Node2D.xml
+++ b/doc/classes/Node2D.xml
@@ -7,8 +7,8 @@
A 2D game object, with a transform (position, rotation, and scale). All 2D nodes, including physics objects and sprites, inherit from Node2D. Use Node2D as a parent node to move, scale and rotate children in a 2D project. Also gives control of the node's render order.
- $DOCS_URL/tutorials/2d/custom_drawing_in_2d.html
- https://github.com/godotengine/godot-demo-projects/tree/master/2d
+ $DOCS_URL/tutorials/2d/custom_drawing_in_2d.md
+ https://github.com/Relintai/pandemonium_demo_projects/tree/master/2d
diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml
index 4b29b52a6..bfefa4059 100644
--- a/doc/classes/Object.xml
+++ b/doc/classes/Object.xml
@@ -21,7 +21,7 @@
[b]Note:[/b] Due to a bug, you can't create a "plain" Object using [code]Object.new()[/code]. Instead, use [code]ClassDB.instance("Object")[/code]. This bug only applies to Object itself, not any of its descendents like [Reference].
- $DOCS_URL/tutorials/best_practices/node_alternatives.html
+ $DOCS_URL/tutorials/best_practices/node_alternatives.md
$DOCS_URL/tutorials/scripting/gdscript/gdscript_exports.html#advanced-exports
diff --git a/doc/classes/OmniLight.xml b/doc/classes/OmniLight.xml
index 3ec37e239..fea27b1ed 100644
--- a/doc/classes/OmniLight.xml
+++ b/doc/classes/OmniLight.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] By default, only 32 OmniLights may affect a single mesh [i]resource[/i] at once. Consider splitting your level into several meshes to decrease the likelihood that more than 32 lights will affect the same mesh resource. Splitting the level mesh will also improve frustum culling effectiveness, leading to greater performance. If you need to use more lights per mesh, you can increase [member ProjectSettings.rendering/limits/rendering/max_lights_per_object] at the cost of shader compilation times.
- $DOCS_URL/tutorials/3d/lights_and_shadows.html
+ $DOCS_URL/tutorials/3d/lights_and_shadows.md
diff --git a/doc/classes/PanelContainer.xml b/doc/classes/PanelContainer.xml
index fc9765de3..1f88a37ab 100644
--- a/doc/classes/PanelContainer.xml
+++ b/doc/classes/PanelContainer.xml
@@ -7,7 +7,7 @@
Panel container type. This container fits controls inside of the delimited area of a stylebox. It's useful for giving controls an outline.
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
https://godotengine.org/asset-library/asset/520
diff --git a/doc/classes/Physics2DDirectBodyState.xml b/doc/classes/Physics2DDirectBodyState.xml
index b6982e2bf..99433928f 100644
--- a/doc/classes/Physics2DDirectBodyState.xml
+++ b/doc/classes/Physics2DDirectBodyState.xml
@@ -7,8 +7,8 @@
Provides direct access to a physics body in the [Physics2DServer], allowing safe changes to physics properties. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. See [method RigidBody2D._integrate_forces].
- $DOCS_URL/tutorials/physics/physics_introduction.html
- $DOCS_URL/tutorials/physics/ray-casting.html
+ $DOCS_URL/tutorials/physics/physics_introduction.md
+ $DOCS_URL/tutorials/physics/ray-casting.md
diff --git a/doc/classes/Physics2DDirectSpaceState.xml b/doc/classes/Physics2DDirectSpaceState.xml
index 73d0f8618..e6a48ce61 100644
--- a/doc/classes/Physics2DDirectSpaceState.xml
+++ b/doc/classes/Physics2DDirectSpaceState.xml
@@ -7,8 +7,8 @@
Direct access object to a space in the [Physics2DServer]. It's used mainly to do queries against objects and areas residing in a given space.
- $DOCS_URL/tutorials/physics/physics_introduction.html
- $DOCS_URL/tutorials/physics/ray-casting.html
+ $DOCS_URL/tutorials/physics/physics_introduction.md
+ $DOCS_URL/tutorials/physics/ray-casting.md
diff --git a/doc/classes/PhysicsBody.xml b/doc/classes/PhysicsBody.xml
index fbe533e3a..db8c125e3 100644
--- a/doc/classes/PhysicsBody.xml
+++ b/doc/classes/PhysicsBody.xml
@@ -8,7 +8,7 @@
[b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
- $DOCS_URL/tutorials/physics/physics_introduction.html
+ $DOCS_URL/tutorials/physics/physics_introduction.md
diff --git a/doc/classes/PhysicsBody2D.xml b/doc/classes/PhysicsBody2D.xml
index cc092cd23..6570b3039 100644
--- a/doc/classes/PhysicsBody2D.xml
+++ b/doc/classes/PhysicsBody2D.xml
@@ -7,7 +7,7 @@
PhysicsBody2D is an abstract base class for implementing a physics body. All *Body2D types inherit from it.
- $DOCS_URL/tutorials/physics/physics_introduction.html
+ $DOCS_URL/tutorials/physics/physics_introduction.md
diff --git a/doc/classes/PhysicsDirectBodyState.xml b/doc/classes/PhysicsDirectBodyState.xml
index b7280c873..b52f9c1f5 100644
--- a/doc/classes/PhysicsDirectBodyState.xml
+++ b/doc/classes/PhysicsDirectBodyState.xml
@@ -7,8 +7,8 @@
Provides direct access to a physics body in the [PhysicsServer], allowing safe changes to physics properties. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. See [method RigidBody._integrate_forces].
- $DOCS_URL/tutorials/physics/physics_introduction.html
- $DOCS_URL/tutorials/physics/ray-casting.html
+ $DOCS_URL/tutorials/physics/physics_introduction.md
+ $DOCS_URL/tutorials/physics/ray-casting.md
diff --git a/doc/classes/PhysicsDirectSpaceState.xml b/doc/classes/PhysicsDirectSpaceState.xml
index 4b7f38299..dfd9b444a 100644
--- a/doc/classes/PhysicsDirectSpaceState.xml
+++ b/doc/classes/PhysicsDirectSpaceState.xml
@@ -7,8 +7,8 @@
Direct access object to a space in the [PhysicsServer]. It's used mainly to do queries against objects and areas residing in a given space.
- $DOCS_URL/tutorials/physics/physics_introduction.html
- $DOCS_URL/tutorials/physics/ray-casting.html
+ $DOCS_URL/tutorials/physics/physics_introduction.md
+ $DOCS_URL/tutorials/physics/ray-casting.md
diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml
index 16775e421..5a775f91d 100644
--- a/doc/classes/Plane.xml
+++ b/doc/classes/Plane.xml
@@ -7,7 +7,7 @@
Plane represents a normalized plane equation. Basically, "normal" is the normal of the plane (a,b,c normalized), and "d" is the distance from the origin to the plane (in the direction of "normal"). "Over" or "Above" the plane is considered the side of the plane towards where the normal is pointing.
- $DOCS_URL/tutorials/math/index.html
+ $DOCS_URL/tutorials/math/index.md
diff --git a/doc/classes/RandomNumberGenerator.xml b/doc/classes/RandomNumberGenerator.xml
index 3bfe57ded..272d60648 100644
--- a/doc/classes/RandomNumberGenerator.xml
+++ b/doc/classes/RandomNumberGenerator.xml
@@ -16,7 +16,7 @@
[b]Note:[/b] The default values of [member seed] and [member state] properties are pseudo-random, and changes when calling [method randomize]. The [code]0[/code] value documented here is a placeholder, and not the actual default seed.
- $DOCS_URL/tutorials/math/random_number_generation.html
+ $DOCS_URL/tutorials/math/random_number_generation.md
diff --git a/doc/classes/RayCast.xml b/doc/classes/RayCast.xml
index 9bef7d68a..fb1ac893d 100644
--- a/doc/classes/RayCast.xml
+++ b/doc/classes/RayCast.xml
@@ -11,7 +11,7 @@
RayCast calculates intersection every physics frame (see [Node]), and the result is cached so it can be used later until the next frame. If multiple queries are required between physics frames (or during the same frame), use [method force_raycast_update] after adjusting the raycast.
- $DOCS_URL/tutorials/physics/ray-casting.html
+ $DOCS_URL/tutorials/physics/ray-casting.md
https://godotengine.org/asset-library/asset/676
diff --git a/doc/classes/RayCast2D.xml b/doc/classes/RayCast2D.xml
index 6e65b183c..d80386f26 100644
--- a/doc/classes/RayCast2D.xml
+++ b/doc/classes/RayCast2D.xml
@@ -11,7 +11,7 @@
RayCast2D calculates intersection every physics frame (see [Node]), and the result is cached so it can be used later until the next frame. If multiple queries are required between physics frames (or during the same frame) use [method force_raycast_update] after adjusting the raycast.
- $DOCS_URL/tutorials/physics/ray-casting.html
+ $DOCS_URL/tutorials/physics/ray-casting.md
diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml
index c9f930f23..5ed3e4857 100644
--- a/doc/classes/Rect2.xml
+++ b/doc/classes/Rect2.xml
@@ -9,9 +9,9 @@
The 3D counterpart to [Rect2] is [AABB].
- $DOCS_URL/tutorials/math/index.html
- $DOCS_URL/tutorials/math/vector_math.html
- $DOCS_URL/tutorials/math/vectors_advanced.html
+ $DOCS_URL/tutorials/math/index.md
+ $DOCS_URL/tutorials/math/vector_math.md
+ $DOCS_URL/tutorials/math/vectors_advanced.md
diff --git a/doc/classes/Reference.xml b/doc/classes/Reference.xml
index a737836ca..43b4225a4 100644
--- a/doc/classes/Reference.xml
+++ b/doc/classes/Reference.xml
@@ -10,7 +10,7 @@
[b]Note:[/b] In C#, references will not be freed instantly after they are no longer in use. Instead, garbage collection will run periodically and will free references that are no longer in use. This means that unused references will linger on for a while before being removed.
- $DOCS_URL/tutorials/best_practices/node_alternatives.html
+ $DOCS_URL/tutorials/best_practices/node_alternatives.md
diff --git a/doc/classes/ReflectionProbe.xml b/doc/classes/ReflectionProbe.xml
index 34cda4ee1..5104e06d6 100644
--- a/doc/classes/ReflectionProbe.xml
+++ b/doc/classes/ReflectionProbe.xml
@@ -11,7 +11,7 @@
[b]Note:[/b] The GLES2 backend will only display two reflection probes at the same time for a single mesh. If possible, split up large meshes that span over multiple reflection probes into smaller ones.
- $DOCS_URL/tutorials/3d/reflection_probes.html
+ $DOCS_URL/tutorials/3d/reflection_probes.md
diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml
index 7c1b4daee..3e67b3ac4 100644
--- a/doc/classes/RenderingServer.xml
+++ b/doc/classes/RenderingServer.xml
@@ -15,7 +15,7 @@
In 2D, all visible objects are some form of canvas item. In order to be visible, a canvas item needs to be the child of a canvas attached to a viewport, or it needs to be the child of another canvas item that is eventually attached to the canvas.
- $DOCS_URL/tutorials/performance/using_servers.html
+ $DOCS_URL/tutorials/performance/using_servers.md
diff --git a/doc/classes/Resource.xml b/doc/classes/Resource.xml
index b7c74fc21..9fea05c49 100644
--- a/doc/classes/Resource.xml
+++ b/doc/classes/Resource.xml
@@ -8,8 +8,8 @@
[b]Note:[/b] In C#, resources will not be freed instantly after they are no longer in use. Instead, garbage collection will run periodically and will free resources that are no longer in use. This means that unused resources will linger on for a while before being removed.
- $DOCS_URL/tutorials/scripting/resources.html
- $DOCS_URL/tutorials/best_practices/node_alternatives.html
+ $DOCS_URL/tutorials/scripting/resources.md
+ $DOCS_URL/tutorials/best_practices/node_alternatives.md
diff --git a/doc/classes/ResourceImporter.xml b/doc/classes/ResourceImporter.xml
index d22b56256..75759521a 100644
--- a/doc/classes/ResourceImporter.xml
+++ b/doc/classes/ResourceImporter.xml
@@ -7,7 +7,7 @@
This is the base class for the resource importers implemented in core. To implement your own resource importers using editor plugins, see [EditorImportPlugin].
- $DOCS_URL/tutorials/plugins/editor/import_plugins.html
+ $DOCS_URL/tutorials/plugins/editor/import_plugins.md
diff --git a/doc/classes/RichTextEffect.xml b/doc/classes/RichTextEffect.xml
index ec118f66d..e1de1f7a8 100644
--- a/doc/classes/RichTextEffect.xml
+++ b/doc/classes/RichTextEffect.xml
@@ -13,7 +13,7 @@
[b]Note:[/b] As soon as a [RichTextLabel] contains at least one [RichTextEffect], it will continuously process the effect unless the project is paused. This may impact battery life negatively.
- $DOCS_URL/tutorials/ui/bbcode_in_richtextlabel.html
+ $DOCS_URL/tutorials/ui/bbcode_in_richtextlabel.md
https://github.com/Eoin-ONeill-Yokai/Godot-Rich-Text-Effect-Test-Project
diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml
index f3c5ba7c6..d7d899ab4 100644
--- a/doc/classes/RichTextLabel.xml
+++ b/doc/classes/RichTextLabel.xml
@@ -12,7 +12,7 @@
[b]Note:[/b] Unicode characters after [code]0xffff[/code] (such as most emoji) are [i]not[/i] supported on Windows. They will display as unknown characters instead. This will be resolved in Godot 4.0.
- $DOCS_URL/tutorials/ui/bbcode_in_richtextlabel.html
+ $DOCS_URL/tutorials/ui/bbcode_in_richtextlabel.md
https://godotengine.org/asset-library/asset/132
https://godotengine.org/asset-library/asset/677
diff --git a/doc/classes/RigidBody.xml b/doc/classes/RigidBody.xml
index 4063078dd..978753035 100644
--- a/doc/classes/RigidBody.xml
+++ b/doc/classes/RigidBody.xml
@@ -12,7 +12,7 @@
[b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
- $DOCS_URL/tutorials/physics/physics_introduction.html
+ $DOCS_URL/tutorials/physics/physics_introduction.md
https://godotengine.org/asset-library/asset/524
https://godotengine.org/asset-library/asset/675
diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml
index 87a3529cb..ea68b51b8 100644
--- a/doc/classes/SceneTree.xml
+++ b/doc/classes/SceneTree.xml
@@ -9,8 +9,8 @@
[SceneTree] is the default [MainLoop] implementation used by scenes, and is thus in charge of the game loop.
- $DOCS_URL/tutorials/scripting/scene_tree.html
- $DOCS_URL/tutorials/rendering/multiple_resolutions.html
+ $DOCS_URL/tutorials/scripting/scene_tree.md
+ $DOCS_URL/tutorials/rendering/multiple_resolutions.md
diff --git a/doc/classes/Script.xml b/doc/classes/Script.xml
index bd2723bd5..b8ec9930a 100644
--- a/doc/classes/Script.xml
+++ b/doc/classes/Script.xml
@@ -8,7 +8,7 @@
The [code]new[/code] method of a script subclass creates a new instance. [method Object.set_script] extends an existing object, if that object's class matches one of the script's base classes.
- $DOCS_URL/tutorials/scripting/index.html
+ $DOCS_URL/tutorials/scripting/index.md
diff --git a/doc/classes/ScrollContainer.xml b/doc/classes/ScrollContainer.xml
index 0c8b5eb1b..f7e35bf33 100644
--- a/doc/classes/ScrollContainer.xml
+++ b/doc/classes/ScrollContainer.xml
@@ -7,7 +7,7 @@
A ScrollContainer node meant to contain a [Control] child. ScrollContainers will automatically create a scrollbar child ([HScrollBar], [VScrollBar], or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the [member Control.rect_min_size] of the Control relative to the ScrollContainer. Works great with a [Panel] control. You can set [code]EXPAND[/code] on the children's size flags, so they will upscale to the ScrollContainer's size if it's larger (scroll is invisible for the chosen dimension).
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
diff --git a/doc/classes/Semaphore.xml b/doc/classes/Semaphore.xml
index a5cf595e5..1401597bb 100644
--- a/doc/classes/Semaphore.xml
+++ b/doc/classes/Semaphore.xml
@@ -7,7 +7,7 @@
A synchronization semaphore which can be used to synchronize multiple [Thread]s. Initialized to zero on creation. Be careful to avoid deadlocks. For a binary version, see [Mutex].
- $DOCS_URL/tutorials/performance/threads/using_multiple_threads.html
+ $DOCS_URL/tutorials/performance/threads/using_multiple_threads.md
diff --git a/doc/classes/Shader.xml b/doc/classes/Shader.xml
index c371a387c..0166c97eb 100644
--- a/doc/classes/Shader.xml
+++ b/doc/classes/Shader.xml
@@ -7,8 +7,8 @@
This class allows you to define a custom shader program that can be used by a [ShaderMaterial]. Shaders allow you to write your own custom behavior for rendering objects or updating particle information. For a detailed explanation and usage, please see the tutorials linked below.
- $DOCS_URL/tutorials/shaders/index.html
- $DOCS_URL/tutorials/shaders/introduction_to_shaders.html
+ $DOCS_URL/tutorials/shaders/index.md
+ $DOCS_URL/tutorials/shaders/introduction_to_shaders.md
diff --git a/doc/classes/ShaderMaterial.xml b/doc/classes/ShaderMaterial.xml
index e1115d034..f4ef159dc 100644
--- a/doc/classes/ShaderMaterial.xml
+++ b/doc/classes/ShaderMaterial.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] Due to a renderer limitation, emissive [ShaderMaterial]s cannot emit light when used in a [GIProbe]. Only emissive [SpatialMaterial]s can emit light in a [GIProbe].
- $DOCS_URL/tutorials/shaders/index.html
+ $DOCS_URL/tutorials/shaders/index.md
diff --git a/doc/classes/Shape.xml b/doc/classes/Shape.xml
index cbb927cc2..913a716bf 100644
--- a/doc/classes/Shape.xml
+++ b/doc/classes/Shape.xml
@@ -7,7 +7,7 @@
Base class for all 3D shape resources. Nodes that inherit from this can be used as shapes for a [PhysicsBody] or [Area] objects.
- $DOCS_URL/tutorials/physics/physics_introduction.html
+ $DOCS_URL/tutorials/physics/physics_introduction.md
diff --git a/doc/classes/Shape2D.xml b/doc/classes/Shape2D.xml
index 4b6e4c2a5..46a47a300 100644
--- a/doc/classes/Shape2D.xml
+++ b/doc/classes/Shape2D.xml
@@ -7,7 +7,7 @@
Base class for all 2D shapes. All 2D shape types inherit from this.
- $DOCS_URL/tutorials/physics/physics_introduction.html
+ $DOCS_URL/tutorials/physics/physics_introduction.md
diff --git a/doc/classes/SoftBody.xml b/doc/classes/SoftBody.xml
index 58d7834f0..ca95ef5a7 100644
--- a/doc/classes/SoftBody.xml
+++ b/doc/classes/SoftBody.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] There are many known bugs in [SoftBody]. Therefore, it's not recommended to use them for things that can affect gameplay (such as a player character made entirely out of soft bodies).
- $DOCS_URL/tutorials/physics/soft_body.html
+ $DOCS_URL/tutorials/physics/soft_body.md
diff --git a/doc/classes/Spatial.xml b/doc/classes/Spatial.xml
index d8f4c6e38..3509ea14b 100644
--- a/doc/classes/Spatial.xml
+++ b/doc/classes/Spatial.xml
@@ -9,8 +9,8 @@
[b]Note:[/b] Unless otherwise specified, all methods that have angle parameters must have angles specified as [i]radians[/i]. To convert degrees to radians, use [method @GDScript.deg2rad].
- $DOCS_URL/tutorials/3d/introduction_to_3d.html
- https://github.com/godotengine/godot-demo-projects/tree/master/3d
+ $DOCS_URL/tutorials/3d/introduction_to_3d.md
+ https://github.com/Relintai/pandemonium_demo_projects/tree/master/3d
diff --git a/doc/classes/SpatialMaterial.xml b/doc/classes/SpatialMaterial.xml
index 815330132..40ee33e62 100644
--- a/doc/classes/SpatialMaterial.xml
+++ b/doc/classes/SpatialMaterial.xml
@@ -7,7 +7,7 @@
This provides a default material with a wide variety of rendering features and properties without the need to write shader code. See the tutorial below for details.
- $DOCS_URL/tutorials/3d/spatial_material.html
+ $DOCS_URL/tutorials/3d/spatial_material.md
diff --git a/doc/classes/SplitContainer.xml b/doc/classes/SplitContainer.xml
index 1ea0b2b35..64efe66e7 100644
--- a/doc/classes/SplitContainer.xml
+++ b/doc/classes/SplitContainer.xml
@@ -7,7 +7,7 @@
Container for splitting two [Control]s vertically or horizontally, with a grabber that allows adjusting the split offset or ratio.
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
diff --git a/doc/classes/SpotLight.xml b/doc/classes/SpotLight.xml
index 12385ed7c..ac970625b 100644
--- a/doc/classes/SpotLight.xml
+++ b/doc/classes/SpotLight.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] By default, only 32 SpotLights may affect a single mesh [i]resource[/i] at once. Consider splitting your level into several meshes to decrease the likelihood that more than 32 lights will affect the same mesh resource. Splitting the level mesh will also improve frustum culling effectiveness, leading to greater performance. If you need to use more lights per mesh, you can increase [member ProjectSettings.rendering/limits/rendering/max_lights_per_object] at the cost of shader compilation times.
- $DOCS_URL/tutorials/3d/lights_and_shadows.html
+ $DOCS_URL/tutorials/3d/lights_and_shadows.md
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/StreamPeerSSL.xml b/doc/classes/StreamPeerSSL.xml
index d6b238d3b..fd5e53ab5 100644
--- a/doc/classes/StreamPeerSSL.xml
+++ b/doc/classes/StreamPeerSSL.xml
@@ -7,7 +7,7 @@
SSL stream peer. This object can be used to connect to an SSL server or accept a single SSL client connection.
- $DOCS_URL/tutorials/networking/ssl_certificates.html
+ $DOCS_URL/tutorials/networking/ssl_certificates.md
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index 4e075c385..c550be201 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -7,7 +7,7 @@
This is the built-in string class (and the one used by GDScript). It supports Unicode and provides all necessary means for string handling. Strings are reference-counted and use a copy-on-write approach, so passing them around is cheap in resources.
- $DOCS_URL/tutorials/scripting/gdscript/gdscript_format_string.html
+ $DOCS_URL/tutorials/scripting/gdscript/gdscript_format_string.md
diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml
index 5b3580758..7fcf3ee36 100644
--- a/doc/classes/TabContainer.xml
+++ b/doc/classes/TabContainer.xml
@@ -9,7 +9,7 @@
[b]Note:[/b] The drawing of the clickable tabs themselves is handled by this node. Adding [Tabs] as children is not needed.
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
diff --git a/doc/classes/Theme.xml b/doc/classes/Theme.xml
index 7631ec0fe..659b3c654 100644
--- a/doc/classes/Theme.xml
+++ b/doc/classes/Theme.xml
@@ -8,7 +8,7 @@
Theme resources can alternatively be loaded by writing them in a [code].theme[/code] file, see the documentation for more information.
- $DOCS_URL/tutorials/ui/gui_skinning.html
+ $DOCS_URL/tutorials/ui/gui_skinning.md
diff --git a/doc/classes/Thread.xml b/doc/classes/Thread.xml
index b03f93e60..2a4e78387 100644
--- a/doc/classes/Thread.xml
+++ b/doc/classes/Thread.xml
@@ -7,8 +7,8 @@
A unit of execution in a process. Can run methods on [Object]s simultaneously. The use of synchronization via [Mutex] or [Semaphore] is advised if working with shared objects.
- $DOCS_URL/tutorials/performance/threads/using_multiple_threads.html
- $DOCS_URL/tutorials/performance/threads/thread_safe_apis.html
+ $DOCS_URL/tutorials/performance/threads/using_multiple_threads.md
+ $DOCS_URL/tutorials/performance/threads/thread_safe_apis.md
https://godotengine.org/asset-library/asset/676
diff --git a/doc/classes/Transform.xml b/doc/classes/Transform.xml
index cf1aa77b2..125671653 100644
--- a/doc/classes/Transform.xml
+++ b/doc/classes/Transform.xml
@@ -8,9 +8,9 @@
For more information, read the "Matrices and transforms" documentation article.
- $DOCS_URL/tutorials/math/index.html
- $DOCS_URL/tutorials/math/matrices_and_transforms.html
- $DOCS_URL/tutorials/3d/using_transforms.html
+ $DOCS_URL/tutorials/math/index.md
+ $DOCS_URL/tutorials/math/matrices_and_transforms.md
+ $DOCS_URL/tutorials/3d/using_transforms.md
https://godotengine.org/asset-library/asset/584
https://godotengine.org/asset-library/asset/125
https://godotengine.org/asset-library/asset/583
diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml
index 353803ca9..fa1114be2 100644
--- a/doc/classes/Transform2D.xml
+++ b/doc/classes/Transform2D.xml
@@ -8,8 +8,8 @@
For more information, read the "Matrices and transforms" documentation article.
- $DOCS_URL/tutorials/math/index.html
- $DOCS_URL/tutorials/math/matrices_and_transforms.html
+ $DOCS_URL/tutorials/math/index.md
+ $DOCS_URL/tutorials/math/matrices_and_transforms.md
https://godotengine.org/asset-library/asset/584
https://godotengine.org/asset-library/asset/583
diff --git a/doc/classes/Translation.xml b/doc/classes/Translation.xml
index e0570f820..c9250a6c4 100644
--- a/doc/classes/Translation.xml
+++ b/doc/classes/Translation.xml
@@ -7,8 +7,8 @@
Translations are resources that can be loaded and unloaded on demand. They map a string to another string.
- $DOCS_URL/tutorials/i18n/internationalizing_games.html
- $DOCS_URL/tutorials/i18n/locales.html
+ $DOCS_URL/tutorials/i18n/internationalizing_games.md
+ $DOCS_URL/tutorials/i18n/locales.md
diff --git a/doc/classes/TranslationServer.xml b/doc/classes/TranslationServer.xml
index 4d940a533..a5ae59ba6 100644
--- a/doc/classes/TranslationServer.xml
+++ b/doc/classes/TranslationServer.xml
@@ -7,8 +7,8 @@
Server that manages all translations. Translations can be set to it and removed from it.
- $DOCS_URL/tutorials/i18n/internationalizing_games.html
- $DOCS_URL/tutorials/i18n/locales.html
+ $DOCS_URL/tutorials/i18n/internationalizing_games.md
+ $DOCS_URL/tutorials/i18n/locales.md
diff --git a/doc/classes/VBoxContainer.xml b/doc/classes/VBoxContainer.xml
index ccf4baae7..dd719cebb 100644
--- a/doc/classes/VBoxContainer.xml
+++ b/doc/classes/VBoxContainer.xml
@@ -7,7 +7,7 @@
Vertical box container. See [BoxContainer].
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
https://godotengine.org/asset-library/asset/676
diff --git a/doc/classes/VSplitContainer.xml b/doc/classes/VSplitContainer.xml
index 5f7e209f6..7dfe990c4 100644
--- a/doc/classes/VSplitContainer.xml
+++ b/doc/classes/VSplitContainer.xml
@@ -7,7 +7,7 @@
Vertical split container. See [SplitContainer]. This goes from top to bottom.
- $DOCS_URL/tutorials/ui/gui_containers.html
+ $DOCS_URL/tutorials/ui/gui_containers.md
diff --git a/doc/classes/Variant.xml b/doc/classes/Variant.xml
index c089f2ddf..c5d077014 100644
--- a/doc/classes/Variant.xml
+++ b/doc/classes/Variant.xml
@@ -47,7 +47,7 @@
Modifications to a container will modify all references to it. A [Mutex] should be created to lock it if multi-threaded access is desired.
- $DOCS_URL/development/cpp/variant_class.html
+ $DOCS_URL/development/cpp/variant_class.md
diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml
index a3c1f656e..aacd734cd 100644
--- a/doc/classes/Vector2.xml
+++ b/doc/classes/Vector2.xml
@@ -8,12 +8,12 @@
[b]Note:[/b] In a boolean context, a Vector2 will evaluate to [code]false[/code] if it's equal to [code]Vector2(0, 0)[/code]. Otherwise, a Vector2 will always evaluate to [code]true[/code].
- $DOCS_URL/tutorials/math/index.html
- $DOCS_URL/tutorials/math/vector_math.html
- $DOCS_URL/tutorials/math/vectors_advanced.html
+ $DOCS_URL/tutorials/math/index.md
+ $DOCS_URL/tutorials/math/vector_math.md
+ $DOCS_URL/tutorials/math/vectors_advanced.md
https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab
https://godotengine.org/asset-library/asset/584
- https://github.com/godotengine/godot-demo-projects/tree/master/2d
+ https://github.com/Relintai/pandemonium_demo_projects/tree/master/2d
diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml
index dd76d4b68..4b292bcff 100644
--- a/doc/classes/Vector3.xml
+++ b/doc/classes/Vector3.xml
@@ -8,12 +8,12 @@
[b]Note:[/b] In a boolean context, a Vector3 will evaluate to [code]false[/code] if it's equal to [code]Vector3(0, 0, 0)[/code]. Otherwise, a Vector3 will always evaluate to [code]true[/code].
- $DOCS_URL/tutorials/math/index.html
- $DOCS_URL/tutorials/math/vector_math.html
- $DOCS_URL/tutorials/math/vectors_advanced.html
+ $DOCS_URL/tutorials/math/index.md
+ $DOCS_URL/tutorials/math/vector_math.md
+ $DOCS_URL/tutorials/math/vectors_advanced.md
https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab
https://godotengine.org/asset-library/asset/584
- https://github.com/godotengine/godot-demo-projects/tree/master/3d
+ https://github.com/Relintai/pandemonium_demo_projects/tree/master/3d
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index 268301ebc..d862ffae3 100644
--- a/doc/classes/Viewport.xml
+++ b/doc/classes/Viewport.xml
@@ -13,8 +13,8 @@
[b]Note:[/b] By default, a newly created Viewport in Godot 3.x will appear to be upside down. Enabling [member render_target_v_flip] will display the Viewport with the correct orientation.
- $DOCS_URL/tutorials/2d/2d_transforms.html
- $DOCS_URL/tutorials/rendering/index.html
+ $DOCS_URL/tutorials/2d/2d_transforms.md
+ $DOCS_URL/tutorials/rendering/index.md
https://godotengine.org/asset-library/asset/127
https://godotengine.org/asset-library/asset/128
https://godotengine.org/asset-library/asset/129
diff --git a/doc/classes/World2D.xml b/doc/classes/World2D.xml
index 6ef4ba8e4..c8939f429 100644
--- a/doc/classes/World2D.xml
+++ b/doc/classes/World2D.xml
@@ -7,7 +7,7 @@
Class that has everything pertaining to a 2D world. A physics space, a visual scenario, a navigation map and a sound space. 2D nodes register their resources into the current 2D world.
- $DOCS_URL/tutorials/physics/ray-casting.html
+ $DOCS_URL/tutorials/physics/ray-casting.md
diff --git a/doc/classes/World3D.xml b/doc/classes/World3D.xml
index ac8bbdbac..aab3f30b7 100644
--- a/doc/classes/World3D.xml
+++ b/doc/classes/World3D.xml
@@ -7,7 +7,7 @@
Class that has everything pertaining to a world. A physics space, a visual scenario, a navigation map and a sound space. Spatial nodes register their resources into the current world.
- $DOCS_URL/tutorials/physics/ray-casting.html
+ $DOCS_URL/tutorials/physics/ray-casting.md
diff --git a/doc/classes/WorldEnvironment3D.xml b/doc/classes/WorldEnvironment3D.xml
index 4ed96df80..87750ae9e 100644
--- a/doc/classes/WorldEnvironment3D.xml
+++ b/doc/classes/WorldEnvironment3D.xml
@@ -9,7 +9,7 @@
The [WorldEnvironment3D] allows the user to specify default lighting parameters (e.g. ambient lighting), various post-processing effects (e.g. SSAO, DOF, Tonemapping), and how to draw the background (e.g. solid color, skybox). Usually, these are added in order to improve the realism/color balance of the scene.
- $DOCS_URL/tutorials/3d/environment_and_post_processing.html
+ $DOCS_URL/tutorials/3d/environment_and_post_processing.md
https://godotengine.org/asset-library/asset/123
https://godotengine.org/asset-library/asset/110
https://godotengine.org/asset-library/asset/678
diff --git a/modules/cscript/doc_classes/CScript.xml b/modules/cscript/doc_classes/CScript.xml
index 16ccdae90..7d21b459e 100644
--- a/modules/cscript/doc_classes/CScript.xml
+++ b/modules/cscript/doc_classes/CScript.xml
@@ -8,7 +8,7 @@
[method new] creates a new instance of the script. [method Object.set_script] extends an existing object, if that object's class matches one of the script's base classes.
- $DOCS_URL/tutorials/scripting/gdscript/index.html
+ $DOCS_URL/tutorials/scripting/gdscript/index.md
diff --git a/modules/csg/doc_classes/CSGBox.xml b/modules/csg/doc_classes/CSGBox.xml
index b8796c82a..2d24fb826 100644
--- a/modules/csg/doc_classes/CSGBox.xml
+++ b/modules/csg/doc_classes/CSGBox.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a [MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay.
- $DOCS_URL/tutorials/3d/csg_tools.html
+ $DOCS_URL/tutorials/3d/csg_tools.md
diff --git a/modules/csg/doc_classes/CSGCombiner.xml b/modules/csg/doc_classes/CSGCombiner.xml
index c78e9d276..56fd0839c 100644
--- a/modules/csg/doc_classes/CSGCombiner.xml
+++ b/modules/csg/doc_classes/CSGCombiner.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a [MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay.
- $DOCS_URL/tutorials/3d/csg_tools.html
+ $DOCS_URL/tutorials/3d/csg_tools.md
diff --git a/modules/csg/doc_classes/CSGCylinder.xml b/modules/csg/doc_classes/CSGCylinder.xml
index 2380ede01..a0bef9027 100644
--- a/modules/csg/doc_classes/CSGCylinder.xml
+++ b/modules/csg/doc_classes/CSGCylinder.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a [MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay.
- $DOCS_URL/tutorials/3d/csg_tools.html
+ $DOCS_URL/tutorials/3d/csg_tools.md
diff --git a/modules/csg/doc_classes/CSGMesh.xml b/modules/csg/doc_classes/CSGMesh.xml
index d592c8f96..6f22757db 100644
--- a/modules/csg/doc_classes/CSGMesh.xml
+++ b/modules/csg/doc_classes/CSGMesh.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a [MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay.
- $DOCS_URL/tutorials/3d/csg_tools.html
+ $DOCS_URL/tutorials/3d/csg_tools.md
diff --git a/modules/csg/doc_classes/CSGPolygon.xml b/modules/csg/doc_classes/CSGPolygon.xml
index 69ebdcd09..83b4c3aee 100644
--- a/modules/csg/doc_classes/CSGPolygon.xml
+++ b/modules/csg/doc_classes/CSGPolygon.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a [MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay.
- $DOCS_URL/tutorials/3d/csg_tools.html
+ $DOCS_URL/tutorials/3d/csg_tools.md
diff --git a/modules/csg/doc_classes/CSGPrimitive.xml b/modules/csg/doc_classes/CSGPrimitive.xml
index f2b2a6458..036f37878 100644
--- a/modules/csg/doc_classes/CSGPrimitive.xml
+++ b/modules/csg/doc_classes/CSGPrimitive.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a [MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay.
- $DOCS_URL/tutorials/3d/csg_tools.html
+ $DOCS_URL/tutorials/3d/csg_tools.md
diff --git a/modules/csg/doc_classes/CSGShape.xml b/modules/csg/doc_classes/CSGShape.xml
index 0a2400ac5..e94cf0aa4 100644
--- a/modules/csg/doc_classes/CSGShape.xml
+++ b/modules/csg/doc_classes/CSGShape.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a [MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay.
- $DOCS_URL/tutorials/3d/csg_tools.html
+ $DOCS_URL/tutorials/3d/csg_tools.md
diff --git a/modules/csg/doc_classes/CSGSphere.xml b/modules/csg/doc_classes/CSGSphere.xml
index 5690a1c7d..ef70ddfad 100644
--- a/modules/csg/doc_classes/CSGSphere.xml
+++ b/modules/csg/doc_classes/CSGSphere.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a [MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay.
- $DOCS_URL/tutorials/3d/csg_tools.html
+ $DOCS_URL/tutorials/3d/csg_tools.md
diff --git a/modules/csg/doc_classes/CSGTorus.xml b/modules/csg/doc_classes/CSGTorus.xml
index 3c6aca236..92961afd0 100644
--- a/modules/csg/doc_classes/CSGTorus.xml
+++ b/modules/csg/doc_classes/CSGTorus.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a [MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay.
- $DOCS_URL/tutorials/3d/csg_tools.html
+ $DOCS_URL/tutorials/3d/csg_tools.md
diff --git a/modules/enet/doc_classes/NetworkedMultiplayerENet.xml b/modules/enet/doc_classes/NetworkedMultiplayerENet.xml
index 060ef4ddc..abbe196ab 100644
--- a/modules/enet/doc_classes/NetworkedMultiplayerENet.xml
+++ b/modules/enet/doc_classes/NetworkedMultiplayerENet.xml
@@ -9,7 +9,7 @@
[b]Note:[/b] ENet only uses UDP, not TCP. When forwarding the server port to make your server accessible on the public Internet, you only need to forward the server port in UDP. You can use the [UPNP] class to try to forward the server port automatically when starting the server.
- $DOCS_URL/tutorials/networking/high_level_multiplayer.html
+ $DOCS_URL/tutorials/networking/high_level_multiplayer.md
http://enet.bespin.org/usergroup0.html
diff --git a/modules/gdnative/doc_classes/GDNativeLibrary.xml b/modules/gdnative/doc_classes/GDNativeLibrary.xml
index 71cc37a3f..a985a62c8 100644
--- a/modules/gdnative/doc_classes/GDNativeLibrary.xml
+++ b/modules/gdnative/doc_classes/GDNativeLibrary.xml
@@ -7,8 +7,8 @@
A GDNative library can implement [NativeScript]s, global functions to call with the [GDNative] class, or low-level engine extensions through interfaces such as [ARVRInterfaceGDNative]. The library must be compiled for each platform and architecture that the project will run on.
- $DOCS_URL/tutorials/scripting/gdnative/gdnative_c_example.html
- $DOCS_URL/tutorials/scripting/gdnative/gdnative_cpp_example.html
+ $DOCS_URL/tutorials/scripting/gdnative/gdnative_c_example.md
+ $DOCS_URL/tutorials/scripting/gdnative/gdnative_cpp_example.md
diff --git a/modules/gdscript/doc_classes/GDScript.xml b/modules/gdscript/doc_classes/GDScript.xml
index 1b8cfd56e..0d277ec14 100644
--- a/modules/gdscript/doc_classes/GDScript.xml
+++ b/modules/gdscript/doc_classes/GDScript.xml
@@ -8,7 +8,7 @@
[method new] creates a new instance of the script. [method Object.set_script] extends an existing object, if that object's class matches one of the script's base classes.
- $DOCS_URL/tutorials/scripting/gdscript/index.html
+ $DOCS_URL/tutorials/scripting/gdscript/index.md
diff --git a/modules/gridmap/doc_classes/GridMap.xml b/modules/gridmap/doc_classes/GridMap.xml
index e6e7098c0..6c64fdc69 100644
--- a/modules/gridmap/doc_classes/GridMap.xml
+++ b/modules/gridmap/doc_classes/GridMap.xml
@@ -11,7 +11,7 @@
[b]Note:[/b] GridMap doesn't extend [VisualInstance] and therefore can't be hidden or cull masked based on [member VisualInstance.layers]. If you make a light not affect the first layer, the whole GridMap won't be lit by the light in question.
- $DOCS_URL/tutorials/3d/using_gridmaps.html
+ $DOCS_URL/tutorials/3d/using_gridmaps.md
https://godotengine.org/asset-library/asset/125
https://godotengine.org/asset-library/asset/126
diff --git a/modules/skeleton_2d/doc_classes/Skeleton2D.xml b/modules/skeleton_2d/doc_classes/Skeleton2D.xml
index 1cee3b065..de9773319 100644
--- a/modules/skeleton_2d/doc_classes/Skeleton2D.xml
+++ b/modules/skeleton_2d/doc_classes/Skeleton2D.xml
@@ -7,7 +7,7 @@
Skeleton2D parents a hierarchy of [Bone2D] objects. It is a requirement of [Bone2D]. Skeleton2D holds a reference to the rest pose of its children and acts as a single point of access to its bones.
- $DOCS_URL/tutorials/animation/2d_skeletons.html
+ $DOCS_URL/tutorials/animation/2d_skeletons.md