summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md81
1 files changed, 81 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..7b90ad5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,81 @@
+# jayrup.me
+
+Minimal personal website — a terminal.css landing page, CV, projects, and dissertation. Built with Quarto, served via nginx.
+
+## Repo is self-contained
+
+All source files live in the repo. No symlinks or external paths. `assets/` holds static files that were originally pulled from elsewhere (dissertation PDF, public SSH key).
+
+## Requirements
+
+- **quarto** v1.6+ — renders `.qmd` to HTML + plain text
+- **rsync** — deploys `public/` to the VPS
+
+Optional (local preview via Docker):
+
+- **docker** + **compose** — spins up nginx:alpine to serve `public/` on port 8080
+ - Requires an external compose network `nginx_default` (`docker network create nginx_default`)
+ - Otherwise edit `compose.yml` to remove the network dependency
+
+## Quick start
+
+```sh
+# Build the site
+./deploy.sh
+
+# Or step by step:
+quarto render --to html
+find . -name '*.qmd' -not -path './.*' -not -path './public/*' | while read f; do
+ d=$(dirname "${f#./}")
+ b=$(basename "$f" .qmd)
+ quarto render "$f" --to plain --output "${b}.txt" --output-dir "public/$d"
+done
+
+# Local preview (Docker)
+docker compose up -d
+# → http://localhost:8080
+```
+
+## Deploy
+
+```sh
+./deploy.sh
+```
+
+This builds `public/` and rsyncs it to the VPS. Only needs SSH access to `jayrup.me`.
+
+## Git remotes
+
+| Remote | URL | Purpose |
+|---|---|---|
+| `origin` | `git@github.com:CaptainJack2491/website.git` | GitHub upstream |
+| `meru` | `jayrup@100.68.59.43:~/projects/homepage.git` | Agent sync hub |
+
+Push to `meru` to share changes between agents; push to `origin` before or after deploying.
+
+```sh
+git push meru main # sync to bare repo
+git push origin main # deploy and publish
+```
+
+## Adding content
+
+- **New page** — create a `.qmd` file anywhere. It auto-renders.
+- **CV** — update `cv/index.typ` and rebuild the PDF. The rendered PDF + txt go in `cv/`.
+- **Assets** — put files in `assets/` and update `deploy.sh` to copy them.
+
+## Project structure
+
+```
+.
+├── assets/ # Static files (dissertation.pdf, public_key)
+├── cv/ # CV source (.typ) + output (PDF, txt)
+├── projects/ # Project pages (.qmd)
+├── index.qmd # Homepage
+├── _quarto.yml # Quarto config (theme, format, output dir)
+├── terminal.css # Stylesheet
+├── nginx.conf # VPS nginx config
+├── compose.yml # Local preview via Docker
+├── deploy.sh # Build + rsync to VPS
+└── README.md
+```