This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is David Nolen’s personal blog hosted at swannodette.github.com, built with Jekyll. The blog focuses on Lisp, Logic Programming, and JavaScript, with extensive ClojureScript examples and interactive demos.
bundle install
rake preview
or bundle exec jekyll serve --watch
rake build
or bundle exec jekyll build
rake post title="Post Title"
(optionally add date="YYYY-MM-DD"
)rake page name="page-name.html"
Navigate to code/blog/
directory for ClojureScript development:
lein cljsbuild once
(builds all configured targets)lein cljsbuild auto [build-id]
code/blog/scripts/
directoryEach example has both development and production builds:
csp-dev
/csp-adv
- CSP (Communicating Sequential Processes) examplesproc-dev
/proc-adv
- Process examplesresp-dev
/resp-adv
- Responsive design examplesac-dev
/ac-adv
- Autocomplete examplespromises-simp
/promises-adv
- Promise exampleserrors-simp
- Error handling examplesinstrument-dev
/instrument-release
- Instrumentation examplesfaster-dev
/faster-release
- Performance examplescontracts-dev
/contracts-release
- Contract examplescljs-next-release
- ClojureScript compiler examples_posts/
- Blog posts in Markdown format with Jekyll front matter_layouts/
- Jekyll templates (default.html, post.html, page.html)_includes/
- Reusable Jekyll components and themesassets/
- Static assets including compiled JavaScript, CSS, and imagescode/blog/src/blog/
- ClojureScript source code organized by topic:
autocomplete/
- Auto-completion demoscljs_next/
- ClojureScript compiler examples with self-hosted compilationcontracts/
- Contract programming examplescsp/
- Communicating Sequential Processes exampleserrors/
- Error handling patternsfaster/
- Performance optimization examplesinstrument/
- Development tooling examplesprocesses/
- Process management examplespromises/
- Promise/async programming examplesresponsive/
- Responsive UI examplesutils/
- Shared utilities (DOM manipulation, helpers, reactive patterns)Blog posts include interactive ClojureScript examples that:
assets/js/[example-name].js
:whitespace
or :none
optimization:advanced
optimization with Google Closure Compiler