Private
Public Access
56 lines
2.3 KiB
Bash
Executable File
56 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
mkdir -p data/docsets tmp
|
|
|
|
download_docset() {
|
|
local label="$1"
|
|
local url="$2"
|
|
local archive="tmp/${label}.tgz"
|
|
echo "==> ${label}"
|
|
if find data/docsets -maxdepth 1 -type d -name "*.docset" -iname "${label}.docset" | grep -q .; then
|
|
echo " already installed"
|
|
return 0
|
|
fi
|
|
rm -f "$archive"
|
|
if ! curl --fail --location --retry 2 --connect-timeout 20 --output "$archive" "$url"; then
|
|
echo " download failed, skipping: $url" >&2
|
|
rm -f "$archive"
|
|
return 0
|
|
fi
|
|
if ! tar -tzf "$archive" | grep -q '\.docset/'; then
|
|
echo " archive does not contain a docset, skipping: $url" >&2
|
|
rm -f "$archive"
|
|
return 0
|
|
fi
|
|
tar -xzf "$archive" -C data/docsets
|
|
rm -f "$archive"
|
|
}
|
|
|
|
download_docset PHP 'https://kapeli.com/feeds/PHP.tgz'
|
|
download_docset MySQL 'https://kapeli.com/feeds/MySQL.tgz'
|
|
download_docset MariaDB 'https://kapeli.com/feeds/zzz/user_contributed/build/MariaDB/MariaDB.tgz'
|
|
download_docset Nginx 'https://kapeli.com/feeds/Nginx.tgz'
|
|
download_docset C 'https://kapeli.com/feeds/C.tgz'
|
|
download_docset 'C++' 'https://kapeli.com/feeds/C%2B%2B.tgz'
|
|
download_docset Lua 'https://kapeli.com/feeds/Lua.tgz'
|
|
download_docset NodeJS 'https://kapeli.com/feeds/NodeJS.tgz'
|
|
download_docset ThreeJS 'https://kapeli.com/feeds/zzz/user_contributed/build/Three.js/threejs.tgz'
|
|
download_docset OpenGL 'https://kapeli.com/feeds/OpenGL.tgz'
|
|
download_docset Vulkan 'https://kapeli.com/feeds/zzz/user_contributed/build/Vulkan/Vulkan.tgz'
|
|
download_docset Bash 'https://kapeli.com/feeds/Bash.tgz'
|
|
download_docset React 'https://kapeli.com/feeds/React.tgz'
|
|
download_docset JavaScript 'https://kapeli.com/feeds/JavaScript.tgz'
|
|
download_docset CSS 'https://kapeli.com/feeds/CSS.tgz'
|
|
download_docset HTML 'https://kapeli.com/feeds/HTML.tgz'
|
|
download_docset TypeScript 'https://kapeli.com/feeds/TypeScript.tgz'
|
|
download_docset jQuery 'https://kapeli.com/feeds/jQuery.tgz'
|
|
download_docset Sass 'https://kapeli.com/feeds/Sass.tgz'
|
|
download_docset Docker 'https://kapeli.com/feeds/Docker.tgz'
|
|
download_docset SQLite 'https://kapeli.com/feeds/SQLite.tgz'
|
|
download_docset ApacheHTTPServer 'https://kapeli.com/feeds/Apache_HTTP_Server.tgz'
|
|
|
|
echo "PixiJS: no full Zeal/Dash docset found; skipped."
|
|
echo "Vite: no Zeal/Dash docset found; skipped."
|
|
find data/docsets -maxdepth 1 -type d -name "*.docset" -print | sort
|