aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--devscripts/prepare_manpage.py27
2 files changed, 27 insertions, 2 deletions
diff --git a/README.md b/README.md
index ee1b59990..fde5453f8 100644
--- a/README.md
+++ b/README.md
@@ -158,6 +158,7 @@ When using `--update`/`-U`, a release binary will only update to its current cha
You may also use `--update-to <repository>` (`<owner>/<repository>`) to update to a channel on a completely different repository. Be careful with what repository you are updating to though, there is no verification done for binaries from different repositories.
Example usage:
+
* `yt-dlp --update-to master` switch to the `master` channel and update to its latest release
* `yt-dlp --update-to stable@2023.07.06` upgrade/downgrade to release to `stable` channel tag `2023.07.06`
* `yt-dlp --update-to 2023.10.07` upgrade/downgrade to tag `2023.10.07` if it exists on the current channel
@@ -1892,6 +1893,7 @@ Plugins can be installed using various methods and locations.
`.zip`, `.egg` and `.whl` archives containing a `yt_dlp_plugins` namespace folder in their root are also supported as plugin packages.
+
* e.g. `${XDG_CONFIG_HOME}/yt-dlp/plugins/mypluginpkg.zip` where `mypluginpkg.zip` contains `yt_dlp_plugins/<type>/myplugin.py`
Run yt-dlp with `--verbose` to check if the plugin has been loaded.
diff --git a/devscripts/prepare_manpage.py b/devscripts/prepare_manpage.py
index 009e7bba1..47188e992 100644
--- a/devscripts/prepare_manpage.py
+++ b/devscripts/prepare_manpage.py
@@ -43,6 +43,27 @@ def filter_excluded_sections(readme):
'', readme)
+def _convert_code_blocks(readme):
+ current_code_block = None
+
+ for line in readme.splitlines(True):
+ if current_code_block:
+ if line == current_code_block:
+ current_code_block = None
+ yield '\n'
+ else:
+ yield f' {line}'
+ elif line.startswith('```'):
+ current_code_block = line.count('`') * '`' + '\n'
+ yield '\n'
+ else:
+ yield line
+
+
+def convert_code_blocks(readme):
+ return ''.join(_convert_code_blocks(readme))
+
+
def move_sections(readme):
MOVE_TAG_TEMPLATE = '<!-- MANPAGE: MOVE "%s" SECTION HERE -->'
sections = re.findall(r'(?m)^%s$' % (
@@ -65,8 +86,10 @@ def move_sections(readme):
def filter_options(readme):
section = re.search(r'(?sm)^# USAGE AND OPTIONS\n.+?(?=^# )', readme).group(0)
+ section_new = section.replace('*', R'\*')
+
options = '# OPTIONS\n'
- for line in section.split('\n')[1:]:
+ for line in section_new.split('\n')[1:]:
mobj = re.fullmatch(r'''(?x)
\s{4}(?P<opt>-(?:,\s|[^\s])+)
(?:\s(?P<meta>(?:[^\s]|\s(?!\s))+))?
@@ -86,7 +109,7 @@ def filter_options(readme):
return readme.replace(section, options, 1)
-TRANSFORM = compose_functions(filter_excluded_sections, move_sections, filter_options)
+TRANSFORM = compose_functions(filter_excluded_sections, convert_code_blocks, move_sections, filter_options)
def main():