You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<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>
<li>Fork the <ahref="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 <ahref="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>
<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
+
<sectionid="why-markdown-in-code" class="level3">
371
+
<h3class="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>
<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>
<h3class="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 <ahref="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>
<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>
<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>
<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>
<h3class="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 <ahref="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>
<p>Made with <ahref="https://scicloj.github.io/clay/">Clay</a>. See the <ahref="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
-
<sectionid="why-markdown-in-code" class="level2">
395
-
<h2class="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>
class code_interview.beating.with_stupid_stuff.z_combinator_gambit<spanclass="math inline">\(REV_SINGLEQUOTE_\)</span>fn__76211 cannot be cast to class clojure.lang.IPersistentCollection (code_interview.beating.with_stupid_stuff.z_combinator_gambit<spanclass="math inline">\(REV_SINGLEQUOTE_\)</span>fn__76211 is in unnamed module of loader clojure.lang.DynamicClassLoader <spanclass="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<spanclass="math inline">\(REV_SINGLEQUOTE_\)</span>fn__76211 cannot be cast to class clojure.lang.IPersistentCollection (code_interview.beating.with_stupid_stuff.z_combinator_gambit<spanclass="math inline">\(REV_SINGLEQUOTE_\)</span>fn__76211 is in unnamed module of loader clojure.lang.DynamicClassLoader <spanclass="citation" data-cites="32b7e63c">@32b7e63c</span>; clojure.lang.IPersistentCollection is in unnamed module of loader ‘app’)
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')
class code_interview.beating.with_stupid_stuff.z_combinator_gambit<spanclass="math inline">\(REV_LOGIC\)</span>fn__76221 cannot be cast to class clojure.lang.IPersistentCollection (code_interview.beating.with_stupid_stuff.z_combinator_gambit<spanclass="math inline">\(REV_LOGIC\)</span>fn__76221 is in unnamed module of loader clojure.lang.DynamicClassLoader <spanclass="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<spanclass="math inline">\(REV_LOGIC\)</span>fn__76221 cannot be cast to class clojure.lang.IPersistentCollection (code_interview.beating.with_stupid_stuff.z_combinator_gambit<spanclass="math inline">\(REV_LOGIC\)</span>fn__76221 is in unnamed module of loader clojure.lang.DynamicClassLoader <spanclass="citation" data-cites="5474035a">@5474035a</span>; clojure.lang.IPersistentCollection is in unnamed module of loader ‘app’)
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')
0 commit comments