Beej's Guide to Network Programming
This is the source for Beej's Guide to Network Programming.
If you merely wish to read the guide, please visit the Beej's Guide to Network Programming website.
This is here so that Beej has everything in a repo and so translators can easily clone it.
- Gnu make (XCode make works, too)
- Python 3+
- Pandoc 2.7.3+
- XeLaTeX (can be found in TeX Live)
- Liberation fonts (sans, serif, mono)
Mac dependencies install (reopen terminal after doing this):
xcode-select --install # installs make brew install python # installs Python3 brew install pandoc brew cask install mactex # installs XeLaTeX brew tap homebrew/cask-fonts brew cask install font-liberation-sans # installs sans, serif, and mono
makefrom the top-level directory.
If you have Gnu Make, it should work fine. Other makes might work as well. Windows users might want to check out Cygwin.
make stageto copy all the build products and website to the
There is no step three.
You can also
cd to the
src directory and
make clean cleans, and
make pristine cleans to "original" state.
To embed your own fonts in the PDFs, see the
src/Makefile for examples.
upload target in the root
Makefile demonstrates the build steps
for a complete release. You'll need to change the
UPLOADDIR macro in
Makefile to point to your host if you want to use that.
You're free to upload whatever versions you desire individually, as
Build via Docker
If you don't want to mess with a local setup, you can build via Docker.
docker build -t beej-bgnet-builder .from the top-level directory.
docker run --rm -v "$PWD":/guide -ti beej-bgnet-builder.
This will mount the project where the image expects it, and run
make pristine all stage, leaving your
./stagedirectory ready to be published.
Please keep these on the scale of typo and bug fixes. That way I don't have to consider any copyright issues when merging changes.
- File transfer example maybe in son of data encapsulation
- Event IO?
- When pandoc 2.8 comes up, switch all man page subheaders to h3 and supress them from the table of contents.