https://github.com/curl/curl-www
The curl.se website
https://github.com/curl/curl-www
curl documentation html libcurl website
Last synced: 3 days ago
JSON representation
The curl.se website
- Host: GitHub
- URL: https://github.com/curl/curl-www
- Owner: curl
- License: mit
- Created: 2013-05-06T12:36:58.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2025-04-08T09:22:46.000Z (9 months ago)
- Last Synced: 2025-04-09T22:29:51.822Z (8 months ago)
- Topics: curl, documentation, html, libcurl, website
- Language: HTML
- Homepage: https://curl.se/
- Size: 65.5 MB
- Stars: 103
- Watchers: 29
- Forks: 95
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: changes.t
- License: LICENSE
- Security: security.txt.in
Awesome Lists containing this project
README
# curl-www
This is (most of) the curl.se website contents. It mostly builds static
HTML files that are preprocessed.
## Prerequisites
The website is a on old custom made setup that mostly builds static HTML
files from a set of source files using (GNU) `make`. The sources files are
preprocessed with what is basically a souped-up C preprocessor called `fcpp`
and a set of `perl` scripts. The man pages get converted to HTML with
`roffit`.
Markdown is converted to HTML with `pandoc`.
Make sure the following tools are in your $PATH.
- curl
- [fcpp](https://daniel.haxx.se/projects/fcpp/)
- GNU date
- GNU enscript
- GNU make
- pandoc
- perl (with CPAN packages: CGI, HTML::Entities)
- [roffit](https://daniel.haxx.se/projects/roffit/)
- zip
## Build
Once you have cloned the Git repo the first time, invoke `sh bootstrap.sh` once
to get a symlink and some initial local files setup, and then you can build the
website locally by invoking make in the source root tree.
Note that this does not make you a complete website mirror, as some scripts
and files are only available on the real actual site, but should give you
enough to let you load most HTML pages locally.
## A local curl build
The bootstrap script creates a `cvssource` entry in the web root directory. In
that directory you should do an in-tree build of curl. This build renders a
range of artifacts (documentation mostly) that the website build references.
If you forget to do the curl build, building the website will fail due to
missing files.
A minimal non-TLS build is perfectly fine. Like this:
autoreconf -fi
./configure --without-ssl --without-libpsl
make
## Edit the web
[Web editing guidelines](https://curl.se/web-editing.html)
# curl.local
To run a local copy of the curl website, have a local Apache or python
to serve `curl.local` on `127.0.0.1`. Add this line to `/etc/hosts`:
127.0.0.1 curl.local
## Apache httpd config
A config file for apache2 to run a virtual server for `curl.local` on your
local machine might look like this:
~~~
ServerName curl.local
ServerAdmin [my email address]
DocumentRoot [full path to the curl-www build]
ErrorLog ${APACHE_LOG_DIR}/curllocal-error.log
CustomLog ${APACHE_LOG_DIR}/curllocal-access.log combined
Options Indexes Includes FollowSymLinks ExecCGI
AllowOverride All
AddHandler cgi-script .cgi
Require all granted
~~~
## Python3
From the directory containing the website, run:
python3 -m http.server --cgi -b curl.local 8000