Skip to content

Commit cb1de15

Browse files
author
Quarto GHA Workflow Runner
committed
Built site for gh-pages
1 parent a712d50 commit cb1de15

15 files changed

Lines changed: 453 additions & 372 deletions

File tree

.nojekyll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
f082155d
1+
bdef13f9

about.html

Lines changed: 61 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
88

99

10-
<title>about – Clojure Civitas</title>
10+
<title>About – Clojure Civitas</title>
1111
<style>
1212
code{white-space: pre-wrap;}
1313
span.smallcaps{font-variant: small-caps;}
@@ -75,7 +75,7 @@
7575
<script data-goatcounter="https://clojurecivitas.goatcounter.com/count" async="" src="//gc.zgo.at/count.js"></script>
7676

7777

78-
<meta property="og:title" content="Clojure Civitas">
78+
<meta property="og:title" content="About – Clojure Civitas">
7979
<meta property="og:description" content="">
8080
<meta property="og:image" content="https://clojurecivitas.github.io/images/civitas-icon.svg">
8181
<meta property="og:site_name" content="Clojure Civitas">
@@ -313,16 +313,71 @@
313313
<!-- margin-sidebar -->
314314

315315
<!-- main -->
316-
<main class="content" id="quarto-document-content"><header id="title-block-header" class="quarto-title-block"></header>
316+
<main class="content" id="quarto-document-content">
317+
318+
319+
<header id="title-block-header" class="quarto-title-block default">
320+
<div class="quarto-title">
321+
<h1 class="title">About</h1>
322+
</div>
317323

318324

319325

326+
<div class="quarto-title-meta">
320327

328+
329+
330+
331+
</div>
332+
321333

322-
<section id="about" class="level1">
323-
<h1>About</h1>
324-
<p><img src="images/civitas-icon.svg" alt="Civitas Icon" align="right"></p>
334+
335+
</header>
336+
337+
338+
<p><img src="images/civitas-icon.svg" alt="Civitas Icon" align="right" style="margin: 1.5em;"></p>
325339
<p>Clojure Civitas makes it easy for you to publish Clojure ideas and explorations without the overhead of setting up a new project, blog, or repo. Whether you’re sketching out a quick experiment or writing a deeper post, just fork this repo, create a namespace, write, commit and submit a pull request. This is your shared scratch space.</p>
340+
<div class="callout callout-style-default callout-tip callout-titled">
341+
<div class="callout-header d-flex align-content-center">
342+
<div class="callout-icon-container">
343+
<i class="callout-icon"></i>
344+
</div>
345+
<div class="callout-title-container flex-fill">
346+
Tip
347+
</div>
348+
</div>
349+
<div class="callout-body-container callout-body">
350+
<p>“Civitas” refers to a community of citizens, encompassing the rights, duties, and privileges associated with belonging.</p>
351+
</div>
352+
</div>
353+
<section id="usage" class="level2">
354+
<h2 class="anchored" data-anchor-id="usage">Usage</h2>
355+
<ol type="1">
356+
<li>Fork the <a href="https://github.com/ClojureCivitas/clojurecivitas.github.io">Clojure Civitas repository</a></li>
357+
<li>Add your new namespace to <code>src</code></li>
358+
<li>Write code and markdown comments</li>
359+
<li>Submit a pull request</li>
360+
<li>Published</li>
361+
</ol>
362+
<p>See <a href="https://github.com/ClojureCivitas/clojurecivitas.github.io/blob/main/README.md">README.md</a> for more information, or browse the existing namespaces in <code>src</code>.</p>
363+
</section>
364+
<section id="rationale" class="level2">
365+
<h2 class="anchored" data-anchor-id="rationale">Rationale</h2>
366+
<p>Namespaces with markdown comments are a natural fit for interactive, literate programming. ClojureCivitas makes it easy to experience the pleasure of this style of coding. Build up an idea in your REPL, in your favorite editor, and share it with others.</p>
367+
<p><strong>Problem:</strong> There is incidental complexity in literate programming setup and publishing. Creating a new project, configuring a blog, choosing themes and styling, organizing files, adding analytics, and thinking about SEO all add overhead. This friction gets in the way of creativity, exploration, writing, and sharing. Many people are missing out on the joy of interactive programming as a tool for thought.</p>
368+
<p><strong>Solution:</strong> A clear path for publishing Clojure ideas and explorations.</p>
369+
<p><strong>Hope:</strong> As writers share their ideas, readers are encouraged to try literate programming, and share their own insights and experiments.</p>
370+
<section id="why-markdown-in-code" class="level3">
371+
<h3 class="anchored" data-anchor-id="why-markdown-in-code">Why markdown in code?</h3>
372+
<p>We value reproducible artifacts. Start with code. Make it work. Then tell the story.</p>
373+
</section>
374+
<section id="make-publishing-clojure-namespaces-easy" class="level3">
375+
<h3 class="anchored" data-anchor-id="make-publishing-clojure-namespaces-easy">Make Publishing Clojure Namespaces Easy</h3>
376+
<p>Creators should only have to care about their code, not setting up projects or hosting workflows. Let’s make a shared, organized platform for short experiments, tutorials, notes, and blog posts.</p>
377+
</section>
378+
<section id="build-a-database-of-knowledge" class="level3">
379+
<h3 class="anchored" data-anchor-id="build-a-database-of-knowledge">Build a Database of Knowledge</h3>
380+
<p>Civitas aggregates structured metadata about the content it hosts and links it to other Clojure resources. We can build a connected web of ideas, showing how concepts relate, what builds on what, and where to go next. A <a href="https://clojurecivitas.github.io/civitas/explorer.html">hex-grid interface</a> presents these relationships visually. Each notebook can declare prerequisites, alternatives, and follow-ups. This helps learners discover next steps, helps educators design coherent learning paths, and enables the community to improve content over time. The goal is to make the Clojure knowledge ecosystem easier to explore and navigate.</p>
326381
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1rem; margin: 2rem 0;">
327382
<div style="border-left: 3px solid green; padding-left: 1rem;">
328383
<h3 class="anchored">
@@ -350,21 +405,6 @@ <h3 class="anchored">
350405
</div>
351406
</div>
352407
<p>An open effort to structure learning resources with meaningful connections.</p>
353-
<p>“Civitas” refers to a community of citizens, encompassing the rights, duties, and privileges associated with belonging. It’s a term that signifies citizenship, not just a physical city, but also the political and social fabric of the community.</p>
354-
<section id="usage" class="level2">
355-
<h2 class="anchored" data-anchor-id="usage">Usage</h2>
356-
<p>See <a href="https://github.com/ClojureCivitas/clojurecivitas.github.io/blob/main/README.md">README.md</a>.</p>
357-
</section>
358-
<section id="rationale" class="level2">
359-
<h2 class="anchored" data-anchor-id="rationale">Rationale</h2>
360-
<p>Clojure and markdown are a natural fit for interactive, literate programming. But there is incidental complexity in setup and publishing. Creating a new project, configuring a blog, choosing themes and styling, organizing files, adding analytics, and thinking about SEO all add overhead. This friction discourages experimentation and makes publishing harder than it needs to be.</p>
361-
<section id="make-publishing-clojure-namespaces-easy" class="level3">
362-
<h3 class="anchored" data-anchor-id="make-publishing-clojure-namespaces-easy">Make Publishing Clojure Namespaces Easy</h3>
363-
<p>Markdown comments in Clojure namespaces is a perfect fit for interactive literate programming. Creators should only have to care about their code, not setting up projects or hosting workflows. Let’s make a shared, organized platform for short experiments, tutorials, notes, and blog posts.</p>
364-
</section>
365-
<section id="build-a-database-of-knowledge" class="level3">
366-
<h3 class="anchored" data-anchor-id="build-a-database-of-knowledge">Build a Database of Knowledge</h3>
367-
<p>Civitas aggregates structured metadata about the content it hosts and links it to other Clojure resources. We can build a connected web of ideas, showing how concepts relate, what builds on what, and where to go next. A <a href="https://clojurecivitas.github.io/civitas/explorer.html">hex-grid interface</a> presents these relationships visually. Each notebook can declare prerequisites, alternatives, and follow-ups. This helps learners discover next steps, helps educators design coherent learning paths, and enables the community to improve content over time. The goal is to make the Clojure knowledge ecosystem easier to explore and navigate.</p>
368408
</section>
369409
<section id="embrace-alternatives" class="level3">
370410
<h3 class="anchored" data-anchor-id="embrace-alternatives">Embrace Alternatives</h3>
@@ -389,11 +429,6 @@ <h3 class="anchored" data-anchor-id="analytics">Analytics</h3>
389429
<section id="technical-details" class="level3">
390430
<h3 class="anchored" data-anchor-id="technical-details">Technical Details</h3>
391431
<p>Made with <a href="https://scicloj.github.io/clay/">Clay</a>. See the <a href="https://github.com/ClojureCivitas/clojurecivitas.github.io/blob/main/README.md">README.md</a> in the repository for contribution guidelines and technical details.</p>
392-
</section>
393-
</section>
394-
<section id="why-markdown-in-code" class="level2">
395-
<h2 class="anchored" data-anchor-id="why-markdown-in-code">Why markdown in code?</h2>
396-
<p>We value reproducible artifacts. Start with code. Make it work. Then tell the story.</p>
397432

398433

399434
</section>

civitas/why/i_should_write_more.html

Lines changed: 11 additions & 11 deletions
Large diffs are not rendered by default.

code_interview/beating/with_stupid_stuff/z_combinator_gambit.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ <h1 class="title">The Z-Combinator Gambit</h1>
511511
<i class="callout-icon"></i>
512512
</div>
513513
<div class="callout-title-container flex-fill">
514-
class code_interview.beating.with_stupid_stuff.z_combinator_gambit<span class="math inline">\(REV_SINGLEQUOTE_\)</span>fn__76211 cannot be cast to class clojure.lang.IPersistentCollection (code_interview.beating.with_stupid_stuff.z_combinator_gambit<span class="math inline">\(REV_SINGLEQUOTE_\)</span>fn__76211 is in unnamed module of loader clojure.lang.DynamicClassLoader <span class="citation" data-cites="4c6671ee">@4c6671ee</span>; clojure.lang.IPersistentCollection is in unnamed module of loader ‘app’)
514+
class code_interview.beating.with_stupid_stuff.z_combinator_gambit<span class="math inline">\(REV_SINGLEQUOTE_\)</span>fn__76211 cannot be cast to class clojure.lang.IPersistentCollection (code_interview.beating.with_stupid_stuff.z_combinator_gambit<span class="math inline">\(REV_SINGLEQUOTE_\)</span>fn__76211 is in unnamed module of loader clojure.lang.DynamicClassLoader <span class="citation" data-cites="32b7e63c">@32b7e63c</span>; clojure.lang.IPersistentCollection is in unnamed module of loader ‘app’)
515515
</div>
516516
<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div>
517517
</div>
@@ -522,7 +522,7 @@ <h1 class="title">The Z-Combinator Gambit</h1>
522522
code-interview.beating.with-stupid-stuff.z-combinator-gambit/eval76214 REPL Input:
523523
code-interview.beating.with-stupid-stuff.z-combinator-gambit/REV'/fn REPL Input:
524524
clojure.core/conj core.clj: 84
525-
java.lang.ClassCastException: class code_interview.beating.with_stupid_stuff.z_combinator_gambit$REV_SINGLEQUOTE_$fn__76211 cannot be cast to class clojure.lang.IPersistentCollection (code_interview.beating.with_stupid_stuff.z_combinator_gambit$REV_SINGLEQUOTE_$fn__76211 is in unnamed module of loader clojure.lang.DynamicClassLoader @4c6671ee; clojure.lang.IPersistentCollection is in unnamed module of loader 'app')
525+
java.lang.ClassCastException: class code_interview.beating.with_stupid_stuff.z_combinator_gambit$REV_SINGLEQUOTE_$fn__76211 cannot be cast to class clojure.lang.IPersistentCollection (code_interview.beating.with_stupid_stuff.z_combinator_gambit$REV_SINGLEQUOTE_$fn__76211 is in unnamed module of loader clojure.lang.DynamicClassLoader @32b7e63c; clojure.lang.IPersistentCollection is in unnamed module of loader 'app')
526526

527527
</code></pre>
528528
</div>
@@ -608,7 +608,7 @@ <h1 class="title">The Z-Combinator Gambit</h1>
608608
<i class="callout-icon"></i>
609609
</div>
610610
<div class="callout-title-container flex-fill">
611-
class code_interview.beating.with_stupid_stuff.z_combinator_gambit<span class="math inline">\(REV_LOGIC\)</span>fn__76221 cannot be cast to class clojure.lang.IPersistentCollection (code_interview.beating.with_stupid_stuff.z_combinator_gambit<span class="math inline">\(REV_LOGIC\)</span>fn__76221 is in unnamed module of loader clojure.lang.DynamicClassLoader <span class="citation" data-cites="5fac27d2">@5fac27d2</span>; clojure.lang.IPersistentCollection is in unnamed module of loader ‘app’)
611+
class code_interview.beating.with_stupid_stuff.z_combinator_gambit<span class="math inline">\(REV_LOGIC\)</span>fn__76221 cannot be cast to class clojure.lang.IPersistentCollection (code_interview.beating.with_stupid_stuff.z_combinator_gambit<span class="math inline">\(REV_LOGIC\)</span>fn__76221 is in unnamed module of loader clojure.lang.DynamicClassLoader <span class="citation" data-cites="5474035a">@5474035a</span>; clojure.lang.IPersistentCollection is in unnamed module of loader ‘app’)
612612
</div>
613613
<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div>
614614
</div>
@@ -619,7 +619,7 @@ <h1 class="title">The Z-Combinator Gambit</h1>
619619
code-interview.beating.with-stupid-stuff.z-combinator-gambit/eval76232 REPL Input:
620620
code-interview.beating.with-stupid-stuff.z-combinator-gambit/REV-LOGIC/fn REPL Input:
621621
clojure.core/conj core.clj: 84
622-
java.lang.ClassCastException: class code_interview.beating.with_stupid_stuff.z_combinator_gambit$REV_LOGIC$fn__76221 cannot be cast to class clojure.lang.IPersistentCollection (code_interview.beating.with_stupid_stuff.z_combinator_gambit$REV_LOGIC$fn__76221 is in unnamed module of loader clojure.lang.DynamicClassLoader @5fac27d2; clojure.lang.IPersistentCollection is in unnamed module of loader 'app')
622+
java.lang.ClassCastException: class code_interview.beating.with_stupid_stuff.z_combinator_gambit$REV_LOGIC$fn__76221 cannot be cast to class clojure.lang.IPersistentCollection (code_interview.beating.with_stupid_stuff.z_combinator_gambit$REV_LOGIC$fn__76221 is in unnamed module of loader clojure.lang.DynamicClassLoader @5474035a; clojure.lang.IPersistentCollection is in unnamed module of loader 'app')
623623

624624
</code></pre>
625625
</div>

0 commit comments

Comments
 (0)