Compare commits

..

10 Commits

Author SHA1 Message Date
1a1f659c8a feat: add upload catalog html page 2024-07-23 21:11:31 +02:00
e25a2355c0 add to catalog 2024-07-13 21:49:04 +02:00
72ea5375ab feat: publish catalog as static page 2024-07-13 21:48:42 +02:00
0a2e0b643a add to catalog 2024-07-07 01:02:53 +02:00
6e98bd6a47 feat: render catalog in a html page 2024-06-12 11:24:38 +02:00
4334ffb6b2 add to catalog 2024-05-31 15:31:52 +02:00
00c7d93f7a add to catalog ; fix some keys 2024-04-30 12:01:48 +02:00
8a78fe393e add to catalog 2024-04-19 13:11:50 +02:00
f9570c3901 fix tags key 2024-04-10 11:45:28 +02:00
c5889d9f71 add to catalog 2024-04-04 22:53:54 +02:00
6 changed files with 197 additions and 21 deletions

17
TODO.md
View File

@@ -1,10 +1,12 @@
- [+] implement MVP - [+] implement MVP
- [+] minimal catalog - [x] minimal catalog => currently 124 entries
- [+] search catalog - [x] search catalog
- [+] local current versions - [x] local current versions
- [+] latest version, github strategy - [x] latest version, github strategy
- [+] intall, github strategy - [+] intall,
- [x] github+linux+x86_64+tgz strategy
- [ ] prompt user to override current file/symlink
- [*] code style => blake, defaults - [*] code style => blake, defaults
@@ -34,6 +36,11 @@
- [ ] GH release - [ ] GH release
- [ ] pypi package - [ ] pypi package
- [ ] landing page
- [x] publish catalog
- [ ] replace jinja2 with [minijinja](https://github.com/mitsuhiko/minijinja/discussions/523)
- [ ] open an issue in managed tool forge asking to add support for `--version` and semver - [ ] open an issue in managed tool forge asking to add support for `--version` and semver
- [ ] open an issue in managed tool forge asking to add cliget install method - [ ] open an issue in managed tool forge asking to add cliget install method

34
catalog.html.j2 Normal file
View File

@@ -0,0 +1,34 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Cliget Catalog</title>
<style>
{% include 'styles.css' %}
</style>
</head>
<body>
<p>{{get_context()|length}} entries</p>
<table>
<thead>
<tr><th>name</th><th>repo</th><th>description</th></tr>
<thead>
<tbody>
{% for k,o in get_context().items()%}
<tr>
<td>
<a id="{{k}}" href="#{{k}}">&nbsp;</a>
{%if "website" in o%}<a href="{{o.website}}">{{k}}</a>{%else%}{{k}}{%endif%}
</td>
<td>
{%if "github" in o%}<a href="https://github.com/{{o.github}}">x</a>{%else%}&nbsp;{%endif%}
</td>
<td><p>{{o.desc}}</p></td>
</tr>
{% endfor %}
</tbody>
<table>
<p>{{get_context()|length}} entries</p>
</body>
</html>

View File

@@ -3,6 +3,12 @@ ab:
desc: a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server desc: a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server
website: https://httpd.apache.org/docs/2.4/programs/ab.html website: https://httpd.apache.org/docs/2.4/programs/ab.html
amber:
website: https://amber-lang.com/
desc: a programming language transpiled into Bash Script
github: Ph0enixKM/Amber
tags: rust
arc: arc:
desc: Easily create & extract archives, and compress & decompress files of various formats desc: Easily create & extract archives, and compress & decompress files of various formats
github: mholt/archiver github: mholt/archiver
@@ -24,6 +30,10 @@ atuin:
desc: Magical shell history desc: Magical shell history
github: ellie/atuin github: ellie/atuin
axel:
desc: Lightweight CLI download accelerator
github: axel-download-accelerator/axel
bat: bat:
desc: A cat(1) clone with syntax highlighting and Git integration desc: A cat(1) clone with syntax highlighting and Git integration
github: sharkdp/bat github: sharkdp/bat
@@ -71,6 +81,12 @@ diagram:
github: esimov/diagram github: esimov/diagram
tags: Go, diagram, ascii tags: Go, diagram, ascii
difft:
desc: diff tool that compares files based on their syntax, not line-by-line
website: https://difftastic.wilfred.me.uk/
github: Wilfred/difftastic
tags: Rust, AST, tree-sitter
diskonaut: diskonaut:
desc: Terminal disk space navigator, disk tree-map desc: Terminal disk space navigator, disk tree-map
github: imsnif/diskonaut github: imsnif/diskonaut
@@ -83,7 +99,7 @@ dt:
desc: duct tape for your unix pipes desc: duct tape for your unix pipes
website: https://dt.plumbing/ website: https://dt.plumbing/
github: so-dang-cool/dt github: so-dang-cool/dt
tag: text-processing, Zig tags: text-processing, Zig
dua: dua:
desc: View disk space usage and delete unwanted data, fast. desc: View disk space usage and delete unwanted data, fast.
@@ -111,6 +127,12 @@ feh:
website: https://feh.finalrewind.org/ website: https://feh.finalrewind.org/
tags: C tags: C
fend:
desc: Arbitrary-precision unit-aware calculator
website: https://printfn.github.io/fend/
github: printfn/fend
cargo:
ffmpeg: ffmpeg:
desc: A complete, cross-platform solution to record, convert and stream audio and video desc: A complete, cross-platform solution to record, convert and stream audio and video
releases: http://ffmpeg.org/releases/ releases: http://ffmpeg.org/releases/
@@ -127,7 +149,7 @@ flyscrap:
desc: A standalone and scriptable web scraper in Go desc: A standalone and scriptable web scraper in Go
github: philippta/flyscrape github: philippta/flyscrape
website: https://flyscrape.com/ website: https://flyscrape.com/
tag: Go, scrapping tags: Go, scrapping
fq: fq:
desc: jq for binary formats - tool, language and decoders for working with binary and text formats desc: jq for binary formats - tool, language and decoders for working with binary and text formats
@@ -181,19 +203,39 @@ httpx:
pip: pip:
tags: curl tags: curl
hurl:
desc: run HTTP requests defined in a simple plain text format
github: Orange-OpenSource/hurl
website: https://hurl.dev/
hx: hx:
fullname: helix fullname: helix
desc: text editor, inspired by vim desc: text editor, inspired by vim
ijq:
desc: interactive jq tool. Like jqplay for the commandline
repo: https://sr.ht/~gpanders/ijq/
website: https://gpanders.com/blog/making-ijq-fast
tags: Go
jaq: jaq:
desc: A jq clone focussed on correctness, speed, and simplicity desc: A jq clone focussed on correctness, speed, and simplicity
tag: rust tags: rust
github: 01mf02/jaq github: 01mf02/jaq
jc:
desc: converts the output of popular command-line tools, file-types, and common strings to JSON
github: kellyjonbrazil/jc
pip: jc
jinja2:
desc: CLI for Jinja2
github: mattrobenolt/jinja2-cli
jj: jj:
desc: A Git-compatible DVCS that is both simple and powerful desc: A Git-compatible DVCS that is both simple and powerful
github: martinvonz/jj github: martinvonz/jj
tag: rust tags: rust
jless: jless:
@@ -208,13 +250,18 @@ jq:
desc: json query desc: json query
github: stedolan/jq github: stedolan/jq
jqp:
desc: a TUI playground to experiment with jq
github: noahgorstein/jqp
tags: Go
just: just:
desc: a handy way to save and run project-specific commands. desc: a handy way to save and run project-specific commands.
github: casey/just github: casey/just
tags: task runner, rust tags: task runner, rust
k3d: k3d:
desc: a lightweight wrapper to run k3s (Rancher Labs minimal Kubernetes distribution) in docker. desc: a lightweight wrapper to run k3s (Rancher Lab's minimal Kubernetes distribution) in docker.
website: https://k3d.io/ website: https://k3d.io/
github: k3d-io/k3d github: k3d-io/k3d
status: not a tar.gz status: not a tar.gz
@@ -244,7 +291,7 @@ litestream:
lnav: lnav:
desc: An advanced log file viewer for the small-scale desc: An advanced log file viewer for the small-scale
name: The Logfile Navigator fullname: The Logfile Navigator
website: https://lnav.org/ website: https://lnav.org/
github: tstack/lnav github: tstack/lnav
@@ -256,13 +303,18 @@ minify:
desc: minifiers for web formats desc: minifiers for web formats
website: https://go.tacodewolff.nl/minify website: https://go.tacodewolff.nl/minify
github: tdewolff/minify github: tdewolff/minify
tag: Go tags: Go
minijail: minijail:
desc: sandboxing and containment tool used in ChromeOS and Android desc: sandboxing and containment tool used in ChromeOS and Android
website: https://google.github.io/minijail/ website: https://google.github.io/minijail/
github: google/minijail github: google/minijail
minijinja:
desc: a powerful template engine for Rust with minimal dependencies based on the syntax and behavior of the Jinja2 template engine for Python
github: mitsuhiko/minijinja
website: https://docs.rs/minijinja/
tags: Rust
mintotp: mintotp:
desc: generate TOTP from the terminal desc: generate TOTP from the terminal
@@ -273,7 +325,7 @@ mintproxy:
mlr: mlr:
desc: Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON desc: Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON
name: miller fullname: miller
github: johnkerl/miller github: johnkerl/miller
mosh: mosh:
@@ -284,7 +336,7 @@ mosh:
navi: navi:
desc: Interactive cheatsheet tool for the command-line desc: Interactive cheatsheet tool for the command-line
github: denisidoro/navi github: denisidoro/navi
tag: rust tags: rust
ndcu: ndcu:
desc: a disk usage analyzer with an ncurses interface desc: a disk usage analyzer with an ncurses interface
@@ -328,22 +380,26 @@ pylufic:
qjs: qjs:
desc: a small and embeddable Javascript engine. desc: a small and embeddable Javascript engine.
fullname: QuiskJS fullname: QuiskJS
releases: http://ffmpeg.org/releases/ website: https://bellard.org/quickjs/
qr: qr:
desc: generate qr code desc: generate qr code
github: Y2Z/qr github: Y2Z/qr
qsv:
desc: CSV sliced, diced & analyzed
github: jqnatividad/qsv
tags: Rust
redo: redo:
desc: create reusable functions from your history in an interactive way desc: create reusable functions from your history in an interactive way
github: barthr/redo github: barthr/redo
relpipe: relpipe:
name: Relational pipes fullname: Relational pipes
website: https://relational-pipes.globalcode.info/ website: https://relational-pipes.globalcode.info/
desc: Relational pipes are an open data format designed for streaming structured data between two processes. desc: Relational pipes are an open data format designed for streaming structured data between two processes.
tag: text-processing tags: text-processing
rlwrap: rlwrap:
desc: A readline wrapper, with history and completion desc: A readline wrapper, with history and completion
@@ -364,6 +420,24 @@ sake:
github: alajmo/sake github: alajmo/sake
website: https://sakecli.com/ website: https://sakecli.com/
semgrep:
desc: Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.
website: https://semgrep.dev/
github: semgrep/semgrep
tags: ocaml, pattern
semgrepx:
desc: xargs for semgrep
github: icholy/semgrepx
tags: Go
sg:
fullname: ast-grep
desc: fast and polyglot tool for code structural search, lint, rewriting at large scale
github: ast-grep/ast-grep
website: https://ast-grep.github.io/
tags: rust
slugify: slugify:
desc: generate sluged version of input desc: generate sluged version of input
github: un33k/python-slugify github: un33k/python-slugify
@@ -377,11 +451,13 @@ sk:
desc: general fuzzy finder desc: general fuzzy finder
github: lotabout/skim github: lotabout/skim
cargo: skim cargo: skim
tag: rust tags: rust
so: so:
desc: A terminal interface for Stack Overflow desc: A terminal interface for Stack Overflow
github: samtay/so github: samtay/so
cargo:
tags: rust
sqlite-utils: sqlite-utils:
desc: manipulate sqlite db (ETL) desc: manipulate sqlite db (ETL)
@@ -438,10 +514,16 @@ up:
fullname: Ultimate Plumber fullname: Ultimate Plumber
github: akavel/up github: akavel/up
ugrep:
desc: a more powerful, ultra fast, user-friendly, compatible grep
github: Genivia/ugrep
website: https://ugrep.com/
tags: cpp
ups: ups:
desc: Command line tools for manipulating UPS patch files desc: Command line tools for manipulating UPS patch files
githb: rameshvarun/ups githb: rameshvarun/ups
tag: language:go tags: go
vd: vd:
fullname: VisiData fullname: VisiData

View File

@@ -1,4 +1,6 @@
. ./.venv/bin/activate . ./.venv/bin/activate
jinja2 catalog.html.j2 catalog.yaml >| cliget.html
brotli -f -q 11 -S br cliget.html
./upload.sh

40
styles.css Normal file
View File

@@ -0,0 +1,40 @@
:root {
--accent-bg: #F5F7FF;
--border: #D8DAE1;
--main-foreground: #5b4636;
--main-background: #f4f4f4;
}
body{max-width:80ch;padding:2ch;margin:auto;
color:var(--main-foreground);
background-color:var(--main-background);
}
a:link{text-decoration:none}
/* Format tables */
table {
border-collapse: collapse;
width: 100%
}
td,
th {
border: 1px solid var(--border);
text-align: left;
}
th {
background: var(--accent-bg);
font-weight: bold;
text-align: center;
}
table td:nth-child(2) {
text-align: center;
}
tr:nth-child(even) {
/* Set every other cell slightly darker. Improves readability. */
background: var(--accent-bg);
}

11
upload.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/sh -eu
ftp -i -n $FTP_HOST << EEE
quote USER $FTP_USER
quote PASS $FTP_PASS
binary
cd www
mput cliget.htmlbr
quit
EEE