Important
Important
Note
NOTE
Warning
WARNING
# ===== USAGE ===== | |
# clear; export BUILDAH_LAYERS=false; podman build --tag resume ./container | |
# | |
# podman run --name resume --detach --tty \ | |
# --publish 58000:8000/tcp \ | |
# --userns=keep-id:uid=1000,gid=1000 \ | |
# --volume /home/${USER}/${HOST_PROJ_DIR}:/home/user/MY_PROJECT \ | |
# localhost/resume | |
# | |
# podman exec --interactive --tty --workdir /home/user/MY_PROJECT --user user resume /bin/bash |
Important
Important
Note
NOTE
Warning
WARNING
FROM debian:bookworm | |
LABEL maintainer="ono@ono.tw" | |
SHELL ["/bin/bash", "-c"] | |
RUN useradd --create-home --shell /bin/bash user | |
RUN apt update && apt install --no-install-recommends --yes \ | |
iputils-ping \ | |
less \ |
perl -e ' | |
use strict; | |
use warnings; | |
use File::Basename; | |
my $SRCDIR = "ori02/"; | |
my $OUTDIR = "out02/"; | |
my $w = 1506; | |
my $h = 2160; | |
my $firstPageInCenter = 1; | |
my $leftPageX = 405; |
:root.sidebar * { | |
font-size: 12px; | |
} | |
:root { | |
--favicon-size: 14px; | |
} |
export { } | |
declare global { | |
interface Array<T> { | |
last (): T | undefined | |
delete (elem: T): boolean | |
pushIfNotExist (elem: T): boolean | |
} | |
} | |
Array.prototype.last = function () { |
.ONESHELL: | |
REPO_DIR="${PWD}" | |
define my_git_checkout | |
(git checkout $(1) || git checkout --track origin/$(1)) && git pull | |
endef | |
define GVM_USE | |
echo "=========================================================================================" |
function init_rsync() { | |
# --archive, -a archive mode is -rlptgoD (no -A,-X,-U,-N,-H) | |
# --recursive, -r recurse into directories | |
# --links, -l copy symlinks as symlinks | |
# --perms, -p preserve permissions | |
# --times, -t preserve modification times | |
# --group, -g preserve group | |
# --owner, -o preserve owner (super-user only) | |
# -D same as --devices --specials | |
# --devices preserve device files (super-user only) |
function cliPrompt<T = string>(promptMsg: string): Promise<T> { | |
return new Promise((resolve, reject) => { | |
process.stdin.on("data", function(data: any) { | |
resolve(data.toString()) | |
process.stdin.end() | |
}) | |
process.stdout.write(promptMsg); | |
}) | |
} |