My personal website. There are many like it, but this was mine (2015-2018).
git clone git@github.com:paulrobertlloyd/paulrobertlloyd.com.git
cd paulrobertlloyd.com
git submodule update --init --recursive
gem install bundler && bundle install
bin/build
Generated files will be saved in the www
directory.
When developing the site, you may want files automatically compiled and the browser to refresh automatically. To do this, run bin/dev
.
This project makes use of third-party libraries, included as git submodules. To update these, run git submodule foreach git pull origin master
.
To run with HTTPS locally on macOS first follow the setup steps described here. To create the required SSL certificates, follow these steps:
- Change into the correct directory:
cd etc/nginx
- Create the certificate files:
openssl req \
-new \
-newkey rsa:2048 \
-sha256 \
-days 3650 \
-nodes \
-x509 \
-keyout test.key \
-out test.crt \
-subj /CN=v3.paulrobertlloyd.test \
-reqexts SAN \
-extensions SAN \
-config <(cat /System/Library/OpenSSL/openssl.cnf \
<(printf '[SAN]\nsubjectAltName=DNS:v3.paulrobertlloyd.test'))
This site is deployed automatically by Travis whenever files are pushed to master
. However, if you wish to manually deploy from local, follow these steps:
- Ensure the destination server meets the system requirements
- Ensure the
PAULROBERTLLOYD_DEPLOY_DEST
environment variable has been set - Run
bin/deploy
v3.paulrobertlloyd.com
├── bin # SHELL SCRIPTS
│ ├── build # Generate files and save them to destination
│ ├── cibuild # Generate files and save them to destination (CI)
│ ├── deploy # Sync generated with remote server
│ └── dev # Generate files and reload browser when updated
│
├── etc # CONFIGURATION
│ ├── jekyll # Jekyll site generation
│ ├── nginx # Nginx server
│ └── travis # Travis
│
├── src # SOURCE
│
├── (www) # COMPILED (ignored by git)
│
├── .editorconfig # Text editor preferences
├── .gitignore # List of files not tracked by git
├── .gitmodules # List of submodules tracked by git
├── .travis.yml # Configuration file for Travis
├── Gemfile # Ruby Gems package manifest
├── Gemfile.lock # Ruby Gems lock file
├── package.json # Node.js package manifest
├── package-lock.json # Node.js package lock file
└── README.md # This file