)
+- [Wikipedia: Anamorphic Widescreen](https://en.wikipedia.org/wiki/Anamorphic_widescreen)
+
+## The video menu
+
+The following options are available from the video menu:
+
+### Sourcefile-related
+
+Open video
+: Opens video. Note that if you try to open another video with video
+ already loaded, the original video will be closed first.
+
+Close video
+: Unloads the currently open video.
+
+Recent
+: Shows list of recently opened videos.
+
+Use dummy video
+: Opens a dummy video (see above).
+
+Show video details
+: Shows some information about the currently open video. Details shown
+ are filename, frames per second (for VFR files the average FPS is
+ displayed), resolution and aspect ratio, length and decoder. Decoder
+ being what filter/method Aegisub used to open the file.
+
+### Timecodes-related
+
+Open timecodes file
+: Loads a timecodes file and applies it to the video, changing the
+ video/subtitle synchronization.
+
+Save timecodes file
+: Saves the currently loaded timecodes as a new v2 timecodes file.
+
+Close timecodes file
+: Unloads the currently loaded timecodes.
+
+Recent
+: Shows list of recently opened timecodes files.
+
+### Keyframes-related
+
+Open keyframes
+: Loads keyframe data from the given file. If you already have keyframe
+ data loaded, it will be replaced by the one read from the file.
+
+Save keyframes
+: Saves the currently loaded keyframes data to a keyframes file.
+
+Close keyframes
+: Unloads the currently loaded keyframe data, if any. Note that it is
+ not possible to unload keyframe data that was directly loaded from the
+ video file; if you want to get rid of that for some reason, load a
+ keyframes file with only frame 0 being marked as a keyframe.
+
+Recent
+: Shows list of recently loaded keyframe files.
+
+### Display-related
+
+Detach video
+: Detaches the video display and related controls from the Aegisub main
+ window and moves it into its own window. To reattach the video to the
+ main window, close the detached window. This feature can be
+ particularly useful on multi-monitor setups.
+
+Set zoom
+: Sets the video zoom level.
+
+Override aspect ratio
+: Stretches the video to the specified aspect ratio by modifying the
+ video width. Useful for anamorphic video (see above).
+
+Show overscan mask
+: Draws a blue "mask" over the image, indicating the edges of the
+ action safe (dark blue) and title safe (light blue) areas. Useful if
+ you plan on showing your subtitles on a TV without adjustable overscan
+ correction. For more information, see the Wikipedia pages on
+ [overscan](https://en.wikipedia.org/wiki/Overscan), [safe
+ areas](https://en.wikipedia.org/wiki/Safe_area) and [overscan
+ amounts](https://en.wikipedia.org/wiki/Overscan_amounts). Aegisub
+ follows the [BBC
+ guidelines](https://www.bbc.co.uk/guidelines/dq/pdf/tv/tv_standards_london.pdf)
+ on how big the safe areas should be.
+
+### Seeking-related
+
+Jump to
+: Seeks the video to the given time or frame.
+
+Jump video to start
+: Seeks the video to the start time of the currently active line.
+
+Jump video to end
+: Seeks the video to the end time of the currently active line.
diff --git a/content/en/docs/3.5/Visual_Typesetting.md b/content/en/docs/3.5/Visual_Typesetting.md
new file mode 100644
index 000000000..6ce8cd48d
--- /dev/null
+++ b/content/en/docs/3.5/Visual_Typesetting.md
@@ -0,0 +1,271 @@
+---
+title: Visual Typesetting
+menu:
+ docs-3.5:
+ parent: typesetting
+weight: 4300
+aliases:
+ - /docs/3.5/Visual_Typesetting/
+---
+
+{{}}Screenshots need to be updated {{}}
+
+## Overview
+
+
+
+### Play
+
+Play the video and, starting at the currently displayed frame. See
+[Video]({{< relref "Video#playing-video" >}}) for comments on playing video in Aegisub.
+
+### Play line
+
+Play the video starting at the first frame of the currently active line,
+stopping at the end of the line.
+
+### Video autoseek
+
+Toggles automatic seeking of the video to the first frame of a line whenever
+a new line is selected.
+
+### Frame time and number
+
+Displays the current frame number and the start time of the frame. If the
+currently displayed frame is a keyframe, this box has a green background.
+
+Note that it is normal for the "Set start of selected subtitles to
+current video frame" (Ctrl-3) and "Set end of selected subtitles to current
+video frame" (Ctrl-4) to set the time to something different than what is
+displayed here, as setting times to exactly the frame's time tends to result
+in rounding errors.
+
+{{}}Is the main toolbar actually documented anywhere? {{}}
+
+### Subs relative time
+
+Displays the time to the start and end time of the active subtitle line.
+This is mostly useful for override tags which take relative times, such as
+[\\t]({{< relref "ASS_Tags#animatedtransform" >}}) and [\\fad]({{< relref "ASS_Tags#fade" >}}).
+
+### Zoom
+
+Displays and allows changing the current video zoom.
+
+### Video position slider
+
+Used to seek the video. Holding shift while dragging the thumb snaps to
+keyframes. By default, left/right seek backward/forward one frame;
+alt-left/right seek backward/forward 10 frames; shift-left/right seek
+backward/forward one keyframe. The slider can be focused without
+accidentally seeking by right-clicking it or pressing Ctrl-Space. If the
+slider already has focus, Ctrl-Space will return keyboard focus to the
+control that last had it.
+
+## Video context menu
+
+You can right click to bring a context menu with other options:
+
+
+
+Save PNG snapshot
+: Saves a PNG snapshot of the current frame to the path specified in
+ the [options]({{< relref "options#video" >}}). This snapshot will be in the real video size, and
+ WON'T be affected by zooming or aspect ratio overriding.
+
+Copy image to clipboard
+: Same as above, but copies the frame to the clipboard, instead of
+ saving as a PNG. You can then paste it in any image editing software.
+
+Save PNG snapshot (no subtitles)
+: Same as the previous option, but subtitles won't be visible in the
+ image.
+
+Copy image to clipboard (no subtitles)
+: Same as above, but copying to clipboard.
+
+Save PNG snapshot (only subtitles)
+: Same as the previous option, but saves only the subtitles with a transparent
+ background.
+
+Copy image to clipboard (only subtitles)
+: Same as above, but copying to clipboard.
+
+Copy coordinates to clipboard
+: Copies the current mouse coordinates to clipboard, e.g. "230,152"
+
+Reset Video Pan
+: Undoes any zooming and panning of the video, centering it in the video display again.
+
+## Tool Descriptions
+
+There are currently seven different visual typesetting tools: crosshair,
+drag, rotate on z axis, rotate on xy axes, scale, rectangular clip and
+vector clip.
+
+### Crosshair
+
+This is the standard mode. Hovering the mouse over the video will show the
+script coordinates under the cursor, as well as a crosshair indicating the
+exact point that you are looking at. Holding down shift will make it instead
+show the distance from the bottom-right corner. Double clicking a point will
+position the current line (using the [\\pos tag]({{< relref "ASS_Tags#setposition" >}})) on
+that position. If alt is held down while double-clicking, all other selected
+lines will be shifted by the same distance as the active line, including lines
+not visible on the current frame.
+
+
+
+### Drag
+
+The drag tool has two modes. You can toggle between them by clicking the button
+on the auxiliary visual typesetting bar.
+
+
+
+On the positioning mode, you can simply click-and-drag subtitles across the
+video surface by dragging their anchor (the square). They will be positioned
+where you release them with the [\\pos]({{< relref "ASS_Tags#setposition" >}}) command.
+
+On the movement mode, there is another anchor, the end-of-movement anchor,
+which is represented by a circle. There will be an arrow pointing from the
+start-of-movement to the end-of-movement anchor. In order to set the times
+where the movement will start or end, move the corresponding anchor on the time
+where you want the subtitle to be at that anchor. For example, if you want
+movement to start at 5000 milliseconds after the start of the line, seek the
+video to 5000 milliseconds after the start of the line, and drag the start
+anchor there. The same goes for the end-of-movement anchor.
+
+If your line has an origin point specified, you will see a third anchor,
+represented by a triangle, connected to the square anchor by a dotted line. You
+can also drag this to affect the origin position. This same anchor will be
+visible in the two rotation tools.
+
+If shift is held down while dragging an anchor, the drag will be limited to
+only altering the X or Y coordinate of the anchor (whichever would be changed
+more).
+
+Multiple anchors can be selected at once by holding down ctrl and clicking on
+the anchors which you want to add or remove from the selection. All selected
+anchors are moved when one is dragged.
+
+Double-clicking on a spot with no anchors will move the active anchor to that
+position, similarly to double-clicking in the crosshair tool. If alt is held
+down, all other selected anchors are shifted relative to the active anchor.
+
+### Rotate on Z axis
+
+On this mode, you will see a circle centered around the subtitle's pivot
+(either it's position, or the origin point, if defined). The circle is
+surrounded by 6 arcs that help mark and measure angles.
+
+
+
+There are two functionalities in this mode. You can either drag the origin
+point (the triangle at the center of the circle) to move it (and insert a
+[\\org]({{< relref "ASS_Tags#rotationorigin" >}}) tag, if none exists), or you can click and
+drag anywhere else to rotate the line.
+
+You will notice that there is a line connecting the center of the circle to the
+mouse cursor. When you click and drag, the subtitle line rotate following that
+line, that is, you must rotate the cursor around the center to rotate the line.
+Just release the mouse to finish positioning. You can also use the ctrl key to
+limit the rotation to increments of 30 degrees.
+
+If the origin is far from the center, you will see a little helper line
+indicating where the center of the subtitles will be positioned as you rotate
+it.
+
+If multiple lines are selected, all selected lines are set to the new rotation
+(and not rotated relative to each other as in the drag and crosshair tools).
+
+
+
+### Rotate on XY axes
+
+This mode is somewhat similar to the previous mode, although there are a few
+important differences. Since this rotates on the two screen axes, the rotation
+is three-dimensional, and therefore harder to visualize.
+
+In order to make this easier, there is a grid representing the plane in which
+the subtitles lie, and you rotate that grid. There are also three arrows
+pointing from the center, indicating the direction and orientation of the three
+axes.
+
+
+
+To use this tool, simply hold the mouse button anywhere on the screen and move
+it. As you move it left and right, it will rotate the line on the Y axis, and
+as you move it up and down, it will rotate the line on the X axis.
+
+If you hold down the shift key while rotating, the rotation will be limited to
+only one of the two axes - whichever has the greatest movement. If you hold
+down the ctrl key, rotation will happen in steps of 30 degrees.
+
+If multiple lines are selected, all selected lines are set to the new rotation
+(and not rotated relative to each other as in the drag and crosshair tools).
+
+As with the Z rotation tool, you can also drag the origin anchor here.
+
+### Scale
+
+This is the simplest tool, and allows you to scale subtitles on the X and Y
+axes. It will show one bar for each axis, showing not only the 100% size, but
+also the current scale.
+
+
+
+To use this tool, simply hold down the mouse button and drag the mouse up and
+down (to scale on the Y axis) or left and right (to scale on the X axis). You
+can hold down the shift key to limit scaling to the axis where the biggest
+change happened, and ctrl to limit it to increments of 25%.
+
+### Rectangular clip
+
+The rectangular clip tool allows you to clip the subtitles so that nothing
+OUTSIDE an axis-aligned rectangle can be displayed (in essence, the
+`\clip(x1,y1,x2,y2)` tag).
+Inverse rectangular clips via `\iclip(x1,y1,x2,y2)` can also be modified.
+
+
+
+There are two ways to use this tool. You can either click and grab one of the
+four vertices of the rectangle, to resize an already-existing clip, or you can
+click-and-drag in empty space to create a new rectangle from scratch. The areas
+that will be invisible will be darkened.
+
+### Vectorial clip
+
+Similarly to the last tool, the vectorial clip tool allows you to draw an area,
+so that nothing outside it will be rendered. The difference, however, is that
+this area can have any arbitrary shape defined by a path of lines and bézier
+curves.
+
+
+
+This mode has 8 sub-tools:
+
+
+
+1. Drag - Allows you to drag a control point
+1. Insert line - Allows you to insert a straight line from the last point to
+ the current mouse position by clicking the point.
+1. Insert bézier bicubic curve - The same as above, but it instead inserts a
+ bicubic curve. You can then use the two control points to adjust the shape
+ of the curve.
+1. Convert between line and curve - Click on a line segment or bicubic curve
+ to convert it to the other type.
+1. Split curve - Click on a line segment or bicubic curve to split it in
+ two, at the marked point.
+1. Remove point - Click on a point to delete it.
+1. Freehand shape - Click and drag with the mouse over the video and move
+ the mouse to draw a freehand shape composed of line segments. This shape
+ will automatically be closed, with the last point connecting to the first.
+1. Freehand smooth shape - Same as above, but the shape will be smoothed
+ with bicubic curves.
+
+As with the drag tool, multiple control points can be selected at one by
+ctrl-clicking on the anchors to be added or removed from the selection. By
+default all control points are selected; to deselect them all click on a
+blank spot when in Drag mode. Multiple control points can be selected at once
+by clicking and dragging in move mode to perform a box selection.
diff --git a/content/en/docs/3.5/_index.md b/content/en/docs/3.5/_index.md
new file mode 100644
index 000000000..0b156267e
--- /dev/null
+++ b/content/en/docs/3.5/_index.md
@@ -0,0 +1,4 @@
+---
+build:
+ render: never
+---
diff --git a/content/en/docs/_index.md b/content/en/docs/_index.md
index 5cc52467a..ef3fc9cf0 100644
--- a/content/en/docs/_index.md
+++ b/content/en/docs/_index.md
@@ -4,7 +4,11 @@ title: Aegisub Docs
-3.4 Manual Latest user manual
+3.x Manual Latest user manual
+
+
+
+3.5 Manual User manual for 3.5.
diff --git a/content/en/docs/latest/Automation.md b/content/en/docs/latest/Automation.md
index 0f5e127c4..548502d2a 100644
--- a/content/en/docs/latest/Automation.md
+++ b/content/en/docs/latest/Automation.md
@@ -26,13 +26,13 @@ Some of the goals of Automation:
## Using Automation
Aegisub comes with several Automation scripts already packaged and ready to use.
-This includes the advanced **[Karaoke_Templater]({{< relref "Karaoke_Templater" >}})** script and a **[collection of macros]({{< relref "Included_macros" >}})** to simplify some editing tasks.
+This includes the advanced **[Karaoke_Templater]({{< relref "Automation/Karaoke_Templater" >}})** script and a **[collection of macros]({{< relref "Automation/Included_macros" >}})** to simplify some editing tasks.
Aegisub almost always has several Automation scripts loaded at a time.
You can see what scripts are loaded, and load/unload more from the **[Automation/Manager]({{< relref "Automation/Manager" >}})** window.
All Automation scripts also present themselves in Aegisub in one way or another.
-Some appear as [macros in the Automation menu]({{< relref "Running_macros" >}}) and others appear as [filters in the Export dialog]({{< relref "Exporting" >}}).
+Some appear as [macros in the Automation menu]({{< relref "Automation/Running_macros" >}}) and others appear as [filters in the Export dialog]({{< relref "Exporting" >}}).
Some scripts even appear in both places.
## Automation for programmers
diff --git a/content/en/docs/latest/Automation/Included_macros.md b/content/en/docs/latest/Automation/Included_macros.md
index 9c06b57f7..f150f2c65 100644
--- a/content/en/docs/latest/Automation/Included_macros.md
+++ b/content/en/docs/latest/Automation/Included_macros.md
@@ -166,7 +166,7 @@ override tags inside the syllables they affect.
Add [`\be1`]({{< relref "../ASS_Tags#bluredges" >}}) to all selected lines. Lightly blurring the
edges of all dialogue lines can noticeably improve compressibility when
-[hardsubbing]({{< relref "Attaching_subtitles_to_video#hardsubbing" >}}) (especially when using older
+[hardsubbing]({{< relref "../Attaching_subtitles_to_video#hardsubbing" >}}) (especially when using older
codecs such as XviD), but edgeblur cannot be set in the style due to format
limitations.
diff --git a/content/en/docs/latest/Automation/Karaoke_Templater.md b/content/en/docs/latest/Automation/Karaoke_Templater.md
index 85830626b..a03c6bba7 100644
--- a/content/en/docs/latest/Automation/Karaoke_Templater.md
+++ b/content/en/docs/latest/Automation/Karaoke_Templater.md
@@ -9,7 +9,7 @@ aliases:
- /docs/latest/Automation/Karaoke_Templater/
---
-**Karaoke Templater** is an [Automation]({{< relref "Automation" >}}) script that ships with Aegisub. Its
+**Karaoke Templater** is an [Automation]({{< relref "../Automation" >}}) script that ships with Aegisub. Its
primary purpose is to help creating [karaoke effects]({{< relref "../Glossary/Karaoke_effect" >}})
with a specially designed template language. Karaoke Templater is already
installed and ready to use along with Aegisub.
diff --git a/content/en/docs/latest/Automation/Karaoke_Templater/Template_execution_rules_and_order.md b/content/en/docs/latest/Automation/Karaoke_Templater/Template_execution_rules_and_order.md
index 0acefed77..5cf06b585 100644
--- a/content/en/docs/latest/Automation/Karaoke_Templater/Template_execution_rules_and_order.md
+++ b/content/en/docs/latest/Automation/Karaoke_Templater/Template_execution_rules_and_order.md
@@ -64,7 +64,7 @@ The first thing kara-templater does is simply use
[karaskel]({{< relref "../Lua/Modules/karaskel.lua.md" >}}) to collect some basic
information on the subtitle file. It always passes `true` for
_generate_furigana_ in the `karaskel.collect_head` function, meaning that
-[furigana]({{< relref "Furigana_karaoke" >}}) styles are always generated, unless they already
+[furigana]({{< relref "../../Furigana_karaoke" >}}) styles are always generated, unless they already
exist.
It then collects all template lines in the file.
diff --git a/content/en/docs/latest/Automation/Karaoke_Templater/Template_modifiers.md b/content/en/docs/latest/Automation/Karaoke_Templater/Template_modifiers.md
index 405fc193b..51fd8d7d4 100644
--- a/content/en/docs/latest/Automation/Karaoke_Templater/Template_modifiers.md
+++ b/content/en/docs/latest/Automation/Karaoke_Templater/Template_modifiers.md
@@ -190,7 +190,7 @@ For example, if there are two syllables, "ab" and "cd", and the above two templa
### fx _name_
-Make template only apply to syllables that have the named [inline-fx]({{< relref "Karaoke_inline-fx" >}}). Specifying an inline-fx name is required; the name may also overlap with template modifier names though this is not recommended.
+Make template only apply to syllables that have the named [inline-fx]({{< relref "../../Karaoke_inline-fx" >}}). Specifying an inline-fx name is required; the name may also overlap with template modifier names though this is not recommended.
{{}}
@@ -231,7 +231,7 @@ The _notags_ modifier ensures that the special colour of the special syllable ge
### multi
-Make the template apply per-highlight in [multi-highlight]({{< relref "Furigana_karaoke" >}}) timed karaoke. This changes application order semantics in a significant way, see [Template execution and order]({{< relref "./Template_execution_rules_and_order" >}}) for details.
+Make the template apply per-highlight in [multi-highlight]({{< relref "../../Furigana_karaoke" >}}) timed karaoke. This changes application order semantics in a significant way, see [Template execution and order]({{< relref "./Template_execution_rules_and_order" >}}) for details.
While this will work on code lines, it is generally not useful, see the discussion on execution order.
diff --git a/content/en/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md b/content/en/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md
index 08c71e893..2d2c4c6c5 100644
--- a/content/en/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md
+++ b/content/en/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md
@@ -36,7 +36,7 @@ But there is something else to make sure of first.
Karaoke Templater can do many things for you, but it can't guess the lyrics for
your song, or how they're synchronised with the music. You'll have to time the
lyrics yourself, or get someone else to do it. You can learn how to time
-karaoke at the [Karaoke_Timing_Tutorial]({{< relref "Karaoke_Timing_Tutorial" >}}).
+karaoke at the [Karaoke_Timing_Tutorial]({{< relref "../../Karaoke_Timing_Tutorial" >}}).
We'll call song lyrics with basic karaoke timing (\\k timing), but no other
special effects, _timed karaoke_. When an effect has been applied to the
@@ -156,7 +156,7 @@ now.
back into a \\k tag, like we did here.
With this knowledge, you should already be able to create lots of effects. You
-may also want to refer to the page on [ASS override tags]({{< relref "ASS_Tags" >}}).
+may also want to refer to the page on [ASS override tags]({{< relref "../../ASS_Tags" >}}).
You can also [continue to the next tutorial]({{< relref "./Tutorial_2" >}}), where we'll look at how to
do math with variables to get more variation.
diff --git a/content/en/docs/latest/Automation/Lua.md b/content/en/docs/latest/Automation/Lua.md
index 83b2b50a3..c1eaffcbf 100644
--- a/content/en/docs/latest/Automation/Lua.md
+++ b/content/en/docs/latest/Automation/Lua.md
@@ -59,7 +59,7 @@ piece of text will be when rendered with a given style.
Most things that can be implemented in clean Lua code, i.e. that don't
depend directly on Aegisub internal data structures, have been implemented
-outside the core API as [Lua modules]({{< relref "Modules" >}}). While it is possible to write
+outside the core API as [Lua modules]({{< relref "Lua/Modules" >}}). While it is possible to write
Automation 4 Lua scripts without using the provided standard include files
you will find that for anything but the simplest scripts you will need some
of the functions provided by the includes.
diff --git a/content/en/docs/latest/Automation/Lua/Miscellaneous_APIs.md b/content/en/docs/latest/Automation/Lua/Miscellaneous_APIs.md
index 9e1a8098a..e338c43a7 100644
--- a/content/en/docs/latest/Automation/Lua/Miscellaneous_APIs.md
+++ b/content/en/docs/latest/Automation/Lua/Miscellaneous_APIs.md
@@ -162,14 +162,14 @@ Get a list of what video frames are keyframes.
Synopsis `path = aegisub.decode_path(encoded_path)`
-Convert a path beginning with a [path specifier]({{< relref "Aegisub_path_specifiers" >}})
+Convert a path beginning with a [path specifier]({{< relref "../../Aegisub_path_specifiers" >}})
to an absolute path.
`@encoded_path` (`string`)
-: A string which may optionally begin with an Aegisub [path specifier]({{< relref "Aegisub_path_specifiers" >}}).
+: A string which may optionally begin with an Aegisub [path specifier]({{< relref "../../Aegisub_path_specifiers" >}}).
`@path` (`string`)
-: If `encoded_path` began with a valid [path specifier]({{< relref "Aegisub_path_specifiers" >}}), an absolute path. If it began with an
+: If `encoded_path` began with a valid [path specifier]({{< relref "../../Aegisub_path_specifiers" >}}), an absolute path. If it began with an
invalid path specifier (such as if ?video was used when no video is open),
a string that is unlikely to be useful in any way. Any other strings are
passed through untouched.
diff --git a/content/en/docs/latest/Automation/Lua/Modules.md b/content/en/docs/latest/Automation/Lua/Modules.md
index a8991d9a1..969460c3c 100644
--- a/content/en/docs/latest/Automation/Lua/Modules.md
+++ b/content/en/docs/latest/Automation/Lua/Modules.md
@@ -10,12 +10,12 @@ aliases:
---
A number of Lua modules are included with Aegisub.
-Some of these, such as [`karaskel.lua`]({{< relref "karaskel.lua.md" >}}) implement subtitle-specific functionality, while others such as [re]({{< relref "re" >}}) fill holes in the Lua standard library.
+Some of these, such as [`karaskel.lua`]({{< relref "Modules/karaskel.lua.md" >}}) implement subtitle-specific functionality, while others such as [re]({{< relref "Modules/re" >}}) fill holes in the Lua standard library.
## Using modules
Simply write `modulename = require 'aegisub.modulename'` at the top level of a script.
-For example, to include the [re]({{< relref "re" >}}) modules, `re = require 'aegisub.re'`.
+For example, to include the [re]({{< relref "Modules/re" >}}) modules, `re = require 'aegisub.re'`.
Note that if you look at older scripts you will probably see several other methods for including modules, such as `include`.
These have been deprecated in favor of following the modern lua module style introduced with Lua 5.2.
diff --git a/content/en/docs/latest/Automation/Lua/Modules/karaskel.lua.md b/content/en/docs/latest/Automation/Lua/Modules/karaskel.lua.md
index 58a31a1a8..ab2bf8909 100644
--- a/content/en/docs/latest/Automation/Lua/Modules/karaskel.lua.md
+++ b/content/en/docs/latest/Automation/Lua/Modules/karaskel.lua.md
@@ -32,7 +32,7 @@ Reads the subtitle file to collect all header information and style
definitions, and optionally also generates new styles for furigana layouts.
- `subtitles` is the Subtitle File object defined by Automation 4 Lua.
-- `generate_furigana` is a boolean: if it is true a style for [furigana layout]({{< relref "Furigana_karaoke" >}}) is generated for each style that does not have
+- `generate_furigana` is a boolean: if it is true a style for [furigana layout]({{< relref "../../../Furigana_karaoke" >}}) is generated for each style that does not have
one already. Generation of furigana styles will never overwrite existing
styles, create double style definitions or create meaningless furigana
styles for other furigana styles.
@@ -442,7 +442,7 @@ Additions by `karaskel.preproc_line_text`:
- `syl.kdur` - Syllable duration in centiseconds, suitable for use in `\k`
tags.
- `syl.line` - Back reference to the line table containing this syllable.
-- `syl.inline_fx` - Name of the [_inline-fx_]({{< relref "Karaoke_inline-fx" >}}) for this
+- `syl.inline_fx` - Name of the [_inline-fx_]({{< relref "../../../Karaoke_inline-fx" >}}) for this
syllable.
- `syl.i` - Index number of this syllable.
- `syl.prespace`, `syl.postspace` - Space characaters at the start/end of
diff --git a/content/en/docs/latest/Automation/Lua/Registration.md b/content/en/docs/latest/Automation/Lua/Registration.md
index bfcaa7064..ec9c4312f 100644
--- a/content/en/docs/latest/Automation/Lua/Registration.md
+++ b/content/en/docs/latest/Automation/Lua/Registration.md
@@ -8,7 +8,7 @@ aliases:
- /docs/latest/Automation/Lua/Registration/
---
-**Registration** covers presenting your [Automation 4 Lua]({{< relref "Lua" >}})
+**Registration** covers presenting your [Automation 4 Lua]({{< relref "../Lua" >}})
script to Aegisub, providing information about it and registering what
_features_ it provides.
@@ -30,7 +30,7 @@ menu item) and an optional validation function (determines whether the macro
can even do any work in the current state.)
Another feature is the **export filter**. The export filter is presented in
-the [Export]({{< relref "Exporting" >}}) dialogue and can be applied during an export
+the [Export]({{< relref "../../Exporting" >}}) dialogue and can be applied during an export
operation. Export filters also have a name, description, processing function
and then an optional configuration panel provider. The configuration panel
provider is a function that returns a configuration dialogue definition
diff --git a/content/en/docs/latest/Automation/Manager.md b/content/en/docs/latest/Automation/Manager.md
index 560b7fc5b..d34109c2b 100644
--- a/content/en/docs/latest/Automation/Manager.md
+++ b/content/en/docs/latest/Automation/Manager.md
@@ -9,7 +9,7 @@ aliases:
---
The Automation Manager window is used to view, load and unload
-[Automation]({{< relref "Automation" >}}) scripts.
+[Automation]({{< relref "../Automation" >}}) scripts.
The Automation Manager window is opened from the _Automation_ menu or with
the  toolbar button.
@@ -67,15 +67,15 @@ If you're developing scripts you might find yourself returning to the
Automation Manager often to reload your script. There are also faster ways
to reload scripts though:
-- When the [Export]({{< relref "Exporting" >}}) dialog is opened all local scripts are
- reloaded. You can change this in the [Options]({{< relref "Options#automation" >}})
+- When the [Export]({{< relref "../Exporting" >}}) dialog is opened all local scripts are
+ reloaded. You can change this in the [Options]({{< relref "../Options#automation" >}})
dialog.
- Hold the Ctrl key and click the Automation toolbar button to rescan the
autoload folders.
- Hold both the Ctrl and Shift keys and click the Automation toolbar button
to reload all scripts, also rescanning the autoload folders.
- While there is no default hotkey to reload all scripts, you can add one in
- the [preferences dialog]({{< relref "Options#hotkeys" >}}).
+ the [preferences dialog]({{< relref "../Options#hotkeys" >}}).
The Automation Manager won't open when any of there methods are used, but
you will get an error message window if a script failed to load. Note that
diff --git a/content/en/docs/latest/Automation/Running_macros.md b/content/en/docs/latest/Automation/Running_macros.md
index c617e3a74..73e7092fb 100644
--- a/content/en/docs/latest/Automation/Running_macros.md
+++ b/content/en/docs/latest/Automation/Running_macros.md
@@ -8,7 +8,7 @@ aliases:
- /docs/latest/Automation/Running_macros/
---
-[Automation]({{< relref "Automation" >}}) [macros]({{< relref "../Glossary/Macro" >}}) appear as options in the Automation
+[Automation]({{< relref "../Automation" >}}) [macros]({{< relref "../Glossary/Macro" >}}) appear as options in the Automation
menu.

@@ -21,7 +21,7 @@ seven macros are loaded. The third, [Karaoke_Templater]({{< relref "Karaoke_Temp
though, because the macro has determined it can't be run on the subtitles.
In this case, because the subtitle file has no karaoke templates. Other
macros might be unavailable for other reasons. The fourth has had a hotkey
-set in the [preferences dialog]({{< relref "Options#hotkeys" >}})
+set in the [preferences dialog]({{< relref "../Options#hotkeys" >}})
To run a macro, just select it from the Automation menu. Some macros might
ask you for more information, and some work only on the selected subtitle
diff --git a/content/en/docs/latest/Main_Page.md b/content/en/docs/latest/Main_Page.md
index c61ee511f..6fc7d128f 100644
--- a/content/en/docs/latest/Main_Page.md
+++ b/content/en/docs/latest/Main_Page.md
@@ -5,6 +5,7 @@ menu:
parent: navigation
weight: 1000
aliases:
+ - /docs/latest/
- /docs/latest/Main_Page/
---
diff --git a/content/en/docs/latest/_index.md b/content/en/docs/latest/_index.md
new file mode 100644
index 000000000..0b156267e
--- /dev/null
+++ b/content/en/docs/latest/_index.md
@@ -0,0 +1,4 @@
+---
+build:
+ render: never
+---
diff --git a/content/en/docs/latest/index.html b/content/en/docs/latest/index.html
deleted file mode 100644
index 49758716c..000000000
--- a/content/en/docs/latest/index.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/content/es-us/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md b/content/es-us/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md
index aecda9748..0715142a0 100644
--- a/content/es-us/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md
+++ b/content/es-us/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md
@@ -24,7 +24,7 @@ Pero hay algo más de qué asegurarnos primero.
## Karaoke sincronizado
-Karaoke Templater puede hacer muchas cosas por usted, pero no puede adivinar la letra de una canción ni cómo se sincroniza con la música. Tendrá que sincronizar la letra uno mismo o pedirle a alguien más que lo haga. Puede aprender a sincronizar el karaoke en el [tutorial de sincronizar karaoke]({{}}).
+Karaoke Templater puede hacer muchas cosas por usted, pero no puede adivinar la letra de una canción ni cómo se sincroniza con la música. Tendrá que sincronizar la letra uno mismo o pedirle a alguien más que lo haga. Puede aprender a sincronizar el karaoke en el [tutorial de sincronizar karaoke]({{}}).
Llamaremos a las letras de canciones con sincronización básica de karaoke (\\k timing), pero sin otros efectos, _karaoke sincronizado_. Cuando se ha aplicado un efecto al karaoke lo llamaremos _karaoke estilizado_.
diff --git a/content/es-us/docs/latest/Main_Page.md b/content/es-us/docs/latest/Main_Page.md
index feb487069..63054f317 100644
--- a/content/es-us/docs/latest/Main_Page.md
+++ b/content/es-us/docs/latest/Main_Page.md
@@ -4,6 +4,8 @@ menu:
docs:
parent: navigation
weight: 1000
+aliases:
+ - /docs/latest/
---
Bienvenido al manual Aegisub. Vea nuestra página [Acerca de]({{}}) para más info del programa, o explore los temas en el panel a la izquierda.
diff --git a/content/es-us/docs/latest/_index.md b/content/es-us/docs/latest/_index.md
new file mode 100644
index 000000000..0b156267e
--- /dev/null
+++ b/content/es-us/docs/latest/_index.md
@@ -0,0 +1,4 @@
+---
+build:
+ render: never
+---
diff --git a/content/es-us/docs/latest/index.html b/content/es-us/docs/latest/index.html
deleted file mode 100644
index 49758716c..000000000
--- a/content/es-us/docs/latest/index.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/content/zh-cn/docs/latest/Main_Page.md b/content/zh-cn/docs/latest/Main_Page.md
index 4e4165606..6d0da465f 100644
--- a/content/zh-cn/docs/latest/Main_Page.md
+++ b/content/zh-cn/docs/latest/Main_Page.md
@@ -4,6 +4,8 @@ menu:
docs:
parent: navigation
weight: 1000
+aliases:
+ - /docs/latest/
---
欢迎来到 Aegisub 手册。要获取更多关于此程序的信息,请查看我们的 [关于]({{< relref "About" >}}) 页面,或浏览左侧栏中各个主题的文章。
diff --git a/content/zh-cn/docs/latest/_index.md b/content/zh-cn/docs/latest/_index.md
new file mode 100644
index 000000000..0b156267e
--- /dev/null
+++ b/content/zh-cn/docs/latest/_index.md
@@ -0,0 +1,4 @@
+---
+build:
+ render: never
+---
diff --git a/content/zh-cn/docs/latest/index.html b/content/zh-cn/docs/latest/index.html
deleted file mode 100644
index 49758716c..000000000
--- a/content/zh-cn/docs/latest/index.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/layouts/partials/main/docs-navigation.html b/layouts/partials/main/docs-navigation.html
index 3b7e9964a..72ae02adc 100644
--- a/layouts/partials/main/docs-navigation.html
+++ b/layouts/partials/main/docs-navigation.html
@@ -1,8 +1,10 @@
-{{ if or .Prev .Next -}}
+{{ $pages := where .CurrentSection.RegularPages "Type" "not in" (slice "redirect" "glossary") -}}
+{{ $next := $pages.Next . -}}
+{{ $prev := $pages.Prev . -}}
+{{ if or $next $prev -}}
- {{ $pages := where (where (where site.RegularPages "Section" .Section) "Type" "!=" "redirect") "Type" "!=" "glossary" -}}
- {{ with $pages.Next . -}}
+ {{ with $next -}}
@@ -11,7 +13,7 @@
{{ end -}}
- {{ with $pages.Prev . -}}
+ {{ with $prev -}}
@@ -21,4 +23,4 @@
{{ end -}}
-{{ end -}}
\ No newline at end of file
+{{ end -}}
diff --git a/layouts/partials/sidebar/auto-collapsible-menu.html b/layouts/partials/sidebar/auto-collapsible-menu.html
index 3eaa2f69d..386e2ff8d 100644
--- a/layouts/partials/sidebar/auto-collapsible-menu.html
+++ b/layouts/partials/sidebar/auto-collapsible-menu.html
@@ -2,6 +2,11 @@
\ No newline at end of file
+
diff --git a/layouts/partials/sidebar/auto-default-menu.html b/layouts/partials/sidebar/auto-default-menu.html
index b46bb5aed..d0015eb7e 100644
--- a/layouts/partials/sidebar/auto-default-menu.html
+++ b/layouts/partials/sidebar/auto-default-menu.html
@@ -1,6 +1,11 @@
{{ $currentPage := . -}}
{{ $section := $currentPage.Section -}}
+{{ range .Menus }}
+ {{ if hasPrefix .Menu "docs-" }}
+ {{ $section = .Menu }}
+ {{ end }}
+{{ end }}
{{ range (where .Site.Sections "Section" "in" $section) }}
{{ range .Sections.ByWeight.Reverse }}
{{ $active := in $currentPage.RelPermalink .RelPermalink }}
diff --git a/layouts/partials/sidebar/manual-collapsible-menu.html b/layouts/partials/sidebar/manual-collapsible-menu.html
index 7cbab58b4..c61035018 100644
--- a/layouts/partials/sidebar/manual-collapsible-menu.html
+++ b/layouts/partials/sidebar/manual-collapsible-menu.html
@@ -2,6 +2,11 @@