mirror of
https://github.com/php-curl-class/php-curl-class.git
synced 2026-08-17 18:33:47 +00:00
77 lines
2.3 KiB
Bash
Executable File
77 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "${SCRIPT_DIR}/.."
|
|
|
|
before=$(head -n $(
|
|
grep --context="0" --line-number --max-count="1" "### 📖 Available Methods" "README.md" |
|
|
perl -pe 's/^(\d+):.*/\1/') "README.md")
|
|
|
|
after=$(tail -n +$(
|
|
grep --context="0" --line-number --max-count="1" "### 🔒 Security" "README.md" |
|
|
perl -pe 's/^(\d+):.*/\1/') "README.md")
|
|
|
|
echo "${before}" > "README.md"
|
|
|
|
basecurl_path="src/Curl/BaseCurl.php"
|
|
curl_path="src/Curl/Curl.php"
|
|
multicurl_path="src/Curl/MultiCurl.php"
|
|
|
|
echo '```php' >> "README.md"
|
|
|
|
curl_class_name="$(basename --suffix=".php" "${curl_path}")" &&
|
|
curl_fns="$(
|
|
grep --extended-regexp "^ .* function .*" "${curl_path}" |
|
|
grep --extended-regexp "^ public" |
|
|
perl -pe "s/^ public (.* )?function /${curl_class_name}::/")"
|
|
|
|
multicurl_class_name="$(basename --suffix=".php" "${multicurl_path}")" &&
|
|
multicurl_fns="$(
|
|
grep --extended-regexp "^ .* function .*" "${multicurl_path}" |
|
|
grep --extended-regexp "^ public" |
|
|
perl -pe "s/^ public (.* )?function /${multicurl_class_name}::/")"
|
|
|
|
common_fns="$(
|
|
grep --extended-regexp "^ .* function .*" "${basecurl_path}" |
|
|
grep --extended-regexp "^ public" |
|
|
perl -pe "s/^ public .* ?function (.*)/Curl::\1\nMultiCurl::\1/")"
|
|
|
|
echo "${curl_fns}
|
|
${multicurl_fns}
|
|
${common_fns}" | sort | uniq >> "README.md"
|
|
|
|
echo '```' >> "README.md"
|
|
echo >> "README.md"
|
|
|
|
echo "${after}" >> "README.md"
|
|
|
|
# Update table of contents.
|
|
script=$(cat <<'EOF'
|
|
$data = file_get_contents('README.md');
|
|
preg_match_all('/^### (.*)/m', $data, $matches);
|
|
$toc = [];
|
|
foreach ($matches['1'] as $match) {
|
|
$slug = urlencode(
|
|
strtolower(
|
|
str_replace(
|
|
' ',
|
|
'-',
|
|
preg_replace(
|
|
'/[^A-Za-z\x{FE0F} ]/u',
|
|
'',
|
|
$match,
|
|
),
|
|
)
|
|
)
|
|
);
|
|
$href = '#' . $slug;
|
|
$toc[] = '- [' . $match . '](' . $href . ')';
|
|
}
|
|
$toc = implode("\n", $toc);
|
|
$toc = '---' . "\n\n" . $toc . "\n\n" . '---' . "\n\n";
|
|
$data = preg_replace('/---\n\n(?:- .*\n)+?\n---\n\n/', $toc, $data);
|
|
file_put_contents('README.md', $data);
|
|
EOF
|
|
)
|
|
php --run "${script}"
|