Did you know ... Search Documentation:
PublicShow source
Source download(+Request) is det[private]
HTTP handler for SWI-Prolog download pages.
Source download_table(+Request)[private]
Provide a table with possible download targets. test edit
 toggle_show(+Options) is det[private]
Add a toggle to switch between showing only the latest version and all versions.
 list_files(+Dir, +SubDir, +Class, +Label, +Options) is det[private]
Create table rows for all files in Dir/SubDir. If files are present, emit a tr with Label and a tr row for each each matching file. Options are:
One of all or latest (default).
 platform_notes(+Platform, +Path) is det[private]
Include notes on the platform. These notes are stored in a wiki file in the same directory as the download file.
Source download_files(+Dir, +Class, -Files, +Options)[private]
Files is a list of files that satisfy Class and Options in Dir/Subdir.
Source classify_file(+Path, -Term, +Options) is semidet[private]
Source sort_files(+In, -Out, +Options)[private]
Sort files by type and version. Type: linux, windows, mac, src, doc. Versions: latest first.


One of all or latest.
Source old_tagged_file(+TypeFile) is semidet[private]
Source download(+Request) is det[private]
Actually download a file. Two special requests are supported:
  • By postfixing the file with `.sha256` you get the SHA256 checksum rather than the file.
  • If you replace the version with latest you get an HTTP 303 (See Other) reply pointing at the latest version.
Source download_daily(+Request)[private]
Provide the download page for the windows binaries.
Source file_checksum(+Path:atom, -Sum:atom) is det[private]
True when Sum is the SHA256 checksum of file. We keep this in the Prolog database because this simplifies uploading files. Although the data under control of the server and thus more vulnerable than the download area on disk because that is not writeable by the server, I think this is also better from a security point of view because it requires the attacker to both modify the filesystem and the server, something that requires different rights and expertise.