From 2868039772f601eaf990cdf24b7904ea39721c44 Mon Sep 17 00:00:00 2001 From: Christoph Vigano Date: Sat, 7 Mar 2026 13:55:34 +0100 Subject: [PATCH 1/3] Add documentation on how to customize replacement characters on CLI --- docs/advanced/command-line-interface.md | 78 +++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/docs/advanced/command-line-interface.md b/docs/advanced/command-line-interface.md index 62e42971..33ac5eb6 100644 --- a/docs/advanced/command-line-interface.md +++ b/docs/advanced/command-line-interface.md @@ -147,3 +147,81 @@ foreach($q in $Qualities){ } } ``` + +## Set custom replacement characters + +Libation detects the replacment characters for filenames by identifying the +currently running OS and not the target filesystem. This can lead to problems +when running the Libation CLI on Linux but targeting an NTFS drive for the +download. + +To change (and override) the replacment characters, the code snippet below can +be defined in the `Settings.json`. The example below contains the `HiFi_NTFS` +replacements that allow for high fidelity filenames when targeting an NTFS file +system. +```json + "ReplacementCharacters": { + "Replacement": [ + { + "CharacterToReplace": "\u0000", + "ReplacementString": "_", + "Description": "All other invalid characters" + }, + { + "CharacterToReplace": "/", + "ReplacementString": "∕", + "Description": "Forward Slash (Filename Only)" + }, + { + "CharacterToReplace": "\\", + "ReplacementString": "", + "Description": "Back Slash (Filename Only)" + }, + { + "CharacterToReplace": "\"", + "ReplacementString": "“", + "Description": "Open Quote" + }, + { + "CharacterToReplace": "\"", + "ReplacementString": "”", + "Description": "Close Quote" + }, + { + "CharacterToReplace": "\"", + "ReplacementString": """, + "Description": "Other Quote" + }, + { + "CharacterToReplace": "<", + "ReplacementString": "<", + "Description": "Open Angle Bracket" + }, + { + "CharacterToReplace": ">", + "ReplacementString": ">", + "Description": "Close Angle Bracket" + }, + { + "CharacterToReplace": ":", + "ReplacementString": "_", + "Description": "Colon" + }, + { + "CharacterToReplace": "*", + "ReplacementString": "✱", + "Description": "Asterisk" + }, + { + "CharacterToReplace": "?", + "ReplacementString": "?", + "Description": "Question Mark" + }, + { + "CharacterToReplace": "|", + "ReplacementString": "⏐", + "Description": "Vertical Line" + } + ] + } +``` From 64c5807daaec5dfd0f7e49b43e2ce4d16a6f2957 Mon Sep 17 00:00:00 2001 From: rmcrackan Date: Sat, 7 Mar 2026 15:27:09 -0500 Subject: [PATCH 2/3] Update command-line-interface.md --- docs/advanced/command-line-interface.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/advanced/command-line-interface.md b/docs/advanced/command-line-interface.md index 33ac5eb6..62a6430f 100644 --- a/docs/advanced/command-line-interface.md +++ b/docs/advanced/command-line-interface.md @@ -159,6 +159,8 @@ To change (and override) the replacment characters, the code snippet below can be defined in the `Settings.json`. The example below contains the `HiFi_NTFS` replacements that allow for high fidelity filenames when targeting an NTFS file system. + +::: details Examples NTFS ReplacementCharacters ```json "ReplacementCharacters": { "Replacement": [ @@ -225,3 +227,4 @@ system. ] } ``` +::: From fd35b6dd85ebaaff226953957d709efd07dbf12d Mon Sep 17 00:00:00 2001 From: rmcrackan Date: Sat, 7 Mar 2026 15:29:10 -0500 Subject: [PATCH 3/3] Update command-line-interface.md --- docs/advanced/command-line-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/advanced/command-line-interface.md b/docs/advanced/command-line-interface.md index 62a6430f..8ba2a3e1 100644 --- a/docs/advanced/command-line-interface.md +++ b/docs/advanced/command-line-interface.md @@ -160,7 +160,7 @@ be defined in the `Settings.json`. The example below contains the `HiFi_NTFS` replacements that allow for high fidelity filenames when targeting an NTFS file system. -::: details Examples NTFS ReplacementCharacters +::: details Example NTFS ReplacementCharacters ```json "ReplacementCharacters": { "Replacement": [