added rich help for better help readability

This commit is contained in:
2024-07-04 09:46:01 +02:00
committed by Flo Greistorfer
parent bd2f20188f
commit ed7623b6b4
3 changed files with 192 additions and 8 deletions

View File

@@ -23,22 +23,21 @@
- `tqdm` library - `tqdm` library
- `Jinja2` library - `Jinja2` library
- `Pillow` library - `Pillow` library
- `rich_argparse` library
## Installation ## Installation
Install the required libraries using pip: Install the required libraries using pip:
```sh ```sh
pip install numpy tqdm Jinja2 Pillow pip install numpy tqdm Jinja2 Pillow rich-argparse
``` ```
## Usage ## Usage
The script supports several command-line options to customize its behavior. Below is the list of available options: The script supports several command-line options to customize its behavior. Below is the list of available options:
```sh ![help-preview](help.svg)
./generate_html.py [-h] -p ROOT -w WEBROOT -t TITLE [-i ICON] [-r] [-n] [--use-fancy-folders] [-l LICENSE] [-a AUTHOR] [-e EXTENSION] [--theme-path THEME] [--ignore-other-files] [--exclude-folders EXCLUDE]
```
### Options ### Options

View File

@@ -10,6 +10,7 @@ import numpy as np
from jinja2 import Environment, FileSystemLoader from jinja2 import Environment, FileSystemLoader
from tqdm.auto import tqdm from tqdm.auto import tqdm
from PIL import Image from PIL import Image
from rich_argparse import RichHelpFormatter
import cclicense import cclicense
@@ -20,7 +21,7 @@ FAVICON_PATH = ".static/favicon.ico"
GLOBAL_CSS_PATH = ".static/global.css" GLOBAL_CSS_PATH = ".static/global.css"
DEFAULT_THEME_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), "themes", "default.css") DEFAULT_THEME_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), "themes", "default.css")
DEFAULT_AUTHOR = "Author" DEFAULT_AUTHOR = "Author"
VERSION = "1.6" VERSION = "1.6.1"
RAW_EXTENSIONS = [".3fr", ".ari", ".arw", ".bay", ".braw", ".crw", ".cr2", ".cr3", ".cap", ".data", ".dcs", ".dcr", ".dng", ".drf", ".eip", ".erf", ".fff", ".gpr", ".iiq", ".k25", ".kdc", ".mdc", ".mef", ".mos", ".mrw", ".nef", ".nrw", ".obm", ".orf", ".pef", ".ptx", ".pxn", ".r3d", ".raf", ".raw", ".rwl", ".rw2", ".rwz", ".sr2", ".srf", ".srw", ".tif", ".tiff", ".x3f"] RAW_EXTENSIONS = [".3fr", ".ari", ".arw", ".bay", ".braw", ".crw", ".cr2", ".cr3", ".cap", ".data", ".dcs", ".dcr", ".dng", ".drf", ".eip", ".erf", ".fff", ".gpr", ".iiq", ".k25", ".kdc", ".mdc", ".mef", ".mos", ".mrw", ".nef", ".nrw", ".obm", ".orf", ".pef", ".ptx", ".pxn", ".r3d", ".raf", ".raw", ".rwl", ".rw2", ".rwz", ".sr2", ".srf", ".srw", ".tif", ".tiff", ".x3f"]
IMG_EXTENSIONS = [".jpg", ".jpeg"] IMG_EXTENSIONS = [".jpg", ".jpeg"]
EXCLUDES = [".lock", "index.html", ".thumbnails", ".static"] EXCLUDES = [".lock", "index.html", ".thumbnails", ".static"]
@@ -48,7 +49,7 @@ class Args:
def parse_arguments() -> Args: def parse_arguments() -> Args:
parser = argparse.ArgumentParser(description="Generate HTML files for a static image hosting website.") parser = argparse.ArgumentParser(description="Generate HTML files for a static image hosting website.", formatter_class=RichHelpFormatter)
parser.add_argument("-p", "--root-directory", help="Root directory containing the images.", required=True, type=str, dest="root_directory") parser.add_argument("-p", "--root-directory", help="Root directory containing the images.", required=True, type=str, dest="root_directory")
parser.add_argument("-w", "--web-root-url", help="Base URL of the web root for the image hosting site.", required=True, type=str, dest="web_root_url") parser.add_argument("-w", "--web-root-url", help="Base URL of the web root for the image hosting site.", required=True, type=str, dest="web_root_url")
parser.add_argument("-t", "--site-title", help="Title of the image hosting site.", required=True, type=str, dest="site_title") parser.add_argument("-t", "--site-title", help="Title of the image hosting site.", required=True, type=str, dest="site_title")
@@ -88,8 +89,6 @@ def init_globals(args: Args) -> None:
args.exclude_folders = NOT_LIST args.exclude_folders = NOT_LIST
args.root_directory = args.root_directory.rstrip("/") + "/" args.root_directory = args.root_directory.rstrip("/") + "/"
args.web_root_url = args.web_root_url.rstrip("/") + "/" args.web_root_url = args.web_root_url.rstrip("/") + "/"
if not os.path.exists(os.path.join(args.root_directory, ".thumbnails")):
os.mkdir(os.path.join(args.root_directory, ".thumbnails"))
RAW_EXTENSIONS = [ext.lower() for ext in RAW_EXTENSIONS] + [ext.upper() for ext in RAW_EXTENSIONS] RAW_EXTENSIONS = [ext.lower() for ext in RAW_EXTENSIONS] + [ext.upper() for ext in RAW_EXTENSIONS]
@@ -221,6 +220,8 @@ def main() -> None:
exit() exit()
try: try:
if not os.path.exists(os.path.join(args.root_directory, ".thumbnails")):
os.mkdir(os.path.join(args.root_directory, ".thumbnails"))
Path(os.path.join(args.root_directory, ".lock")).touch() Path(os.path.join(args.root_directory, ".lock")).touch()
print("Copying static files...") print("Copying static files...")

184
help.svg Normal file
View File

@@ -0,0 +1,184 @@
<svg class="rich-terminal" viewBox="0 0 1482 830.8" xmlns="http://www.w3.org/2000/svg">
<!-- Generated with Rich https://www.textualize.io -->
<style>
@font-face {
font-family: "Fira Code";
src: local("FiraCode-Regular"),
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
font-style: normal;
font-weight: 400;
}
@font-face {
font-family: "Fira Code";
src: local("FiraCode-Bold"),
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
font-style: bold;
font-weight: 700;
}
.terminal-2584624102-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
.terminal-2584624102-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
.terminal-2584624102-r1 { fill: #ff2627 }
.terminal-2584624102-r2 { fill: #c5c8c6 }
.terminal-2584624102-r3 { fill: #68a0b3 }
</style>
<defs>
<clipPath id="terminal-2584624102-clip-terminal">
<rect x="0" y="0" width="1463.0" height="779.8" />
</clipPath>
<clipPath id="terminal-2584624102-line-0">
<rect x="0" y="1.5" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-1">
<rect x="0" y="25.9" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-2">
<rect x="0" y="50.3" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-3">
<rect x="0" y="74.7" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-4">
<rect x="0" y="99.1" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-5">
<rect x="0" y="123.5" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-6">
<rect x="0" y="147.9" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-7">
<rect x="0" y="172.3" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-8">
<rect x="0" y="196.7" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-9">
<rect x="0" y="221.1" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-10">
<rect x="0" y="245.5" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-11">
<rect x="0" y="269.9" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-12">
<rect x="0" y="294.3" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-13">
<rect x="0" y="318.7" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-14">
<rect x="0" y="343.1" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-15">
<rect x="0" y="367.5" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-16">
<rect x="0" y="391.9" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-17">
<rect x="0" y="416.3" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-18">
<rect x="0" y="440.7" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-19">
<rect x="0" y="465.1" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-20">
<rect x="0" y="489.5" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-21">
<rect x="0" y="513.9" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-22">
<rect x="0" y="538.3" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-23">
<rect x="0" y="562.7" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-24">
<rect x="0" y="587.1" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-25">
<rect x="0" y="611.5" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-26">
<rect x="0" y="635.9" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-27">
<rect x="0" y="660.3" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-28">
<rect x="0" y="684.7" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-29">
<rect x="0" y="709.1" width="1464" height="24.65"/>
</clipPath>
<clipPath id="terminal-2584624102-line-30">
<rect x="0" y="733.5" width="1464" height="24.65"/>
</clipPath>
</defs>
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="828.8" rx="8"/>
<g transform="translate(26,22)">
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
<circle cx="44" cy="0" r="7" fill="#28c840"/>
</g>
<g transform="translate(9, 41)" clip-path="url(#terminal-2584624102-clip-terminal)">
<g class="terminal-2584624102-matrix">
<text class="terminal-2584624102-r1" x="0" y="20" textLength="73.2" clip-path="url(#terminal-2584624102-line-0)">Usage:</text><text class="terminal-2584624102-r2" x="85.4" y="20" textLength="195.2" clip-path="url(#terminal-2584624102-line-0)">generate_html.py</text><text class="terminal-2584624102-r2" x="280.6" y="20" textLength="24.4" clip-path="url(#terminal-2584624102-line-0)">&#160;[</text><text class="terminal-2584624102-r3" x="305" y="20" textLength="24.4" clip-path="url(#terminal-2584624102-line-0)">-h</text><text class="terminal-2584624102-r2" x="329.4" y="20" textLength="24.4" clip-path="url(#terminal-2584624102-line-0)">]&#160;</text><text class="terminal-2584624102-r3" x="353.8" y="20" textLength="24.4" clip-path="url(#terminal-2584624102-line-0)">-p</text><text class="terminal-2584624102-r3" x="390.4" y="20" textLength="170.8" clip-path="url(#terminal-2584624102-line-0)">ROOT_DIRECTORY</text><text class="terminal-2584624102-r3" x="573.4" y="20" textLength="24.4" clip-path="url(#terminal-2584624102-line-0)">-w</text><text class="terminal-2584624102-r3" x="610" y="20" textLength="146.4" clip-path="url(#terminal-2584624102-line-0)">WEB_ROOT_URL</text><text class="terminal-2584624102-r3" x="768.6" y="20" textLength="24.4" clip-path="url(#terminal-2584624102-line-0)">-t</text><text class="terminal-2584624102-r3" x="805.2" y="20" textLength="122" clip-path="url(#terminal-2584624102-line-0)">SITE_TITLE</text><text class="terminal-2584624102-r2" x="927.2" y="20" textLength="24.4" clip-path="url(#terminal-2584624102-line-0)">&#160;[</text><text class="terminal-2584624102-r3" x="951.6" y="20" textLength="24.4" clip-path="url(#terminal-2584624102-line-0)">-r</text><text class="terminal-2584624102-r2" x="976" y="20" textLength="36.6" clip-path="url(#terminal-2584624102-line-0)">]&#160;[</text><text class="terminal-2584624102-r3" x="1012.6" y="20" textLength="24.4" clip-path="url(#terminal-2584624102-line-0)">-n</text><text class="terminal-2584624102-r2" x="1037" y="20" textLength="12.2" clip-path="url(#terminal-2584624102-line-0)">]</text><text class="terminal-2584624102-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-2584624102-line-0)">
</text><text class="terminal-2584624102-r2" x="0" y="44.4" textLength="305" clip-path="url(#terminal-2584624102-line-1)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;[</text><text class="terminal-2584624102-r3" x="305" y="44.4" textLength="24.4" clip-path="url(#terminal-2584624102-line-1)">-l</text><text class="terminal-2584624102-r3" x="341.6" y="44.4" textLength="805.2" clip-path="url(#terminal-2584624102-line-1)">{cc-zero,cc-by,cc-by-sa,cc-by-nd,cc-by-nc,cc-by-nc-sa,cc-by-nc-nd}</text><text class="terminal-2584624102-r2" x="1146.8" y="44.4" textLength="36.6" clip-path="url(#terminal-2584624102-line-1)">]&#160;[</text><text class="terminal-2584624102-r3" x="1183.4" y="44.4" textLength="24.4" clip-path="url(#terminal-2584624102-line-1)">-a</text><text class="terminal-2584624102-r3" x="1220" y="44.4" textLength="134.2" clip-path="url(#terminal-2584624102-line-1)">AUTHOR_NAME</text><text class="terminal-2584624102-r2" x="1354.2" y="44.4" textLength="12.2" clip-path="url(#terminal-2584624102-line-1)">]</text><text class="terminal-2584624102-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-2584624102-line-1)">
</text><text class="terminal-2584624102-r2" x="0" y="68.8" textLength="305" clip-path="url(#terminal-2584624102-line-2)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;[</text><text class="terminal-2584624102-r3" x="305" y="68.8" textLength="24.4" clip-path="url(#terminal-2584624102-line-2)">-e</text><text class="terminal-2584624102-r3" x="341.6" y="68.8" textLength="183" clip-path="url(#terminal-2584624102-line-2)">FILE_EXTENSIONS</text><text class="terminal-2584624102-r2" x="524.6" y="68.8" textLength="36.6" clip-path="url(#terminal-2584624102-line-2)">]&#160;[</text><text class="terminal-2584624102-r3" x="561.2" y="68.8" textLength="146.4" clip-path="url(#terminal-2584624102-line-2)">--theme-path</text><text class="terminal-2584624102-r3" x="719.8" y="68.8" textLength="122" clip-path="url(#terminal-2584624102-line-2)">THEME_PATH</text><text class="terminal-2584624102-r2" x="841.8" y="68.8" textLength="36.6" clip-path="url(#terminal-2584624102-line-2)">]&#160;[</text><text class="terminal-2584624102-r3" x="878.4" y="68.8" textLength="231.8" clip-path="url(#terminal-2584624102-line-2)">--use-fancy-folders</text><text class="terminal-2584624102-r2" x="1110.2" y="68.8" textLength="36.6" clip-path="url(#terminal-2584624102-line-2)">]&#160;[</text><text class="terminal-2584624102-r3" x="1146.8" y="68.8" textLength="244" clip-path="url(#terminal-2584624102-line-2)">--ignore-other-files</text><text class="terminal-2584624102-r2" x="1390.8" y="68.8" textLength="12.2" clip-path="url(#terminal-2584624102-line-2)">]</text><text class="terminal-2584624102-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-2584624102-line-2)">
</text><text class="terminal-2584624102-r2" x="0" y="93.2" textLength="305" clip-path="url(#terminal-2584624102-line-3)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;[</text><text class="terminal-2584624102-r3" x="305" y="93.2" textLength="195.2" clip-path="url(#terminal-2584624102-line-3)">--exclude-folder</text><text class="terminal-2584624102-r3" x="512.4" y="93.2" textLength="183" clip-path="url(#terminal-2584624102-line-3)">EXCLUDE_FOLDERS</text><text class="terminal-2584624102-r2" x="695.4" y="93.2" textLength="36.6" clip-path="url(#terminal-2584624102-line-3)">]&#160;[</text><text class="terminal-2584624102-r3" x="732" y="93.2" textLength="109.8" clip-path="url(#terminal-2584624102-line-3)">--version</text><text class="terminal-2584624102-r2" x="841.8" y="93.2" textLength="12.2" clip-path="url(#terminal-2584624102-line-3)">]</text><text class="terminal-2584624102-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-2584624102-line-3)">
</text><text class="terminal-2584624102-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-2584624102-line-4)">
</text><text class="terminal-2584624102-r2" x="0" y="142" textLength="671" clip-path="url(#terminal-2584624102-line-5)">Generate&#160;HTML&#160;files&#160;for&#160;a&#160;static&#160;image&#160;hosting&#160;website.</text><text class="terminal-2584624102-r2" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-2584624102-line-5)">
</text><text class="terminal-2584624102-r2" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-2584624102-line-6)">
</text><text class="terminal-2584624102-r1" x="0" y="190.8" textLength="97.6" clip-path="url(#terminal-2584624102-line-7)">Options:</text><text class="terminal-2584624102-r2" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-2584624102-line-7)">
</text><text class="terminal-2584624102-r3" x="24.4" y="215.2" textLength="24.4" clip-path="url(#terminal-2584624102-line-8)">-h</text><text class="terminal-2584624102-r2" x="48.8" y="215.2" textLength="24.4" clip-path="url(#terminal-2584624102-line-8)">,&#160;</text><text class="terminal-2584624102-r3" x="73.2" y="215.2" textLength="73.2" clip-path="url(#terminal-2584624102-line-8)">--help</text><text class="terminal-2584624102-r2" x="292.8" y="215.2" textLength="378.2" clip-path="url(#terminal-2584624102-line-8)">show&#160;this&#160;help&#160;message&#160;and&#160;exit</text><text class="terminal-2584624102-r2" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-2584624102-line-8)">
</text><text class="terminal-2584624102-r3" x="24.4" y="239.6" textLength="24.4" clip-path="url(#terminal-2584624102-line-9)">-p</text><text class="terminal-2584624102-r2" x="48.8" y="239.6" textLength="24.4" clip-path="url(#terminal-2584624102-line-9)">,&#160;</text><text class="terminal-2584624102-r3" x="73.2" y="239.6" textLength="195.2" clip-path="url(#terminal-2584624102-line-9)">--root-directory</text><text class="terminal-2584624102-r3" x="280.6" y="239.6" textLength="170.8" clip-path="url(#terminal-2584624102-line-9)">ROOT_DIRECTORY</text><text class="terminal-2584624102-r2" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-2584624102-line-9)">
</text><text class="terminal-2584624102-r2" x="292.8" y="264" textLength="451.4" clip-path="url(#terminal-2584624102-line-10)">Root&#160;directory&#160;containing&#160;the&#160;images.</text><text class="terminal-2584624102-r2" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-2584624102-line-10)">
</text><text class="terminal-2584624102-r3" x="24.4" y="288.4" textLength="24.4" clip-path="url(#terminal-2584624102-line-11)">-w</text><text class="terminal-2584624102-r2" x="48.8" y="288.4" textLength="24.4" clip-path="url(#terminal-2584624102-line-11)">,&#160;</text><text class="terminal-2584624102-r3" x="73.2" y="288.4" textLength="170.8" clip-path="url(#terminal-2584624102-line-11)">--web-root-url</text><text class="terminal-2584624102-r3" x="256.2" y="288.4" textLength="146.4" clip-path="url(#terminal-2584624102-line-11)">WEB_ROOT_URL</text><text class="terminal-2584624102-r2" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-2584624102-line-11)">
</text><text class="terminal-2584624102-r2" x="292.8" y="312.8" textLength="634.4" clip-path="url(#terminal-2584624102-line-12)">Base&#160;URL&#160;of&#160;the&#160;web&#160;root&#160;for&#160;the&#160;image&#160;hosting&#160;site.</text><text class="terminal-2584624102-r2" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-2584624102-line-12)">
</text><text class="terminal-2584624102-r3" x="24.4" y="337.2" textLength="24.4" clip-path="url(#terminal-2584624102-line-13)">-t</text><text class="terminal-2584624102-r2" x="48.8" y="337.2" textLength="24.4" clip-path="url(#terminal-2584624102-line-13)">,&#160;</text><text class="terminal-2584624102-r3" x="73.2" y="337.2" textLength="146.4" clip-path="url(#terminal-2584624102-line-13)">--site-title</text><text class="terminal-2584624102-r3" x="231.8" y="337.2" textLength="122" clip-path="url(#terminal-2584624102-line-13)">SITE_TITLE</text><text class="terminal-2584624102-r2" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-2584624102-line-13)">
</text><text class="terminal-2584624102-r2" x="292.8" y="361.6" textLength="390.4" clip-path="url(#terminal-2584624102-line-14)">Title&#160;of&#160;the&#160;image&#160;hosting&#160;site.</text><text class="terminal-2584624102-r2" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-2584624102-line-14)">
</text><text class="terminal-2584624102-r3" x="24.4" y="386" textLength="24.4" clip-path="url(#terminal-2584624102-line-15)">-r</text><text class="terminal-2584624102-r2" x="48.8" y="386" textLength="24.4" clip-path="url(#terminal-2584624102-line-15)">,&#160;</text><text class="terminal-2584624102-r3" x="73.2" y="386" textLength="280.6" clip-path="url(#terminal-2584624102-line-15)">--regenerate-thumbnails</text><text class="terminal-2584624102-r2" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-2584624102-line-15)">
</text><text class="terminal-2584624102-r2" x="292.8" y="410.4" textLength="597.8" clip-path="url(#terminal-2584624102-line-16)">Regenerate&#160;thumbnails&#160;even&#160;if&#160;they&#160;already&#160;exist.</text><text class="terminal-2584624102-r2" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-2584624102-line-16)">
</text><text class="terminal-2584624102-r3" x="24.4" y="434.8" textLength="24.4" clip-path="url(#terminal-2584624102-line-17)">-n</text><text class="terminal-2584624102-r2" x="48.8" y="434.8" textLength="24.4" clip-path="url(#terminal-2584624102-line-17)">,&#160;</text><text class="terminal-2584624102-r3" x="73.2" y="434.8" textLength="268.4" clip-path="url(#terminal-2584624102-line-17)">--non-interactive-mode</text><text class="terminal-2584624102-r2" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-2584624102-line-17)">
</text><text class="terminal-2584624102-r2" x="292.8" y="459.2" textLength="646.6" clip-path="url(#terminal-2584624102-line-18)">Run&#160;in&#160;non-interactive&#160;mode,&#160;disabling&#160;progress&#160;bars.</text><text class="terminal-2584624102-r2" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-2584624102-line-18)">
</text><text class="terminal-2584624102-r3" x="24.4" y="483.6" textLength="24.4" clip-path="url(#terminal-2584624102-line-19)">-l</text><text class="terminal-2584624102-r2" x="48.8" y="483.6" textLength="24.4" clip-path="url(#terminal-2584624102-line-19)">,&#160;</text><text class="terminal-2584624102-r3" x="73.2" y="483.6" textLength="170.8" clip-path="url(#terminal-2584624102-line-19)">--license-type</text><text class="terminal-2584624102-r3" x="256.2" y="483.6" textLength="805.2" clip-path="url(#terminal-2584624102-line-19)">{cc-zero,cc-by,cc-by-sa,cc-by-nd,cc-by-nc,cc-by-nc-sa,cc-by-nc-nd}</text><text class="terminal-2584624102-r2" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-2584624102-line-19)">
</text><text class="terminal-2584624102-r2" x="292.8" y="508" textLength="488" clip-path="url(#terminal-2584624102-line-20)">Specify&#160;the&#160;license&#160;type&#160;for&#160;the&#160;images.</text><text class="terminal-2584624102-r2" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-2584624102-line-20)">
</text><text class="terminal-2584624102-r3" x="24.4" y="532.4" textLength="24.4" clip-path="url(#terminal-2584624102-line-21)">-a</text><text class="terminal-2584624102-r2" x="48.8" y="532.4" textLength="24.4" clip-path="url(#terminal-2584624102-line-21)">,&#160;</text><text class="terminal-2584624102-r3" x="73.2" y="532.4" textLength="158.6" clip-path="url(#terminal-2584624102-line-21)">--author-name</text><text class="terminal-2584624102-r3" x="244" y="532.4" textLength="134.2" clip-path="url(#terminal-2584624102-line-21)">AUTHOR_NAME</text><text class="terminal-2584624102-r2" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-2584624102-line-21)">
</text><text class="terminal-2584624102-r2" x="292.8" y="556.8" textLength="402.6" clip-path="url(#terminal-2584624102-line-22)">Name&#160;of&#160;the&#160;author&#160;of&#160;the&#160;images.</text><text class="terminal-2584624102-r2" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-2584624102-line-22)">
</text><text class="terminal-2584624102-r3" x="24.4" y="581.2" textLength="24.4" clip-path="url(#terminal-2584624102-line-23)">-e</text><text class="terminal-2584624102-r2" x="48.8" y="581.2" textLength="24.4" clip-path="url(#terminal-2584624102-line-23)">,&#160;</text><text class="terminal-2584624102-r3" x="73.2" y="581.2" textLength="207.4" clip-path="url(#terminal-2584624102-line-23)">--file-extensions</text><text class="terminal-2584624102-r3" x="292.8" y="581.2" textLength="183" clip-path="url(#terminal-2584624102-line-23)">FILE_EXTENSIONS</text><text class="terminal-2584624102-r2" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-2584624102-line-23)">
</text><text class="terminal-2584624102-r2" x="292.8" y="605.6" textLength="744.2" clip-path="url(#terminal-2584624102-line-24)">File&#160;extensions&#160;to&#160;include&#160;(can&#160;be&#160;specified&#160;multiple&#160;times).</text><text class="terminal-2584624102-r2" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-2584624102-line-24)">
</text><text class="terminal-2584624102-r3" x="24.4" y="630" textLength="146.4" clip-path="url(#terminal-2584624102-line-25)">--theme-path</text><text class="terminal-2584624102-r3" x="183" y="630" textLength="122" clip-path="url(#terminal-2584624102-line-25)">THEME_PATH</text><text class="terminal-2584624102-r2" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-2584624102-line-25)">
</text><text class="terminal-2584624102-r2" x="292.8" y="654.4" textLength="329.4" clip-path="url(#terminal-2584624102-line-26)">Path&#160;to&#160;the&#160;CSS&#160;theme&#160;file.</text><text class="terminal-2584624102-r2" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-2584624102-line-26)">
</text><text class="terminal-2584624102-r3" x="24.4" y="678.8" textLength="231.8" clip-path="url(#terminal-2584624102-line-27)">--use-fancy-folders</text><text class="terminal-2584624102-r2" x="292.8" y="678.8" textLength="890.6" clip-path="url(#terminal-2584624102-line-27)">Enable&#160;fancy&#160;folder&#160;view&#160;instead&#160;of&#160;the&#160;default&#160;Apache&#160;directory&#160;listing.</text><text class="terminal-2584624102-r2" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-2584624102-line-27)">
</text><text class="terminal-2584624102-r3" x="24.4" y="703.2" textLength="244" clip-path="url(#terminal-2584624102-line-28)">--ignore-other-files</text><text class="terminal-2584624102-r2" x="292.8" y="703.2" textLength="683.2" clip-path="url(#terminal-2584624102-line-28)">Ignore&#160;files&#160;that&#160;do&#160;not&#160;match&#160;the&#160;specified&#160;extensions.</text><text class="terminal-2584624102-r2" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-2584624102-line-28)">
</text><text class="terminal-2584624102-r3" x="24.4" y="727.6" textLength="195.2" clip-path="url(#terminal-2584624102-line-29)">--exclude-folder</text><text class="terminal-2584624102-r3" x="231.8" y="727.6" textLength="183" clip-path="url(#terminal-2584624102-line-29)">EXCLUDE_FOLDERS</text><text class="terminal-2584624102-r2" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-2584624102-line-29)">
</text><text class="terminal-2584624102-r2" x="292.8" y="752" textLength="841.8" clip-path="url(#terminal-2584624102-line-30)">Folders&#160;to&#160;exclude&#160;from&#160;processing&#160;(can&#160;be&#160;specified&#160;multiple&#160;times).</text><text class="terminal-2584624102-r2" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-2584624102-line-30)">
</text><text class="terminal-2584624102-r3" x="24.4" y="776.4" textLength="109.8" clip-path="url(#terminal-2584624102-line-31)">--version</text><text class="terminal-2584624102-r2" x="292.8" y="776.4" textLength="463.6" clip-path="url(#terminal-2584624102-line-31)">show&#160;program&#x27;s&#160;version&#160;number&#160;and&#160;exit</text><text class="terminal-2584624102-r2" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-2584624102-line-31)">
</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB