The source of cider.mx, CIDER's landing page. The manual lives at docs.cider.mx and is built from the cider repo instead.
The site is built with Hugo and deployed to GitHub Pages
on every push to main, and weekly on a schedule.
The page's design comes from the hugo-project-landing theme; this repository holds the content, which is almost all plain YAML or markdown:
content/_index.md- the tagline, intro, install command and getting-started steps (in the front matter), and the project's history (the body)data/showcase.yaml- the feature sections, each with its keys and a screencast or screenshot fromstatic/media/data/features.yaml- the "and the rest" linksdata/news.yaml- the news archive. Posts tagged CIDER 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 log shown next to the history sectiondata/release.yaml- the release series linked from the openingdata/faq.yaml- the questionsdata/community.yaml- help channels and funding options
layouts/_partials/panes/ has the Emacs buffers shown in the second window
next to the sections without a screencast, and assets/css/palette.css the
colors.
- Patch releases (2.0.1, 2.0.2, ...): nothing to do. The latest version and
the star count are fetched from the GitHub API at build time. The weekly
build picks up a new release, and a
repository_dispatchevent of typecider-releaserebuilds the site right away. - Feature releases: point
seriesandannouncementindata/release.yamlat the new release and its announcement, and bumpfallbackVersioninhugo.toml, which is only used when GitHub can't be reached during the build.
The GIFs and screenshots in static/media/ are recorded by scripts in
capture/: a real Emacs talking to a real REPL running the demo project in
capture/project/. With a CIDER checkout, the Clojure CLI, a GUI Emacs and
ImageMagick around:
CIDER_DIR=~/projects/cider ./capture/run.shA small Emacs frame takes over the screen for a couple of minutes, so don't type while it's up.
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.