The source of nrepl.org, nREPL's landing page. The manual lives at docs.nrepl.org and is built from the nrepl repo by docs.nrepl.org instead.
The site is built with Hugo and deployed to GitHub Pages
on every push to master, and weekly on a schedule.
Almost everything on the page is plain YAML or markdown:
content/_index.md- the tagline, intro, start command and getting-started steps (in the front matter), and the project's history (the body)data/showcase.yaml- the feature sections, each with the exchange shown next to itdata/features.yaml- the "and the rest" linksdata/clients.yaml- who speaks nREPLdata/news.yaml- the news archive. Posts tagged nREPL on Meta Redux show up on their own when the site is built (newsFeedandnewsTaginhugo.toml); add a post here to keep it listed after it drops out of the feeddata/milestones.yaml- the history logdata/faq.yaml- the questionsdata/community.yaml- help channels and funding options
The latest version and the star count are fetched from the GitHub API at build
time, so a release needs nothing here. fallbackVersion in hugo.toml is
only used when GitHub can't be reached.
The messages in the wire windows are real: capture/ starts an nREPL server,
talks to it over a socket and writes everything that went back and forth to
data/exchanges.json, both as EDN and as the bencode that went over the wire.
It also records a Babashka server and the output of starting a server from the
shell. With the Clojure CLI and Babashka around:
cd capture
clojure -M -m captureBump the nREPL version in capture/deps.edn to re-record against a newer
release.
The docs used to live here, under /nrepl/. Every page they had gets a small
page that sends readers to the same path on docs.nrepl.org, anchor included
(layouts/_partials/redirects.html, with the list of paths in
data/legacy_docs.yaml), and the 404 page sends anything else under /nrepl/
there too. The list never needs to grow: pages added to the docs since the
move never had an address here.
brew install hugo # or see https://gohugo.io/installation/
hugo serverThen open http://localhost:1313. CI builds with the Hugo version pinned in
.github/workflows/deploy.yml and fails on any warning, so check that
hugo --panicOnWarning is clean before pushing.