| Did you know ... | Search Documentation: |
| Title for pldoc(dir_index) |
This repository contains the software of http://www.swi-prolog.org. The (wiki) content of the website and required add-ons are stored in git submodules. These must be installed separately using the command below. To install the site from scratch locally, perform the following commands:
% git clone https://github.com/SWI-Prolog/plweb.git % cd plweb % git submodule update --init
<dl> <dt>annotations.db</dt> <dd>Comments on web pages</dd> <dt>tags.db</dt> <dd>Tags on web pages</dd> <dt>openid.db</dt> <dd>User administration</dd> <dt>packs.db</dt> <dd>Known packages</dd> <dt>post.db</dt> <dd>News posts</dd> <dt>reviews.db</dt> <dd>Pack reviews</dd> <dt>download</dt> <dd>Points to the download directory</dd> </dl>
Install the download descriptions by running the script install-custom
% mkdir log pack % chgrp www-data log pack % chmod g+ws log pack
After installation, the website may be started locally using the commands below. After that, you have access to the same content as available from https://www.swi-prolog.org, except for the download section of the website.
% swipl load.pl -p 8080 -i
A good way to run the website on a Linux server is by creating a Linux
container using lxc. After installing the server, you can enable it to
start at boot time by copying upstart/swi-prolog.conf to `/etc/init`
after editing it to suit your configuration requirements. By default,
the server runs as user www-data, group www-data as specified in the
above configuration file.
Make sure the following components are writeable to the server process. For files, this means mode 664, group www-data. For directories, this means mode 2775, group www-data.
% git checkout master % git pull % git checkout -b wiki % find . -type d | xargs chmod 2775 % find . -name '*.txt' | xargs chmod 664 % chgrp -W www-data .
?- set_setting(recaptcha:public_key, 'public key goes here'). ?- set_setting(recaptcha:private_key, 'private key goes here'). ?- save_settings.
annotation.pl -- Annotation![]() | ||
|---|---|---|
api.pl![]() | ||
autocomplete.pl -- SWI-Prolog website autocompletion support![]() | ||
blog.pl![]() | ||
changelog.pl![]() | ||
customise.pl![]() | ||
daemon.pl![]() | ||
did_you_know.pl -- Interesting snippets about SWI-Prolog![]() | ||
download.pl![]() | ||
examples.pl![]() | ||
| ex_xref/3 | ![]() | |
| index_examples/0 | Update the example index. | ![]() |
| reindex_examples/0 | Update the example index. | ![]() |
fastly.pl -- Purge pages on our CDN![]() | ||
footer.pl -- Footer![]() | ||
forum.pl![]() | ||
generics.pl -- Generics![]() | ||
git_html.pl![]() | ||
| git_commit_info/5 | Component to show an individual commit. | ![]() |
| git_shortlog/4 | Component that show the top-N most recent changes in Pack. | ![]() |
gitweb.pl -- Provide gitweb support![]() | ||
holidays.pl![]() | ||
| todays_holiday/1 | succeeds if Holiday is 'todays holiday'. | ![]() |
http_cgi.pl -- Run CGI scripts from the SWI-Prolog web-server![]() | ||
| http_cgi_handler/2 | Locate a CGI script in the file-search-path Alias from the path_info in Request and execute the script using http_run_cgi/3. | ![]() |
| http_run_cgi/3 | Execute the given CGI script. | ![]() |
load.pl![]() | ||
make.pl![]() | ||
markdown.pl -- Parse markdown documents into a DOM![]() | ||
markitup.pl -- Wrapper for markItUp ajax markup editor![]() | ||
| markitup/3 | Insert a textarea with markItUp support. | ![]() |
messages.pl -- Run goals that produce messages![]() | ||
news.pl -- News on the SWI-Prolog Web site![]() | ||
notify.pl -- Send notications by E-mail![]() | ||
object_support.pl -- Object support![]() | ||
openid.pl -- Handle users of the SWI-Prolog website![]() | ||
| create_user/1 | Create a new user for the given Google Profile. | ![]() |
| login_existing_user/1 | True if the user is know to us and thus we can perform the login without further interaction. | ![]() |
| authenticate/3 | Get authentication for editing wiki pages. | ![]() |
| current_user/2 | ![]() | |
| grant/2 | Grant/revoke User (a UUID) the right to access Token. | ![]() |
| login_link/3 | Create a link to login, which returns to the current page. | ![]() |
| redirect_master/1 | Redirect a request to the master server, so we do not have to deal with multiple versions of the database files. | ![]() |
| revoke/2 | Grant/revoke User (a UUID) the right to access Token. | ![]() |
| site_user/2 | Demand the user to be logged on and, if this is the first logon, verify the user and create a profile. | ![]() |
| site_user_logged_in/1 | True when User is logged on. | ![]() |
| user_profile_link/3 | Create a link to the profile of a user. | ![]() |
| xrds_specified_location/2 | Hacks to deal with broken Yadis support. | ![]() |
pack.pl![]() | ||
pack_analyzer.pl -- Analyse the content of a Prolog pack![]() | ||
| pack_analysis/2 | Result is the analysis result for Pack. | ![]() |
| pack_members/2 | Members is a list of file(File,Size) that represent the files in Pack. | ![]() |
| pack_open_entry/3 | Open an entry in the Pack for reading. | ![]() |
| xref_pack/1 | Run the cross-referencer on all Prolog files inside pack. | ![]() |
| xref_pack_file/2 | Run the cross-referencer on File inside Pack. | ![]() |
| xref_open_source/2 | If Id refers to a known Prolog pack, open the pack entry. | ![]() |
| xref_source_file/3 | ![]() | |
| xref_source_identifier/2 | ![]() | |
pack_info.pl -- Visual (web) components that show info about packs![]() | ||
pack_mirror.pl -- Mirror pack archives![]() | ||
| pack_mirror/3 | Try to mirror the latest version of Pack into File. | ![]() |
| pack_mirror_directory/1 | True when Dir is the absolute file name for the mirrors. | ![]() |
| pack_unmirror/1 | Delete all mirrors we have for Pack. | ![]() |
| ssl_verify/5 | Currently we accept all certificates. | ![]() |
page.pl![]() | ||
parms.pl![]() | ||
| server/2 | Describe known servers and their role. | ![]() |
| server/3 | Describe known servers and their role. | ![]() |
plweb.pl -- Server for PlDoc wiki pages and SWI-Prolog website![]() | ||
post.pl -- Posts![]() | ||
| add_post_link/4 | Emit HTML that allows for adding a new post. | ![]() |
| all/1 | News filter, returning all objects. | ![]() |
| find_posts/3 | True when Ids is a list of all posts of Kind for which call(CheckId, Id) is true. | ![]() |
| fresh/1 | True if post Id is considered fresh. | ![]() |
| post/3 | True if Post have Value for the given attribute. | ![]() |
| post/4 | Generate HTML for apost. | ![]() |
| post_process/2 | HTTP handler that implements a REST interface for postings. | ![]() |
| posts/6 | Generate HTML for a list of posts and add a link to add new posts. | ![]() |
| relevance/2 |
| ![]() |
| user_post_count/3 | True when Count is the number of posts of Kind created by User. | ![]() |
| user_posts/4 | Show posts from a specific user of the specified Kind. | ![]() |
| user_vote_count/3 | Number of votes issued by this user. | ![]() |
proxy.pl![]() | ||
rating.pl -- Provide a star-rating widget![]() | ||
register.pl![]() | ||
review.pl -- Handle rating and reviewing of packages![]() | ||
stats.pl -- Server statistics components![]() | ||
| http_server_pool_table/2 | Display table with statistics on thread-pools. | ![]() |
| http_server_statistics/2 | HTML component showing statistics on the HTTP server. | ![]() |
| http_session_table/2 | HTML component that writes a table of currently logged on users. | ![]() |
tagit.pl![]() | ||
test_recaptcha.pl![]() | ||
tests.pl![]() | ||
update.pl![]() | ||
watchdog.pl![]() | ||
well_known.pl![]() | ||
wiki.pl![]() | ||
wiki_edit.pl -- Edit PlDoc wiki pages![]() | ||