krz/nfogen
A scene-style ASCII .nfo generator.
clone: git clone https://gitbay.org/krz/nfogen.git
8bc87b709e5c35ffb35e6e5264dd00e2b4268b43
verified · cmc
author: Christian Cleberg <hello@cleberg.net> · 2026-08-08T06:17:04Z
README.nfo | 110 ++++++++++++++++++++++++++---------------------------------- nfogen.toml | 94 ++++++++++++++++++++++----------------------------- 2 files changed, 87 insertions(+), 117 deletions(-) @@ -1,63 +1,47 @@ -┌──────────────────────────────────────────────────────────────┐ -│ N F O G E N 1 . 2 │ -│ [ KRZ ] krz.sh │ -├──────────────────────────────────────────────────────────────┤ -│ DATE 2026-08-08 │ -│ TYPE APP │ -│ FILES nfogen.py │ -│ URL krz.sh │ -├──────────────────────────────────────────────────────────────┤ -│ NOTES │ -│ │ -│ A scene-style ASCII .nfo generator. A single │ -│ zero-dependency Python file. Builds this very box │ -│ from CLI flags, a config file, prompts, or a mix. │ -│ │ -│ REQUIRES python3 (3.11+ for TOML, else JSON). │ -│ │ -│ USAGE │ -│ nfogen.py --title "nfogen 1.2" --type APP │ -│ nfogen.py -c nfogen.toml --title "nfogen 1.2" │ -│ nfogen.py -i prompts for every field. │ -│ nfogen.py alone prompts when no title given. │ -│ │ -│ ORDER: config file < CLI flags < prompts. │ -│ │ -│ CONFIG: a .toml or .json auto-loaded from │ -│ ./nfogen.toml, ./.nfogen.toml, or the path │ -│ ~/.config/nfogen/config.toml. Holds any field │ -│ default plus group, site, width. Or use -c PATH. │ -│ │ -│ FIELDS (all optional but title): │ -│ release: cracker supplier packager protection │ -│ install rating date source │ -│ program: type publisher format disks size files url │ -│ media: video audio resolution language genre runtime │ -│ text: notes greets │ -│ │ -│ LAYOUT: rows (default) or panel (2-col, --layout) │ -│ STYLES: single, double, block (--style) │ -│ ENCODING: utf8 or cp437 (--encoding cp437 = DOS) │ -│ LOGO: --logo art.asc places art above the box │ -│ BANNERS: --presents --footer scene boilerplate │ -│ │ -│ PROFILE: -p group.toml supplies logo, footer, │ -│ members, couriers, boards, affiliates, │ -│ news, outposts. release cfg overrides it. │ -│ │ -│ MEDIAINFO: --mediainfo dump.json auto-fills │ -│ video/audio/res/size/runtime/format. │ -│ BANNER: --banner makes an ASCII logo (--banner-text) │ -│ TEMPLATES: -t razor|modern|minimal presets │ -│ (--list-templates) │ -│ │ -│ OPTIONS: -o -c -p -t -g -s -w --style --layout │ -│ --logo --banner --mediainfo --encoding │ -│ --presents --footer -i --no-input │ -│ │ -│ Generated by nfogen itself. │ -├──────────────────────────────────────────────────────────────┤ -│ GREETS │ -│ │ -│ you the-scene │ -└──────────────────────────────────────────────────────────────┘ + # # ##### ### #### ##### # # + ## # # # # # # ## # + # # # ### # # # ## ### # # # + # ## # # # # # # # ## + # # # ### #### ##### # # + +╔═════════════════════════════════════════════════════════════════════════════╗ +║ N F O G E N 1 . 2 ║ +║ [ KRZ ] krz.sh ║ +╠═════════════════════════════════════════════════════════════════════════════╣ +║ DATE 2026-08-08 ║ +║ TYPE CLI / library ║ +║ PUBLISHER krazy warez ║ +║ LANGUAGE Python 3.11+ (any 3.x with a JSON config) ║ +║ FILES nfogen.py -- single file, zero deps ║ +║ URL krz.sh ║ +╠═════════════════════════════════════════════════════════════════════════════╣ +║ NOTES ║ +║ ║ +║ nfogen builds scene-style ASCII .nfo files from CLI flags, a config ║ +║ file, interactive prompts, or any mix of the three. ║ +║ ║ +║ FEATURES ║ +║ - CP437 or UTF-8 output; single / double / block box styles ║ +║ - two-column release+game info panel, or simple rows ║ +║ - group profiles: reusable logo, members, couriers, boards ║ +║ - mediainfo import auto-fills video / audio / resolution / size ║ +║ - built-in ASCII banner generator for header logos (this one!) ║ +║ - bundled templates: razor, modern, minimal ║ +║ ║ +║ QUICKSTART ║ +║ nfogen.py --title "Some.App.v1-KRZ" --type APP --banner ║ +║ nfogen.py -c release.toml -p group.toml -o release.nfo ║ +║ nfogen.py -t razor --title "..." --mediainfo dump.json ║ +║ nfogen.py -i (prompt for every field) ║ +║ ║ +║ RESOLUTION ORDER ║ +║ template < profile < config file < CLI flags < prompts ║ +║ ║ +║ See examples/ for full release nfos and a group profile, and ║ +║ templates/ for the bundled presets. This README.nfo was itself ║ +║ generated by nfogen: nfogen.py -c nfogen.toml ║ +╠═════════════════════════════════════════════════════════════════════════════╣ +║ ║ +║ nfogen // krazy warez // krz.sh ║ +║ ║ +╚═════════════════════════════════════════════════════════════════════════════╝ @@ -1,58 +1,44 @@ group = "KRZ" site = "krz.sh" -width = 64 -style = "single" -title = "nfogen 1.2" -type = "APP" -files = "nfogen.py" -url = "krz.sh" -greets = ["you", "the-scene"] +width = 79 +style = "double" +layout = "rows" + +banner = true +banner_text = "NFOGEN" + +footer = true +footer_text = "nfogen // krazy warez // krz.sh" + +title = "nfogen 1.2" +type = "CLI / library" +publisher = "krazy warez" +language = "Python 3.11+ (any 3.x with a JSON config)" +files = "nfogen.py -- single file, zero deps" +url = "krz.sh" + notes = """ -A scene-style ASCII .nfo generator. A single -zero-dependency Python file. Builds this very box -from CLI flags, a config file, prompts, or a mix. - -REQUIRES python3 (3.11+ for TOML, else JSON). - -USAGE -nfogen.py --title "nfogen 1.2" --type APP -nfogen.py -c nfogen.toml --title "nfogen 1.2" -nfogen.py -i prompts for every field. -nfogen.py alone prompts when no title given. - -ORDER: config file < CLI flags < prompts. - -CONFIG: a .toml or .json auto-loaded from -./nfogen.toml, ./.nfogen.toml, or the path -~/.config/nfogen/config.toml. Holds any field -default plus group, site, width. Or use -c PATH. - -FIELDS (all optional but title): -release: cracker supplier packager protection - install rating date source -program: type publisher format disks size files url -media: video audio resolution language genre runtime -text: notes greets - -LAYOUT: rows (default) or panel (2-col, --layout) -STYLES: single, double, block (--style) -ENCODING: utf8 or cp437 (--encoding cp437 = DOS) -LOGO: --logo art.asc places art above the box -BANNERS: --presents --footer scene boilerplate - -PROFILE: -p group.toml supplies logo, footer, - members, couriers, boards, affiliates, - news, outposts. release cfg overrides it. - -MEDIAINFO: --mediainfo dump.json auto-fills - video/audio/res/size/runtime/format. -BANNER: --banner makes an ASCII logo (--banner-text) -TEMPLATES: -t razor|modern|minimal presets - (--list-templates) - -OPTIONS: -o -c -p -t -g -s -w --style --layout - --logo --banner --mediainfo --encoding - --presents --footer -i --no-input - -Generated by nfogen itself. +nfogen builds scene-style ASCII .nfo files from CLI flags, a config +file, interactive prompts, or any mix of the three. + +FEATURES + - CP437 or UTF-8 output; single / double / block box styles + - two-column release+game info panel, or simple rows + - group profiles: reusable logo, members, couriers, boards + - mediainfo import auto-fills video / audio / resolution / size + - built-in ASCII banner generator for header logos (this one!) + - bundled templates: razor, modern, minimal + +QUICKSTART + nfogen.py --title "Some.App.v1-KRZ" --type APP --banner + nfogen.py -c release.toml -p group.toml -o release.nfo + nfogen.py -t razor --title "..." --mediainfo dump.json + nfogen.py -i (prompt for every field) + +RESOLUTION ORDER + template < profile < config file < CLI flags < prompts + +See examples/ for full release nfos and a group profile, and +templates/ for the bundled presets. This README.nfo was itself +generated by nfogen: nfogen.py -c nfogen.toml """