mirror of
https://github.com/greflm13/StaticGalleryBuilder.git
synced 2026-02-05 11:09:26 +00:00
added webmanifest support
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -164,3 +164,5 @@ cython_debug/
|
|||||||
test/.static
|
test/.static
|
||||||
test/.thumbnails
|
test/.thumbnails
|
||||||
test/**/index.html
|
test/**/index.html
|
||||||
|
test/**/.sizelist.json
|
||||||
|
test/manifest.json
|
||||||
11
README.md
11
README.md
@@ -16,6 +16,7 @@
|
|||||||
- **Selective File Extensions:** Ability to specify which file extensions to include in the gallery.
|
- **Selective File Extensions:** Ability to specify which file extensions to include in the gallery.
|
||||||
- **Ignore Other Files:** Option to ignore files other than those specified by the included extensions.
|
- **Ignore Other Files:** Option to ignore files other than those specified by the included extensions.
|
||||||
- **Info Tooltips:** Display additional information as tooltips for images if an `info` file is present in the directory.
|
- **Info Tooltips:** Display additional information as tooltips for images if an `info` file is present in the directory.
|
||||||
|
- **Generate Web Manifest:** Ability to generate a web manifest file for PWA (Progressive Web App) support.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
@@ -25,13 +26,14 @@
|
|||||||
- `Jinja2` library
|
- `Jinja2` library
|
||||||
- `Pillow` library
|
- `Pillow` library
|
||||||
- `rich_argparse` library
|
- `rich_argparse` library
|
||||||
|
- `cairosvg` library (for SVG to PNG icon conversion)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Install the required libraries using pip:
|
Install the required libraries using pip:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
pip install numpy tqdm Jinja2 Pillow rich-argparse
|
pip install numpy tqdm Jinja2 Pillow rich-argparse cairosvg
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@@ -56,6 +58,7 @@ The script supports several command-line options to customize its behavior. Belo
|
|||||||
- `--ignore-other-files`: Ignore files that do not match the specified extensions.
|
- `--ignore-other-files`: Ignore files that do not match the specified extensions.
|
||||||
- `--exclude-folder FOLDER`: Specify folders to exclude from processing. This option can be specified multiple times.
|
- `--exclude-folder FOLDER`: Specify folders to exclude from processing. This option can be specified multiple times.
|
||||||
- `--version`: Show the version number of the script and exit.
|
- `--version`: Show the version number of the script and exit.
|
||||||
|
- `-m, --web-manifest`: Generate a web manifest file.
|
||||||
|
|
||||||
### Examples
|
### Examples
|
||||||
|
|
||||||
@@ -89,6 +92,12 @@ To exclude specific folders and specify file extensions:
|
|||||||
./builder.py -p /data/pictures -w https://pictures.example.com -t "My Photo Gallery" --exclude-folder Archives --exclude-folder Temp -e .jpg -e .jpeg -e .png
|
./builder.py -p /data/pictures -w https://pictures.example.com -t "My Photo Gallery" --exclude-folder Archives --exclude-folder Temp -e .jpg -e .jpeg -e .png
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To generate a web manifest file:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
./builder.py -p /data/pictures -w https://pictures.example.com -t "My Photo Gallery" -m
|
||||||
|
```
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- The root and web root paths must point to the same folder, one on the filesystem and one on the web server. Use absolute paths.
|
- The root and web root paths must point to the same folder, one on the filesystem and one on the web server. Use absolute paths.
|
||||||
|
|||||||
@@ -29,6 +29,30 @@
|
|||||||
"gitblame.inlineMessageEnabled": true,
|
"gitblame.inlineMessageEnabled": true,
|
||||||
"gitblame.inlineMessageFormat": "${author.name}, ${time.ago} • ${commit.summary}",
|
"gitblame.inlineMessageFormat": "${author.name}, ${time.ago} • ${commit.summary}",
|
||||||
"gitblame.statusBarMessageFormat": "${author.name} (${time.ago})",
|
"gitblame.statusBarMessageFormat": "${author.name} (${time.ago})",
|
||||||
|
"html.format.templating": true,
|
||||||
|
"html.format.wrapAttributes": "preserve",
|
||||||
|
"html.format.wrapLineLength": 200,
|
||||||
|
"html.format.indentHandlebars": true,
|
||||||
|
"html.suggest.html5": true,
|
||||||
|
"html.hover.documentation": true,
|
||||||
|
"html.validate.scripts": true,
|
||||||
|
"html.validate.styles": true,
|
||||||
|
"prettier.htmlWhitespaceSensitivity": "css",
|
||||||
|
"json.schemaDownload.enable": true,
|
||||||
|
"json.schemas": [
|
||||||
|
{
|
||||||
|
"fileMatch": [
|
||||||
|
"manifest.json.j2"
|
||||||
|
],
|
||||||
|
"url": "https://json.schemastore.org/web-manifest-combined.json"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"emmet.includeLanguages": {
|
||||||
|
"jinja-html": "html",
|
||||||
|
"jinja-css": "css",
|
||||||
|
"jinja-js": "javascript",
|
||||||
|
"jinja-json": "json"
|
||||||
|
},
|
||||||
"[python]": {
|
"[python]": {
|
||||||
"editor.defaultFormatter": "ms-python.black-formatter"
|
"editor.defaultFormatter": "ms-python.black-formatter"
|
||||||
},
|
},
|
||||||
@@ -41,10 +65,9 @@
|
|||||||
"[jinja-css]": {
|
"[jinja-css]": {
|
||||||
"editor.defaultFormatter": "vscode.css-language-features"
|
"editor.defaultFormatter": "vscode.css-language-features"
|
||||||
},
|
},
|
||||||
"html.format.templating": true,
|
"[jinja-js]": {
|
||||||
"html.format.wrapAttributes": "preserve",
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
"html.format.wrapLineLength": 200,
|
},
|
||||||
"html.format.indentHandlebars": true
|
|
||||||
},
|
},
|
||||||
"extensions": {
|
"extensions": {
|
||||||
"recommendations": [
|
"recommendations": [
|
||||||
@@ -76,8 +99,9 @@
|
|||||||
"-t",
|
"-t",
|
||||||
"Pictures",
|
"Pictures",
|
||||||
"--theme",
|
"--theme",
|
||||||
"themes/kjoe.css",
|
"themes/default.css",
|
||||||
"--use-fancy-folders",
|
"--use-fancy-folders",
|
||||||
|
"--web-manifest",
|
||||||
"-n"
|
"-n"
|
||||||
],
|
],
|
||||||
"postDebugTask": "Delete Lockfile"
|
"postDebugTask": "Delete Lockfile"
|
||||||
@@ -98,6 +122,7 @@
|
|||||||
"--theme",
|
"--theme",
|
||||||
"themes/kjoe.css",
|
"themes/kjoe.css",
|
||||||
"--use-fancy-folders",
|
"--use-fancy-folders",
|
||||||
|
"--web-manifest",
|
||||||
"-n"
|
"-n"
|
||||||
],
|
],
|
||||||
"postDebugTask": "Delete Lockfile 2"
|
"postDebugTask": "Delete Lockfile 2"
|
||||||
|
|||||||
119
builder.py
119
builder.py
@@ -14,6 +14,14 @@ from tqdm.auto import tqdm
|
|||||||
from PIL import Image
|
from PIL import Image
|
||||||
from rich_argparse import RichHelpFormatter, HelpPreviewAction
|
from rich_argparse import RichHelpFormatter, HelpPreviewAction
|
||||||
|
|
||||||
|
try:
|
||||||
|
import cairosvg
|
||||||
|
from io import BytesIO
|
||||||
|
|
||||||
|
svgsupport = True
|
||||||
|
except:
|
||||||
|
svgsupport = False
|
||||||
|
|
||||||
import cclicense
|
import cclicense
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
@@ -23,11 +31,12 @@ 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.8.1"
|
VERSION = "1.9.0"
|
||||||
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", ".sizelist.json", ".thumbnails", ".static"]
|
EXCLUDES = [".lock", "index.html", "manifest.json", ".sizelist.json", ".thumbnails", ".static"]
|
||||||
NOT_LIST = ["*/Galleries/*", "Archives"]
|
NOT_LIST = ["*/Galleries/*", "Archives"]
|
||||||
|
ICON_SIZES = ["36x36", "48x48", "72x72", "96x96", "144x144", "192x192", "512x512"]
|
||||||
# fmt: on
|
# fmt: on
|
||||||
|
|
||||||
# Initialize Jinja2 environment
|
# Initialize Jinja2 environment
|
||||||
@@ -36,19 +45,26 @@ thumbnails: List[Tuple[str, str]] = []
|
|||||||
info: Dict[str, str] = {}
|
info: Dict[str, str] = {}
|
||||||
|
|
||||||
|
|
||||||
|
class Icon:
|
||||||
|
src: str
|
||||||
|
type: str
|
||||||
|
sizes: str
|
||||||
|
|
||||||
|
|
||||||
class Args:
|
class Args:
|
||||||
root_directory: str
|
|
||||||
web_root_url: str
|
|
||||||
site_title: str
|
|
||||||
regenerate_thumbnails: bool
|
|
||||||
non_interactive_mode: bool
|
|
||||||
use_fancy_folders: bool
|
|
||||||
license_type: Optional[str]
|
|
||||||
author_name: str
|
author_name: str
|
||||||
file_extensions: List[str]
|
|
||||||
theme_path: str
|
|
||||||
ignore_other_files: bool
|
|
||||||
exclude_folders: List[str]
|
exclude_folders: List[str]
|
||||||
|
file_extensions: List[str]
|
||||||
|
generate_webmanifest: bool
|
||||||
|
ignore_other_files: bool
|
||||||
|
license_type: Optional[str]
|
||||||
|
non_interactive_mode: bool
|
||||||
|
regenerate_thumbnails: bool
|
||||||
|
root_directory: str
|
||||||
|
site_title: str
|
||||||
|
theme_path: str
|
||||||
|
use_fancy_folders: bool
|
||||||
|
web_root_url: str
|
||||||
|
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
@@ -62,6 +78,7 @@ def parse_arguments() -> Args:
|
|||||||
parser.add_argument("-l", "--license-type", help="Specify the license type for the images.", choices=["cc-zero", "cc-by", "cc-by-sa", "cc-by-nd", "cc-by-nc", "cc-by-nc-sa", "cc-by-nc-nd"], default=None, dest="license_type", metavar="LICENSE")
|
parser.add_argument("-l", "--license-type", help="Specify the license type for the images.", choices=["cc-zero", "cc-by", "cc-by-sa", "cc-by-nd", "cc-by-nc", "cc-by-nc-sa", "cc-by-nc-nd"], default=None, dest="license_type", metavar="LICENSE")
|
||||||
parser.add_argument("-a", "--author-name", help="Name of the author of the images.", default=DEFAULT_AUTHOR, type=str, dest="author_name", metavar="AUTHOR")
|
parser.add_argument("-a", "--author-name", help="Name of the author of the images.", default=DEFAULT_AUTHOR, type=str, dest="author_name", metavar="AUTHOR")
|
||||||
parser.add_argument("-e", "--file-extensions", help="File extensions to include (can be specified multiple times).", action="append", dest="file_extensions", metavar="EXTENSION")
|
parser.add_argument("-e", "--file-extensions", help="File extensions to include (can be specified multiple times).", action="append", dest="file_extensions", metavar="EXTENSION")
|
||||||
|
parser.add_argument("-m", "--web-manifest", help="Generate a web manifest file.", action="store_true", default=False, dest="generate_webmanifest")
|
||||||
parser.add_argument("--theme-path", help="Path to the CSS theme file.", default=DEFAULT_THEME_PATH, type=str, dest="theme_path", metavar="PATH")
|
parser.add_argument("--theme-path", help="Path to the CSS theme file.", default=DEFAULT_THEME_PATH, type=str, dest="theme_path", metavar="PATH")
|
||||||
parser.add_argument("--use-fancy-folders", help="Enable fancy folder view instead of the default Apache directory listing.", action="store_true", default=False, dest="use_fancy_folders")
|
parser.add_argument("--use-fancy-folders", help="Enable fancy folder view instead of the default Apache directory listing.", action="store_true", default=False, dest="use_fancy_folders")
|
||||||
parser.add_argument("--ignore-other-files", help="Ignore files that do not match the specified extensions.", action="store_true", default=False, dest="ignore_other_files")
|
parser.add_argument("--ignore-other-files", help="Ignore files that do not match the specified extensions.", action="store_true", default=False, dest="ignore_other_files")
|
||||||
@@ -70,18 +87,19 @@ def parse_arguments() -> Args:
|
|||||||
parser.add_argument("--generate-help-preview", action=HelpPreviewAction, path="help.svg")
|
parser.add_argument("--generate-help-preview", action=HelpPreviewAction, path="help.svg")
|
||||||
parsed_args = parser.parse_args()
|
parsed_args = parser.parse_args()
|
||||||
_args = Args()
|
_args = Args()
|
||||||
_args.root_directory = parsed_args.root_directory
|
|
||||||
_args.web_root_url = parsed_args.web_root_url
|
|
||||||
_args.site_title = parsed_args.site_title
|
|
||||||
_args.regenerate_thumbnails = parsed_args.regenerate_thumbnails
|
|
||||||
_args.non_interactive_mode = parsed_args.non_interactive_mode
|
|
||||||
_args.use_fancy_folders = parsed_args.use_fancy_folders
|
|
||||||
_args.license_type = parsed_args.license_type
|
|
||||||
_args.author_name = parsed_args.author_name
|
_args.author_name = parsed_args.author_name
|
||||||
_args.file_extensions = parsed_args.file_extensions
|
|
||||||
_args.theme_path = parsed_args.theme_path
|
|
||||||
_args.ignore_other_files = parsed_args.ignore_other_files
|
|
||||||
_args.exclude_folders = parsed_args.exclude_folders
|
_args.exclude_folders = parsed_args.exclude_folders
|
||||||
|
_args.file_extensions = parsed_args.file_extensions
|
||||||
|
_args.generate_webmanifest = parsed_args.generate_webmanifest
|
||||||
|
_args.ignore_other_files = parsed_args.ignore_other_files
|
||||||
|
_args.license_type = parsed_args.license_type
|
||||||
|
_args.non_interactive_mode = parsed_args.non_interactive_mode
|
||||||
|
_args.regenerate_thumbnails = parsed_args.regenerate_thumbnails
|
||||||
|
_args.root_directory = parsed_args.root_directory
|
||||||
|
_args.site_title = parsed_args.site_title
|
||||||
|
_args.theme_path = parsed_args.theme_path
|
||||||
|
_args.use_fancy_folders = parsed_args.use_fancy_folders
|
||||||
|
_args.web_root_url = parsed_args.web_root_url
|
||||||
return _args
|
return _args
|
||||||
# fmt: on
|
# fmt: on
|
||||||
|
|
||||||
@@ -105,6 +123,58 @@ def copy_static_files(_args: Args) -> None:
|
|||||||
shutil.copyfile(_args.theme_path, os.path.join(_args.root_directory, ".static", "theme.css"))
|
shutil.copyfile(_args.theme_path, os.path.join(_args.root_directory, ".static", "theme.css"))
|
||||||
|
|
||||||
|
|
||||||
|
def webmanifest(_args: Args) -> None:
|
||||||
|
icons: List[Icon] = []
|
||||||
|
files = os.listdir(os.path.join(STATIC_FILES_DIR, "icons"))
|
||||||
|
if svgsupport and any(file.endswith(".svg") for file in files):
|
||||||
|
svg = [file for file in files if file.endswith(".svg")][0]
|
||||||
|
icons.append({"src": f"/icons/svg", "type": "image/svg+xml", "sizes": "any"})
|
||||||
|
for size in ICON_SIZES:
|
||||||
|
tmpimg = BytesIO()
|
||||||
|
sizes = size.split("x")
|
||||||
|
iconpath = os.path.join(_args.root_directory, ".static", "icons", os.path.splitext(svg)[0] + "-" + size + ".png")
|
||||||
|
cairosvg.svg2png(
|
||||||
|
url=os.path.join(STATIC_FILES_DIR, "icons", svg),
|
||||||
|
write_to=tmpimg,
|
||||||
|
output_width=int(sizes[0]),
|
||||||
|
output_height=int(sizes[1]),
|
||||||
|
scale=1,
|
||||||
|
)
|
||||||
|
with Image.open(tmpimg) as iconfile:
|
||||||
|
iconfile.save(iconpath, format="PNG")
|
||||||
|
icons.append({"src": iconpath, "sizes": size, "type": "image/png"})
|
||||||
|
else:
|
||||||
|
for icon in os.listdir(os.path.join(STATIC_FILES_DIR, "icons")):
|
||||||
|
if not icon.endswith(".png"):
|
||||||
|
continue
|
||||||
|
with Image.open(os.path.join(STATIC_FILES_DIR, "icons", icon)) as iconfile:
|
||||||
|
iconsize = f"{iconfile.size[0]}x{iconfile.size[1]}"
|
||||||
|
icons.append({"src": f".static/pwa/icons/{icon}", "sizes": iconsize, "type": "image/png"})
|
||||||
|
if len(icons) == 0:
|
||||||
|
print("No icons found in the static/icons folder!")
|
||||||
|
return
|
||||||
|
|
||||||
|
site_id = urllib.parse.quote(_args.web_root_url.replace("https://", "").replace("http://", "").replace("/", ""))
|
||||||
|
with open(os.path.join(_args.root_directory, ".static", "theme.css")) as f:
|
||||||
|
content = f.read()
|
||||||
|
background_color = (
|
||||||
|
content.replace("body{", "body {").split("body {")[1].split("}")[0].split("background-color:")[1].split(";")[0].strip()
|
||||||
|
)
|
||||||
|
theme_color = (
|
||||||
|
content.replace(".navbar{", "navbar {").split(".navbar {")[1].split("}")[0].split("background-color:")[1].split(";")[0].strip()
|
||||||
|
)
|
||||||
|
with open(os.path.join(_args.root_directory, "manifest.json"), "w", encoding="utf-8") as f:
|
||||||
|
manifest = env.get_template("manifest.json.j2")
|
||||||
|
content = manifest.render(
|
||||||
|
name=_args.site_title,
|
||||||
|
icons=icons,
|
||||||
|
id=site_id,
|
||||||
|
background_color=background_color,
|
||||||
|
theme_color=theme_color,
|
||||||
|
)
|
||||||
|
f.write(content)
|
||||||
|
|
||||||
|
|
||||||
def generate_thumbnail(arguments: Tuple[str, str]) -> None:
|
def generate_thumbnail(arguments: Tuple[str, str]) -> None:
|
||||||
folder, item = arguments
|
folder, item = arguments
|
||||||
path = os.path.join(args.root_directory, ".thumbnails", folder.removeprefix(args.root_directory), os.path.splitext(item)[0]) + ".jpg"
|
path = os.path.join(args.root_directory, ".thumbnails", folder.removeprefix(args.root_directory), os.path.splitext(item)[0]) + ".jpg"
|
||||||
@@ -250,6 +320,7 @@ def list_folder(folder: str, title: str) -> None:
|
|||||||
images=image_chunks,
|
images=image_chunks,
|
||||||
info=_info,
|
info=_info,
|
||||||
allimages=images,
|
allimages=images,
|
||||||
|
webmanifest=args.generate_webmanifest,
|
||||||
)
|
)
|
||||||
f.write(content)
|
f.write(content)
|
||||||
else:
|
else:
|
||||||
@@ -277,6 +348,10 @@ def main() -> None:
|
|||||||
print("Copying static files...")
|
print("Copying static files...")
|
||||||
copy_static_files(args)
|
copy_static_files(args)
|
||||||
|
|
||||||
|
if args.generate_webmanifest:
|
||||||
|
print("Generating webmanifest...")
|
||||||
|
webmanifest(args)
|
||||||
|
|
||||||
if args.non_interactive_mode:
|
if args.non_interactive_mode:
|
||||||
print("Generating HTML files...")
|
print("Generating HTML files...")
|
||||||
list_folder(args.root_directory, args.site_title)
|
list_folder(args.root_directory, args.site_title)
|
||||||
|
|||||||
27
files/icons/icon.svg
Normal file
27
files/icons/icon.svg
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
fill="#000000"
|
||||||
|
height="800px"
|
||||||
|
width="800px"
|
||||||
|
version="1.1"
|
||||||
|
id="Capa_1"
|
||||||
|
viewBox="0 0 307.308 307.308"
|
||||||
|
xml:space="preserve"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
id="_x31_1-DSLR_Camera">
|
||||||
|
<path
|
||||||
|
d="M284.909,66.146h-81.345l-16.426-27.595c-1.607-2.698-4.514-4.351-7.654-4.351h-51.662c-3.14,0-6.048,1.653-7.654,4.351 l-16.426,27.595H77.049v-6.082c0-4.919-3.988-8.907-8.907-8.907H35.185c-4.92,0-8.907,3.988-8.907,8.907v6.082h-3.88 C10.027,66.146,0,76.174,0,88.543v162.166c0,12.37,10.027,22.398,22.397,22.398h262.512c12.37,0,22.398-10.028,22.398-22.398 V88.543C307.308,76.174,297.279,66.146,284.909,66.146z M153.653,233.379c-35.21,0-63.753-28.543-63.753-63.754 c0-35.209,28.543-63.753,63.753-63.753c35.21,0,63.753,28.544,63.753,63.753C217.406,204.836,188.863,233.379,153.653,233.379z M270.935,112.322h-27.91c-4.919,0-8.907-3.988-8.907-8.908c0-4.92,3.988-8.908,8.907-8.908h27.91c4.921,0,8.908,3.988,8.908,8.908 C279.843,108.334,275.855,112.322,270.935,112.322z"
|
||||||
|
id="path1" />
|
||||||
|
<circle
|
||||||
|
cx="153.653"
|
||||||
|
cy="169.625"
|
||||||
|
r="44.538"
|
||||||
|
id="circle1" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
435
help.svg
435
help.svg
@@ -1,287 +1,182 @@
|
|||||||
<svg class="rich-terminal" viewBox="0 0 1482 757.5999999999999" xmlns="http://www.w3.org/2000/svg">
|
<svg class="rich-terminal" viewBox="0 0 1482 806.4" xmlns="http://www.w3.org/2000/svg">
|
||||||
<!-- Generated with Rich https://www.textualize.io -->
|
<!-- Generated with Rich https://www.textualize.io -->
|
||||||
<style>
|
<style>
|
||||||
@font-face {
|
|
||||||
font-family: "Fira Code";
|
@font-face {
|
||||||
src: local("FiraCode-Regular"),
|
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/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
|
@font-face {
|
||||||
@font-face {
|
font-family: "Fira Code";
|
||||||
font-family: "Fira Code";
|
src: local("FiraCode-Bold"),
|
||||||
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/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||||
font-style: bold;
|
font-style: bold;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-3216112738-matrix {
|
.terminal-3756623299-matrix {
|
||||||
font-family: Fira Code, monospace;
|
font-family: Fira Code, monospace;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
line-height: 24.4px;
|
line-height: 24.4px;
|
||||||
font-variant-east-asian: full-width;
|
font-variant-east-asian: full-width;
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-3216112738-title {
|
.terminal-3756623299-title {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-family: arial;
|
font-family: arial;
|
||||||
}
|
}
|
||||||
|
|
||||||
.terminal-3216112738-r1 {
|
.terminal-3756623299-r1 { fill: #ff8700 }
|
||||||
fill: #ff8700
|
.terminal-3756623299-r2 { fill: #c5c8c6 }
|
||||||
}
|
.terminal-3756623299-r3 { fill: #808080 }
|
||||||
|
.terminal-3756623299-r4 { fill: #68a0b3 }
|
||||||
.terminal-3216112738-r2 {
|
.terminal-3756623299-r5 { fill: #00af87 }
|
||||||
fill: #c5c8c6
|
|
||||||
}
|
|
||||||
|
|
||||||
.terminal-3216112738-r3 {
|
|
||||||
fill: #808080
|
|
||||||
}
|
|
||||||
|
|
||||||
.terminal-3216112738-r4 {
|
|
||||||
fill: #68a0b3
|
|
||||||
}
|
|
||||||
|
|
||||||
.terminal-3216112738-r5 {
|
|
||||||
fill: #00af87
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<defs>
|
<defs>
|
||||||
<clipPath id="terminal-3216112738-clip-terminal">
|
<clipPath id="terminal-3756623299-clip-terminal">
|
||||||
<rect x="0" y="0" width="1463.0" height="706.5999999999999" />
|
<rect x="0" y="0" width="1463.0" height="755.4" />
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-0">
|
<clipPath id="terminal-3756623299-line-0">
|
||||||
<rect x="0" y="1.5" width="1464" height="24.65" />
|
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-1">
|
<clipPath id="terminal-3756623299-line-1">
|
||||||
<rect x="0" y="25.9" width="1464" height="24.65" />
|
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-2">
|
<clipPath id="terminal-3756623299-line-2">
|
||||||
<rect x="0" y="50.3" width="1464" height="24.65" />
|
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-3">
|
<clipPath id="terminal-3756623299-line-3">
|
||||||
<rect x="0" y="74.7" width="1464" height="24.65" />
|
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-4">
|
<clipPath id="terminal-3756623299-line-4">
|
||||||
<rect x="0" y="99.1" width="1464" height="24.65" />
|
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-5">
|
<clipPath id="terminal-3756623299-line-5">
|
||||||
<rect x="0" y="123.5" width="1464" height="24.65" />
|
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-6">
|
<clipPath id="terminal-3756623299-line-6">
|
||||||
<rect x="0" y="147.9" width="1464" height="24.65" />
|
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-7">
|
<clipPath id="terminal-3756623299-line-7">
|
||||||
<rect x="0" y="172.3" width="1464" height="24.65" />
|
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-8">
|
<clipPath id="terminal-3756623299-line-8">
|
||||||
<rect x="0" y="196.7" width="1464" height="24.65" />
|
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-9">
|
<clipPath id="terminal-3756623299-line-9">
|
||||||
<rect x="0" y="221.1" width="1464" height="24.65" />
|
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-10">
|
<clipPath id="terminal-3756623299-line-10">
|
||||||
<rect x="0" y="245.5" width="1464" height="24.65" />
|
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-11">
|
<clipPath id="terminal-3756623299-line-11">
|
||||||
<rect x="0" y="269.9" width="1464" height="24.65" />
|
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-12">
|
<clipPath id="terminal-3756623299-line-12">
|
||||||
<rect x="0" y="294.3" width="1464" height="24.65" />
|
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-13">
|
<clipPath id="terminal-3756623299-line-13">
|
||||||
<rect x="0" y="318.7" width="1464" height="24.65" />
|
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-14">
|
<clipPath id="terminal-3756623299-line-14">
|
||||||
<rect x="0" y="343.1" width="1464" height="24.65" />
|
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-15">
|
<clipPath id="terminal-3756623299-line-15">
|
||||||
<rect x="0" y="367.5" width="1464" height="24.65" />
|
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-16">
|
<clipPath id="terminal-3756623299-line-16">
|
||||||
<rect x="0" y="391.9" width="1464" height="24.65" />
|
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-17">
|
<clipPath id="terminal-3756623299-line-17">
|
||||||
<rect x="0" y="416.3" width="1464" height="24.65" />
|
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-18">
|
<clipPath id="terminal-3756623299-line-18">
|
||||||
<rect x="0" y="440.7" width="1464" height="24.65" />
|
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-19">
|
<clipPath id="terminal-3756623299-line-19">
|
||||||
<rect x="0" y="465.1" width="1464" height="24.65" />
|
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-20">
|
<clipPath id="terminal-3756623299-line-20">
|
||||||
<rect x="0" y="489.5" width="1464" height="24.65" />
|
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-21">
|
<clipPath id="terminal-3756623299-line-21">
|
||||||
<rect x="0" y="513.9" width="1464" height="24.65" />
|
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-22">
|
<clipPath id="terminal-3756623299-line-22">
|
||||||
<rect x="0" y="538.3" width="1464" height="24.65" />
|
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-23">
|
<clipPath id="terminal-3756623299-line-23">
|
||||||
<rect x="0" y="562.7" width="1464" height="24.65" />
|
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-24">
|
<clipPath id="terminal-3756623299-line-24">
|
||||||
<rect x="0" y="587.1" width="1464" height="24.65" />
|
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-25">
|
<clipPath id="terminal-3756623299-line-25">
|
||||||
<rect x="0" y="611.5" width="1464" height="24.65" />
|
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-26">
|
<clipPath id="terminal-3756623299-line-26">
|
||||||
<rect x="0" y="635.9" width="1464" height="24.65" />
|
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<clipPath id="terminal-3216112738-line-27">
|
<clipPath id="terminal-3756623299-line-27">
|
||||||
<rect x="0" y="660.3" width="1464" height="24.65" />
|
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
|
<clipPath id="terminal-3756623299-line-28">
|
||||||
|
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="terminal-3756623299-line-29">
|
||||||
|
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||||
|
</clipPath>
|
||||||
</defs>
|
</defs>
|
||||||
|
|
||||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="755.6" rx="8" />
|
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="804.4" rx="8"/>
|
||||||
<g transform="translate(26,22)">
|
<g transform="translate(26,22)">
|
||||||
<circle cx="0" cy="0" r="7" fill="#ff5f57" />
|
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||||
<circle cx="22" cy="0" r="7" fill="#febc2e" />
|
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||||
<circle cx="44" cy="0" r="7" fill="#28c840" />
|
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<g transform="translate(9, 41)" clip-path="url(#terminal-3756623299-clip-terminal)">
|
||||||
|
|
||||||
|
<g class="terminal-3756623299-matrix">
|
||||||
|
<text class="terminal-3756623299-r1" x="0" y="20" textLength="73.2" clip-path="url(#terminal-3756623299-line-0)">Usage:</text><text class="terminal-3756623299-r3" x="85.4" y="20" textLength="122" clip-path="url(#terminal-3756623299-line-0)">builder.py</text><text class="terminal-3756623299-r2" x="207.4" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)"> [</text><text class="terminal-3756623299-r4" x="231.8" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)">-h</text><text class="terminal-3756623299-r2" x="256.2" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)">] </text><text class="terminal-3756623299-r4" x="280.6" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)">-p</text><text class="terminal-3756623299-r5" x="317.2" y="20" textLength="48.8" clip-path="url(#terminal-3756623299-line-0)">ROOT</text><text class="terminal-3756623299-r4" x="378.2" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)">-w</text><text class="terminal-3756623299-r5" x="414.8" y="20" textLength="36.6" clip-path="url(#terminal-3756623299-line-0)">URL</text><text class="terminal-3756623299-r4" x="463.6" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)">-t</text><text class="terminal-3756623299-r5" x="500.2" y="20" textLength="61" clip-path="url(#terminal-3756623299-line-0)">TITLE</text><text class="terminal-3756623299-r2" x="561.2" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)"> [</text><text class="terminal-3756623299-r4" x="585.6" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)">-r</text><text class="terminal-3756623299-r2" x="610" y="20" textLength="36.6" clip-path="url(#terminal-3756623299-line-0)">] [</text><text class="terminal-3756623299-r4" x="646.6" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)">-n</text><text class="terminal-3756623299-r2" x="671" y="20" textLength="36.6" clip-path="url(#terminal-3756623299-line-0)">] [</text><text class="terminal-3756623299-r4" x="707.6" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)">-l</text><text class="terminal-3756623299-r5" x="744.2" y="20" textLength="85.4" clip-path="url(#terminal-3756623299-line-0)">LICENSE</text><text class="terminal-3756623299-r2" x="829.6" y="20" textLength="36.6" clip-path="url(#terminal-3756623299-line-0)">] [</text><text class="terminal-3756623299-r4" x="866.2" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)">-a</text><text class="terminal-3756623299-r5" x="902.8" y="20" textLength="73.2" clip-path="url(#terminal-3756623299-line-0)">AUTHOR</text><text class="terminal-3756623299-r2" x="976" y="20" textLength="36.6" clip-path="url(#terminal-3756623299-line-0)">] [</text><text class="terminal-3756623299-r4" x="1012.6" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)">-e</text><text class="terminal-3756623299-r5" x="1049.2" y="20" textLength="109.8" clip-path="url(#terminal-3756623299-line-0)">EXTENSION</text><text class="terminal-3756623299-r2" x="1159" y="20" textLength="36.6" clip-path="url(#terminal-3756623299-line-0)">] [</text><text class="terminal-3756623299-r4" x="1195.6" y="20" textLength="24.4" clip-path="url(#terminal-3756623299-line-0)">-m</text><text class="terminal-3756623299-r2" x="1220" y="20" textLength="12.2" clip-path="url(#terminal-3756623299-line-0)">]</text><text class="terminal-3756623299-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-3756623299-line-0)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="0" y="44.4" textLength="231.8" clip-path="url(#terminal-3756623299-line-1)">                  [</text><text class="terminal-3756623299-r4" x="231.8" y="44.4" textLength="146.4" clip-path="url(#terminal-3756623299-line-1)">--theme-path</text><text class="terminal-3756623299-r5" x="390.4" y="44.4" textLength="48.8" clip-path="url(#terminal-3756623299-line-1)">PATH</text><text class="terminal-3756623299-r2" x="439.2" y="44.4" textLength="36.6" clip-path="url(#terminal-3756623299-line-1)">] [</text><text class="terminal-3756623299-r4" x="475.8" y="44.4" textLength="231.8" clip-path="url(#terminal-3756623299-line-1)">--use-fancy-folders</text><text class="terminal-3756623299-r2" x="707.6" y="44.4" textLength="36.6" clip-path="url(#terminal-3756623299-line-1)">] [</text><text class="terminal-3756623299-r4" x="744.2" y="44.4" textLength="244" clip-path="url(#terminal-3756623299-line-1)">--ignore-other-files</text><text class="terminal-3756623299-r2" x="988.2" y="44.4" textLength="36.6" clip-path="url(#terminal-3756623299-line-1)">] [</text><text class="terminal-3756623299-r4" x="1024.8" y="44.4" textLength="195.2" clip-path="url(#terminal-3756623299-line-1)">--exclude-folder</text><text class="terminal-3756623299-r5" x="1232.2" y="44.4" textLength="73.2" clip-path="url(#terminal-3756623299-line-1)">FOLDER</text><text class="terminal-3756623299-r2" x="1305.4" y="44.4" textLength="12.2" clip-path="url(#terminal-3756623299-line-1)">]</text><text class="terminal-3756623299-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-3756623299-line-1)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="0" y="68.8" textLength="231.8" clip-path="url(#terminal-3756623299-line-2)">                  [</text><text class="terminal-3756623299-r4" x="231.8" y="68.8" textLength="109.8" clip-path="url(#terminal-3756623299-line-2)">--version</text><text class="terminal-3756623299-r2" x="341.6" y="68.8" textLength="12.2" clip-path="url(#terminal-3756623299-line-2)">]</text><text class="terminal-3756623299-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-3756623299-line-2)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-3756623299-line-3)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="0" y="117.6" textLength="671" clip-path="url(#terminal-3756623299-line-4)">Generate HTML files for a static image hosting website.</text><text class="terminal-3756623299-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-3756623299-line-4)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-3756623299-line-5)">
|
||||||
|
</text><text class="terminal-3756623299-r1" x="0" y="166.4" textLength="97.6" clip-path="url(#terminal-3756623299-line-6)">Options:</text><text class="terminal-3756623299-r2" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-3756623299-line-6)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="190.8" textLength="24.4" clip-path="url(#terminal-3756623299-line-7)">-h</text><text class="terminal-3756623299-r2" x="48.8" y="190.8" textLength="24.4" clip-path="url(#terminal-3756623299-line-7)">, </text><text class="terminal-3756623299-r4" x="73.2" y="190.8" textLength="73.2" clip-path="url(#terminal-3756623299-line-7)">--help</text><text class="terminal-3756623299-r2" x="292.8" y="190.8" textLength="378.2" clip-path="url(#terminal-3756623299-line-7)">show this help message and exit</text><text class="terminal-3756623299-r2" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-3756623299-line-7)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="215.2" textLength="24.4" clip-path="url(#terminal-3756623299-line-8)">-p</text><text class="terminal-3756623299-r2" x="48.8" y="215.2" textLength="24.4" clip-path="url(#terminal-3756623299-line-8)">, </text><text class="terminal-3756623299-r4" x="73.2" y="215.2" textLength="195.2" clip-path="url(#terminal-3756623299-line-8)">--root-directory</text><text class="terminal-3756623299-r5" x="280.6" y="215.2" textLength="48.8" clip-path="url(#terminal-3756623299-line-8)">ROOT</text><text class="terminal-3756623299-r2" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-3756623299-line-8)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="292.8" y="239.6" textLength="451.4" clip-path="url(#terminal-3756623299-line-9)">Root directory containing the images.</text><text class="terminal-3756623299-r2" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-3756623299-line-9)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="264" textLength="24.4" clip-path="url(#terminal-3756623299-line-10)">-w</text><text class="terminal-3756623299-r2" x="48.8" y="264" textLength="24.4" clip-path="url(#terminal-3756623299-line-10)">, </text><text class="terminal-3756623299-r4" x="73.2" y="264" textLength="170.8" clip-path="url(#terminal-3756623299-line-10)">--web-root-url</text><text class="terminal-3756623299-r5" x="256.2" y="264" textLength="36.6" clip-path="url(#terminal-3756623299-line-10)">URL</text><text class="terminal-3756623299-r2" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-3756623299-line-10)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="292.8" y="288.4" textLength="634.4" clip-path="url(#terminal-3756623299-line-11)">Base URL of the web root for the image hosting site.</text><text class="terminal-3756623299-r2" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-3756623299-line-11)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="312.8" textLength="24.4" clip-path="url(#terminal-3756623299-line-12)">-t</text><text class="terminal-3756623299-r2" x="48.8" y="312.8" textLength="24.4" clip-path="url(#terminal-3756623299-line-12)">, </text><text class="terminal-3756623299-r4" x="73.2" y="312.8" textLength="146.4" clip-path="url(#terminal-3756623299-line-12)">--site-title</text><text class="terminal-3756623299-r5" x="231.8" y="312.8" textLength="61" clip-path="url(#terminal-3756623299-line-12)">TITLE</text><text class="terminal-3756623299-r2" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-3756623299-line-12)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="292.8" y="337.2" textLength="390.4" clip-path="url(#terminal-3756623299-line-13)">Title of the image hosting site.</text><text class="terminal-3756623299-r2" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-3756623299-line-13)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="361.6" textLength="24.4" clip-path="url(#terminal-3756623299-line-14)">-r</text><text class="terminal-3756623299-r2" x="48.8" y="361.6" textLength="24.4" clip-path="url(#terminal-3756623299-line-14)">, </text><text class="terminal-3756623299-r4" x="73.2" y="361.6" textLength="280.6" clip-path="url(#terminal-3756623299-line-14)">--regenerate-thumbnails</text><text class="terminal-3756623299-r2" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-3756623299-line-14)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="292.8" y="386" textLength="597.8" clip-path="url(#terminal-3756623299-line-15)">Regenerate thumbnails even if they already exist.</text><text class="terminal-3756623299-r2" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-3756623299-line-15)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="410.4" textLength="24.4" clip-path="url(#terminal-3756623299-line-16)">-n</text><text class="terminal-3756623299-r2" x="48.8" y="410.4" textLength="24.4" clip-path="url(#terminal-3756623299-line-16)">, </text><text class="terminal-3756623299-r4" x="73.2" y="410.4" textLength="268.4" clip-path="url(#terminal-3756623299-line-16)">--non-interactive-mode</text><text class="terminal-3756623299-r2" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-3756623299-line-16)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="292.8" y="434.8" textLength="646.6" clip-path="url(#terminal-3756623299-line-17)">Run in non-interactive mode, disabling progress bars.</text><text class="terminal-3756623299-r2" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-3756623299-line-17)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="459.2" textLength="24.4" clip-path="url(#terminal-3756623299-line-18)">-l</text><text class="terminal-3756623299-r2" x="48.8" y="459.2" textLength="24.4" clip-path="url(#terminal-3756623299-line-18)">, </text><text class="terminal-3756623299-r4" x="73.2" y="459.2" textLength="170.8" clip-path="url(#terminal-3756623299-line-18)">--license-type</text><text class="terminal-3756623299-r5" x="256.2" y="459.2" textLength="85.4" clip-path="url(#terminal-3756623299-line-18)">LICENSE</text><text class="terminal-3756623299-r2" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-3756623299-line-18)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="292.8" y="483.6" textLength="488" clip-path="url(#terminal-3756623299-line-19)">Specify the license type for the images.</text><text class="terminal-3756623299-r2" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-3756623299-line-19)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="508" textLength="24.4" clip-path="url(#terminal-3756623299-line-20)">-a</text><text class="terminal-3756623299-r2" x="48.8" y="508" textLength="24.4" clip-path="url(#terminal-3756623299-line-20)">, </text><text class="terminal-3756623299-r4" x="73.2" y="508" textLength="158.6" clip-path="url(#terminal-3756623299-line-20)">--author-name</text><text class="terminal-3756623299-r5" x="244" y="508" textLength="73.2" clip-path="url(#terminal-3756623299-line-20)">AUTHOR</text><text class="terminal-3756623299-r2" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-3756623299-line-20)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="292.8" y="532.4" textLength="402.6" clip-path="url(#terminal-3756623299-line-21)">Name of the author of the images.</text><text class="terminal-3756623299-r2" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-3756623299-line-21)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="556.8" textLength="24.4" clip-path="url(#terminal-3756623299-line-22)">-e</text><text class="terminal-3756623299-r2" x="48.8" y="556.8" textLength="24.4" clip-path="url(#terminal-3756623299-line-22)">, </text><text class="terminal-3756623299-r4" x="73.2" y="556.8" textLength="207.4" clip-path="url(#terminal-3756623299-line-22)">--file-extensions</text><text class="terminal-3756623299-r5" x="292.8" y="556.8" textLength="109.8" clip-path="url(#terminal-3756623299-line-22)">EXTENSION</text><text class="terminal-3756623299-r2" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-3756623299-line-22)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="292.8" y="581.2" textLength="744.2" clip-path="url(#terminal-3756623299-line-23)">File extensions to include (can be specified multiple times).</text><text class="terminal-3756623299-r2" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-3756623299-line-23)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="605.6" textLength="24.4" clip-path="url(#terminal-3756623299-line-24)">-m</text><text class="terminal-3756623299-r2" x="48.8" y="605.6" textLength="24.4" clip-path="url(#terminal-3756623299-line-24)">, </text><text class="terminal-3756623299-r4" x="73.2" y="605.6" textLength="170.8" clip-path="url(#terminal-3756623299-line-24)">--web-manifest</text><text class="terminal-3756623299-r2" x="292.8" y="605.6" textLength="353.8" clip-path="url(#terminal-3756623299-line-24)">Generate a web manifest file.</text><text class="terminal-3756623299-r2" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-3756623299-line-24)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="630" textLength="146.4" clip-path="url(#terminal-3756623299-line-25)">--theme-path</text><text class="terminal-3756623299-r5" x="183" y="630" textLength="48.8" clip-path="url(#terminal-3756623299-line-25)">PATH</text><text class="terminal-3756623299-r2" x="292.8" y="630" textLength="329.4" clip-path="url(#terminal-3756623299-line-25)">Path to the CSS theme file.</text><text class="terminal-3756623299-r2" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-3756623299-line-25)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="654.4" textLength="231.8" clip-path="url(#terminal-3756623299-line-26)">--use-fancy-folders</text><text class="terminal-3756623299-r2" x="292.8" y="654.4" textLength="890.6" clip-path="url(#terminal-3756623299-line-26)">Enable fancy folder view instead of the default Apache directory listing.</text><text class="terminal-3756623299-r2" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-3756623299-line-26)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="678.8" textLength="244" clip-path="url(#terminal-3756623299-line-27)">--ignore-other-files</text><text class="terminal-3756623299-r2" x="292.8" y="678.8" textLength="683.2" clip-path="url(#terminal-3756623299-line-27)">Ignore files that do not match the specified extensions.</text><text class="terminal-3756623299-r2" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-3756623299-line-27)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="703.2" textLength="195.2" clip-path="url(#terminal-3756623299-line-28)">--exclude-folder</text><text class="terminal-3756623299-r5" x="231.8" y="703.2" textLength="73.2" clip-path="url(#terminal-3756623299-line-28)">FOLDER</text><text class="terminal-3756623299-r2" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-3756623299-line-28)">
|
||||||
|
</text><text class="terminal-3756623299-r2" x="292.8" y="727.6" textLength="1049.2" clip-path="url(#terminal-3756623299-line-29)">Folders to exclude from processing, globs supported (can be specified multiple times).</text><text class="terminal-3756623299-r2" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-3756623299-line-29)">
|
||||||
|
</text><text class="terminal-3756623299-r4" x="24.4" y="752" textLength="109.8" clip-path="url(#terminal-3756623299-line-30)">--version</text><text class="terminal-3756623299-r2" x="292.8" y="752" textLength="463.6" clip-path="url(#terminal-3756623299-line-30)">show program's version number and exit</text><text class="terminal-3756623299-r2" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-3756623299-line-30)">
|
||||||
|
</text>
|
||||||
</g>
|
</g>
|
||||||
|
|
||||||
<g transform="translate(9, 41)" clip-path="url(#terminal-3216112738-clip-terminal)">
|
|
||||||
|
|
||||||
<g class="terminal-3216112738-matrix">
|
|
||||||
<text class="terminal-3216112738-r1" x="0" y="20" textLength="73.2" clip-path="url(#terminal-3216112738-line-0)">Usage:</text><text class="terminal-3216112738-r3" x="85.4" y="20"
|
|
||||||
textLength="122" clip-path="url(#terminal-3216112738-line-0)">builder.py</text><text class="terminal-3216112738-r2" x="207.4" y="20" textLength="24.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)"> [</text><text class="terminal-3216112738-r4" x="231.8" y="20" textLength="24.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">-h</text><text class="terminal-3216112738-r2" x="256.2" y="20" textLength="24.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">] </text><text class="terminal-3216112738-r4" x="280.6" y="20" textLength="24.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">-p</text><text class="terminal-3216112738-r5" x="317.2" y="20" textLength="48.8"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">ROOT</text><text class="terminal-3216112738-r4" x="378.2" y="20" textLength="24.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">-w</text><text class="terminal-3216112738-r5" x="414.8" y="20" textLength="36.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">URL</text><text class="terminal-3216112738-r4" x="463.6" y="20" textLength="24.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">-t</text><text class="terminal-3216112738-r5" x="500.2" y="20" textLength="61"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">TITLE</text><text class="terminal-3216112738-r2" x="561.2" y="20" textLength="24.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)"> [</text><text class="terminal-3216112738-r4" x="585.6" y="20" textLength="24.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">-r</text><text class="terminal-3216112738-r2" x="610" y="20" textLength="36.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">] [</text><text class="terminal-3216112738-r4" x="646.6" y="20" textLength="24.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">-n</text><text class="terminal-3216112738-r2" x="671" y="20" textLength="36.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">] [</text><text class="terminal-3216112738-r4" x="707.6" y="20" textLength="24.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">-l</text><text class="terminal-3216112738-r5" x="744.2" y="20" textLength="85.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">LICENSE</text><text class="terminal-3216112738-r2" x="829.6" y="20" textLength="36.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">] [</text><text class="terminal-3216112738-r4" x="866.2" y="20" textLength="24.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">-a</text><text class="terminal-3216112738-r5" x="902.8" y="20" textLength="73.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">AUTHOR</text><text class="terminal-3216112738-r2" x="976" y="20" textLength="36.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">] [</text><text class="terminal-3216112738-r4" x="1012.6" y="20" textLength="24.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">-e</text><text class="terminal-3216112738-r5" x="1049.2" y="20" textLength="109.8"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">EXTENSION</text><text class="terminal-3216112738-r2" x="1159" y="20" textLength="36.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">] [</text><text class="terminal-3216112738-r4" x="1195.6" y="20" textLength="146.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">--theme-path</text><text class="terminal-3216112738-r5" x="1354.2" y="20" textLength="48.8"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">PATH</text><text class="terminal-3216112738-r2" x="1403" y="20" textLength="12.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-0)">]</text><text class="terminal-3216112738-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-3216112738-line-0)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="0" y="44.4" textLength="231.8"
|
|
||||||
clip-path="url(#terminal-3216112738-line-1)">                  [</text><text
|
|
||||||
class="terminal-3216112738-r4" x="231.8" y="44.4" textLength="231.8" clip-path="url(#terminal-3216112738-line-1)">--use-fancy-folders</text><text class="terminal-3216112738-r2"
|
|
||||||
x="463.6" y="44.4" textLength="36.6" clip-path="url(#terminal-3216112738-line-1)">] [</text><text class="terminal-3216112738-r4" x="500.2" y="44.4" textLength="244"
|
|
||||||
clip-path="url(#terminal-3216112738-line-1)">--ignore-other-files</text><text class="terminal-3216112738-r2" x="744.2" y="44.4" textLength="36.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-1)">] [</text><text class="terminal-3216112738-r4" x="780.8" y="44.4" textLength="195.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-1)">--exclude-folder</text><text class="terminal-3216112738-r5" x="988.2" y="44.4" textLength="73.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-1)">FOLDER</text><text class="terminal-3216112738-r2" x="1061.4" y="44.4" textLength="36.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-1)">] [</text><text class="terminal-3216112738-r4" x="1098" y="44.4" textLength="109.8"
|
|
||||||
clip-path="url(#terminal-3216112738-line-1)">--version</text><text class="terminal-3216112738-r2" x="1207.8" y="44.4" textLength="12.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-1)">]</text><text class="terminal-3216112738-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-3216112738-line-1)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-3216112738-line-2)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="0" y="93.2" textLength="671"
|
|
||||||
clip-path="url(#terminal-3216112738-line-3)">Generate HTML files for a static image hosting website.</text><text class="terminal-3216112738-r2"
|
|
||||||
x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-3216112738-line-3)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-3216112738-line-4)">
|
|
||||||
</text><text class="terminal-3216112738-r1" x="0" y="142" textLength="97.6" clip-path="url(#terminal-3216112738-line-5)">Options:</text><text class="terminal-3216112738-r2" x="1464"
|
|
||||||
y="142" textLength="12.2" clip-path="url(#terminal-3216112738-line-5)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="166.4" textLength="24.4" clip-path="url(#terminal-3216112738-line-6)">-h</text><text class="terminal-3216112738-r2" x="48.8"
|
|
||||||
y="166.4" textLength="24.4" clip-path="url(#terminal-3216112738-line-6)">, </text><text class="terminal-3216112738-r4" x="73.2" y="166.4" textLength="73.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-6)">--help</text><text class="terminal-3216112738-r2" x="292.8" y="166.4" textLength="378.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-6)">show this help message and exit</text><text class="terminal-3216112738-r2" x="1464" y="166.4" textLength="12.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-6)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="190.8" textLength="24.4" clip-path="url(#terminal-3216112738-line-7)">-p</text><text class="terminal-3216112738-r2" x="48.8"
|
|
||||||
y="190.8" textLength="24.4" clip-path="url(#terminal-3216112738-line-7)">, </text><text class="terminal-3216112738-r4" x="73.2" y="190.8" textLength="195.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-7)">--root-directory</text><text class="terminal-3216112738-r5" x="280.6" y="190.8" textLength="48.8"
|
|
||||||
clip-path="url(#terminal-3216112738-line-7)">ROOT</text><text class="terminal-3216112738-r2" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-3216112738-line-7)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="292.8" y="215.2" textLength="451.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-8)">Root directory containing the images.</text><text class="terminal-3216112738-r2" x="1464" y="215.2" textLength="12.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-8)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="239.6" textLength="24.4" clip-path="url(#terminal-3216112738-line-9)">-w</text><text class="terminal-3216112738-r2" x="48.8"
|
|
||||||
y="239.6" textLength="24.4" clip-path="url(#terminal-3216112738-line-9)">, </text><text class="terminal-3216112738-r4" x="73.2" y="239.6" textLength="170.8"
|
|
||||||
clip-path="url(#terminal-3216112738-line-9)">--web-root-url</text><text class="terminal-3216112738-r5" x="256.2" y="239.6" textLength="36.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-9)">URL</text><text class="terminal-3216112738-r2" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-3216112738-line-9)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="292.8" y="264" textLength="634.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-10)">Base URL of the web root for the image hosting site.</text><text
|
|
||||||
class="terminal-3216112738-r2" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-3216112738-line-10)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="288.4" textLength="24.4" clip-path="url(#terminal-3216112738-line-11)">-t</text><text class="terminal-3216112738-r2" x="48.8"
|
|
||||||
y="288.4" textLength="24.4" clip-path="url(#terminal-3216112738-line-11)">, </text><text class="terminal-3216112738-r4" x="73.2" y="288.4" textLength="146.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-11)">--site-title</text><text class="terminal-3216112738-r5" x="231.8" y="288.4" textLength="61"
|
|
||||||
clip-path="url(#terminal-3216112738-line-11)">TITLE</text><text class="terminal-3216112738-r2" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-3216112738-line-11)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="292.8" y="312.8" textLength="390.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-12)">Title of the image hosting site.</text><text class="terminal-3216112738-r2" x="1464" y="312.8" textLength="12.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-12)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="337.2" textLength="24.4" clip-path="url(#terminal-3216112738-line-13)">-r</text><text class="terminal-3216112738-r2" x="48.8"
|
|
||||||
y="337.2" textLength="24.4" clip-path="url(#terminal-3216112738-line-13)">, </text><text class="terminal-3216112738-r4" x="73.2" y="337.2" textLength="280.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-13)">--regenerate-thumbnails</text><text class="terminal-3216112738-r2" x="1464" y="337.2" textLength="12.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-13)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="292.8" y="361.6" textLength="597.8"
|
|
||||||
clip-path="url(#terminal-3216112738-line-14)">Regenerate thumbnails even if they already exist.</text><text class="terminal-3216112738-r2" x="1464"
|
|
||||||
y="361.6" textLength="12.2" clip-path="url(#terminal-3216112738-line-14)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="386" textLength="24.4" clip-path="url(#terminal-3216112738-line-15)">-n</text><text class="terminal-3216112738-r2" x="48.8" y="386"
|
|
||||||
textLength="24.4" clip-path="url(#terminal-3216112738-line-15)">, </text><text class="terminal-3216112738-r4" x="73.2" y="386" textLength="268.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-15)">--non-interactive-mode</text><text class="terminal-3216112738-r2" x="1464" y="386" textLength="12.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-15)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="292.8" y="410.4" textLength="646.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-16)">Run in non-interactive mode, disabling progress bars.</text><text class="terminal-3216112738-r2" x="1464"
|
|
||||||
y="410.4" textLength="12.2" clip-path="url(#terminal-3216112738-line-16)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="434.8" textLength="24.4" clip-path="url(#terminal-3216112738-line-17)">-l</text><text class="terminal-3216112738-r2" x="48.8"
|
|
||||||
y="434.8" textLength="24.4" clip-path="url(#terminal-3216112738-line-17)">, </text><text class="terminal-3216112738-r4" x="73.2" y="434.8" textLength="170.8"
|
|
||||||
clip-path="url(#terminal-3216112738-line-17)">--license-type</text><text class="terminal-3216112738-r5" x="256.2" y="434.8" textLength="85.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-17)">LICENSE</text><text class="terminal-3216112738-r2" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-3216112738-line-17)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="292.8" y="459.2" textLength="488"
|
|
||||||
clip-path="url(#terminal-3216112738-line-18)">Specify the license type for the images.</text><text class="terminal-3216112738-r2" x="1464" y="459.2"
|
|
||||||
textLength="12.2" clip-path="url(#terminal-3216112738-line-18)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="483.6" textLength="24.4" clip-path="url(#terminal-3216112738-line-19)">-a</text><text class="terminal-3216112738-r2" x="48.8"
|
|
||||||
y="483.6" textLength="24.4" clip-path="url(#terminal-3216112738-line-19)">, </text><text class="terminal-3216112738-r4" x="73.2" y="483.6" textLength="158.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-19)">--author-name</text><text class="terminal-3216112738-r5" x="244" y="483.6" textLength="73.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-19)">AUTHOR</text><text class="terminal-3216112738-r2" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-3216112738-line-19)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="292.8" y="508" textLength="402.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-20)">Name of the author of the images.</text><text class="terminal-3216112738-r2" x="1464" y="508"
|
|
||||||
textLength="12.2" clip-path="url(#terminal-3216112738-line-20)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="532.4" textLength="24.4" clip-path="url(#terminal-3216112738-line-21)">-e</text><text class="terminal-3216112738-r2" x="48.8"
|
|
||||||
y="532.4" textLength="24.4" clip-path="url(#terminal-3216112738-line-21)">, </text><text class="terminal-3216112738-r4" x="73.2" y="532.4" textLength="207.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-21)">--file-extensions</text><text class="terminal-3216112738-r5" x="292.8" y="532.4" textLength="109.8"
|
|
||||||
clip-path="url(#terminal-3216112738-line-21)">EXTENSION</text><text class="terminal-3216112738-r2" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-3216112738-line-21)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="292.8" y="556.8" textLength="744.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-22)">File extensions to include (can be specified multiple times).</text><text
|
|
||||||
class="terminal-3216112738-r2" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-3216112738-line-22)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="581.2" textLength="146.4" clip-path="url(#terminal-3216112738-line-23)">--theme-path</text><text class="terminal-3216112738-r5"
|
|
||||||
x="183" y="581.2" textLength="48.8" clip-path="url(#terminal-3216112738-line-23)">PATH</text><text class="terminal-3216112738-r2" x="292.8" y="581.2" textLength="329.4"
|
|
||||||
clip-path="url(#terminal-3216112738-line-23)">Path to the CSS theme file.</text><text class="terminal-3216112738-r2" x="1464" y="581.2" textLength="12.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-23)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="605.6" textLength="231.8" clip-path="url(#terminal-3216112738-line-24)">--use-fancy-folders</text><text
|
|
||||||
class="terminal-3216112738-r2" x="292.8" y="605.6" textLength="890.6"
|
|
||||||
clip-path="url(#terminal-3216112738-line-24)">Enable fancy folder view instead of the default Apache directory listing.</text><text
|
|
||||||
class="terminal-3216112738-r2" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-3216112738-line-24)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="630" textLength="244" clip-path="url(#terminal-3216112738-line-25)">--ignore-other-files</text><text class="terminal-3216112738-r2"
|
|
||||||
x="292.8" y="630" textLength="683.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-25)">Ignore files that do not match the specified extensions.</text><text
|
|
||||||
class="terminal-3216112738-r2" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-3216112738-line-25)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="654.4" textLength="195.2" clip-path="url(#terminal-3216112738-line-26)">--exclude-folder</text><text class="terminal-3216112738-r5"
|
|
||||||
x="231.8" y="654.4" textLength="73.2" clip-path="url(#terminal-3216112738-line-26)">FOLDER</text><text class="terminal-3216112738-r2" x="1464" y="654.4" textLength="12.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-26)">
|
|
||||||
</text><text class="terminal-3216112738-r2" x="292.8" y="678.8" textLength="1049.2"
|
|
||||||
clip-path="url(#terminal-3216112738-line-27)">Folders to exclude from processing, globs supported (can be specified multiple times).</text><text
|
|
||||||
class="terminal-3216112738-r2" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-3216112738-line-27)">
|
|
||||||
</text><text class="terminal-3216112738-r4" x="24.4" y="703.2" textLength="109.8" clip-path="url(#terminal-3216112738-line-28)">--version</text><text class="terminal-3216112738-r2"
|
|
||||||
x="292.8" y="703.2" textLength="463.6" clip-path="url(#terminal-3216112738-line-28)">show program's version number and exit</text><text
|
|
||||||
class="terminal-3216112738-r2" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-3216112738-line-28)">
|
|
||||||
</text>
|
|
||||||
</g>
|
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 24 KiB |
@@ -1,3 +1,4 @@
|
|||||||
|
CairoSVG==2.7.1
|
||||||
Jinja2==3.1.4
|
Jinja2==3.1.4
|
||||||
numpy==2.0.0
|
numpy==2.0.0
|
||||||
pillow==10.4.0
|
pillow==10.4.0
|
||||||
|
|||||||
@@ -5,6 +5,9 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>{{ title }}</title>
|
<title>{{ title }}</title>
|
||||||
|
{%- if webmanifest %}
|
||||||
|
<link rel="manifest" href="/manifest.json">
|
||||||
|
{%- endif %}
|
||||||
<link rel="icon" type="image/x-icon" href="{{ favicon }}">
|
<link rel="icon" type="image/x-icon" href="{{ favicon }}">
|
||||||
<link rel="stylesheet" href="{{ stylesheet }}">
|
<link rel="stylesheet" href="{{ stylesheet }}">
|
||||||
{%- if theme %}
|
{%- if theme %}
|
||||||
|
|||||||
19
templates/manifest.json.j2
Normal file
19
templates/manifest.json.j2
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"name": "{{ name }}",
|
||||||
|
"icons": [
|
||||||
|
{% for icon in icons -%}
|
||||||
|
{
|
||||||
|
"src": "{{ icon.src }}",
|
||||||
|
"sizes": "{{ icon.sizes }}",
|
||||||
|
"type": "{{ icon.type }}",
|
||||||
|
"purpose": "maskable"
|
||||||
|
}{% if not loop.last %},{% endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
],
|
||||||
|
"id": "{{ id }}",
|
||||||
|
"start_url": "/",
|
||||||
|
"background_color": "{{ background_color }}",
|
||||||
|
"display": "standalone",
|
||||||
|
"scope": "/",
|
||||||
|
"theme_color": "{{ theme_color }}"
|
||||||
|
}
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.8 MiB |
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"example copy.jpg": {
|
|
||||||
"width": 7030,
|
|
||||||
"height": 4688
|
|
||||||
},
|
|
||||||
"example.jpg": {
|
|
||||||
"width": 7030,
|
|
||||||
"height": 4688
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user