Add /dev/dependencies.html and remove internals.html - #616
Conversation
There was a problem hiding this comment.
Pull request overview
This PR restructures the developer website by replacing the full “Internals” page with a new “Dependency versions” page that presents dependency minimum versions in table form, and updates navigation/redirects accordingly.
Changes:
- Add
/dev/dep-versions.html, backed by a generateddepver.gentable. - Introduce a new generator script (
dev/mkdepver.pl) to extract dependency/version/date data into HTML tables. - Remove
internals.htmlfrom the dev site UI and add an Apache redirect from/dev/internals.htmlto/dev/dep-versions.html.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| dev/mkdepver.pl | New Perl generator to build dependency/version tables for the new page. |
| dev/Makefile | Builds dep-versions.html and generates depver.gen; drops internals.html from PAGES. |
| dev/_dep-versions.html | New page template embedding depver.gen. |
| dev/_internals.html | Removes the Internals page template. |
| dev/_menu.html | Updates dev nav to point to Dependency versions instead of Internals. |
| dev/_index.html | Adds a link to the new Dependency versions page and removes the Internals entry. |
| dev/_new-protocol.html | Sidebar link updated to Dependency versions. |
| dev/_experimental.html | Related link updated to Dependency versions. |
| dev/_deprecate.html | Related link updated to Dependency versions. |
| dev/_contribute.html | Related link updated to Dependency versions. |
| dev/_code-style.html | Related link updated to Dependency versions. |
| dev/_code-review.html | Related link updated to Dependency versions. |
| .htaccess | Adds redirect from /dev/internals.html to /dev/dep-versions.html. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (4)
dev/mkdepver.pl:42
- When starting the build-dependencies table, the header row is missing a closing . Also, the odd/even counter should be reset for the new table so striping starts consistently.
print "</table>\n";
print "<h2>Build dependencies</h2>\n";
print "<table>\n";
print "<tr><th>tool</th><th>version</th><th>release date</th>\n";
$mode = 2;
dev/mkdepver.pl:35
- The table header row is missing a closing , and the odd/even row counter isn’t reset when starting the table. This can produce invalid HTML and inconsistent zebra-striping depending on how many rows were emitted previously.
This issue also appears on line 38 of the same file.
print "<h2>Run-time dependencies</h2>\n";
print "<table>\n";
print "<tr><th>library</th><th>version</th><th>release date</th>\n";
$mode = 1;
dev/mkdepver.pl:56
- This uses a printf format string that interpolates $what/$ver/$date directly into the format. If any of those values contains a '%' character, printf will treat it as a format specifier (warnings and potentially broken output). Use %s placeholders (and also close the ).
printf "<tr class=\"%s\"><td>$what</td><td>$ver</td><td>$date</td>\n",
$i & 1 ? "odd" : "even";
$i++;
.htaccess:25
- There’s now an extra redirect hop for /docs/internals.html (it redirects to /dev/internals.html, which then redirects again). Update the /docs/internals.html redirect to point directly at the new canonical location to avoid the double redirect.
RedirectPermanent /dev/internals.html https://curl.se/dev/dep-versions.html
|
Mildly related, would it make sense to rename INTERNALS.md to REQUIREMENTS.txt for example (in curl/curl)? |
Yeah, or DEPENDENCIES.md perhaps? |
Works for me, yes! |
|
I'll rename this web page to plain dependencies as well to better match. |
This page lists all dependencies and their lowest support version, run-time, build-time and testing. Converted from the docs/DEPENDENCIES.md document in the source git repository. Also drops the old "internals" page.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (6)
dev/mkdepver.pl:65
- The generated table rows are missing a closing and the code interpolates variables directly into the format string. Closing the row and passing values as printf arguments makes the HTML valid and avoids accidental formatting issues.
printf "<tr class=\"%s\"><td>$what</td><td>$ver</td><td>$date</td>\n",
$i & 1 ? "odd" : "even";
$i++;
dev/mkdepver.pl:68
- The script unconditionally prints a closing at EOF, which can produce stray HTML if no table was opened. Guard this on whether we are currently in a dependency section.
print "</table>\n";
dev/mkdepver.pl:34
- The generated table header row is missing a closing , producing malformed HTML output.
This issue also appears on line 63 of the same file.
print "<tr><th>library</th><th>version</th><th>release date</th>\n";
dev/mkdepver.pl:55
- This script emits even when no table has been opened (e.g., if the input starts at "## Build tools"), and it does not close the current table when encountering other "##" sections. Guard the close and close any open table when switching away from a dependency section.
This issue also appears on line 68 of the same file.
elsif(/^## Build tools/) {
print "</table>\n";
print "<h2>Build dependencies</h2>\n";
print "<table>\n";
print "<tr><th>tool</th><th>version</th><th>release date</th>\n";
dev/_dependencies.html:26
- Grammar: this text refers to multiple dependencies/versions, but uses singular phrasing ("this version").
curl and libcurl attempt to support the following dependencies at this
version or greater.
.htaccess:25
- There are still site navigation links pointing at /dev/internals.html (e.g., /_menu.html and /docs/_help-us.html). Even with the new redirects, this leaves an "Internals" entry visible after the page is removed; update those links (or remove them) so navigation matches the new /dev/dependencies.html page.
RedirectPermanent /dev/internals.html https://curl.se/dev/dependencies.html
This puts the dependency version information into two tables and and drops the full internals page from the website.
Screenshot