• Stars
    star
    217
  • Rank 177,064 (Top 4 %)
  • Language
    Clojure
  • License
    The Unlicense
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Dynamic documentation for Clojure(Script)

Introduction

This is not your father's documentation generator. Dynadoc is all about making better documentation by combining Clojure's incredible dynamism with my inability to come up with good project names.

Instant docs for all Clojure(Script) dependencies

Dynadoc finds all of your Clojure/ClojureScript dependencies and makes a single searchable documentation page for all of them. It's meant to be a general dev tool, not just a static generator for library authors.

Interactive examples for any Clojure(Script) function

Dynadoc allows you to interact with functions directly on their documentation page. All you have to do is define code examples using a special macro called defexample and Dynadoc will display them along with little browser-based editors.

demo clj

ClojureScript examples are particularly cool. They can optionally ask for a DOM element to interact with, allowing for all sorts of visual code examples.

demo cljs

I think I accidentally combined Codox with Devcards and now I'm just rolling with it.

Export static docs that still have ClojureScript interactivity

While Dynadoc is primarily meant for being run locally, it fully supports exporting to a static site so you can put your docs online. Just click the export link on the top right of any page.

The crazy part is that the interactive ClojureScript examples will still work, because ClojureScript can compile itself in the browser! Check out the play-cljs dynadocs to see this in action.

Usage

Please see the example projects for guidance on how to use Dynadoc. You'll primarily run it via the Boot task or Lein plugin like they do. You can also just run it directly as a library -- just call (dynadoc.core/start {:port 5000}) from anywhere in your project.

If you want your ClojureScript examples to be interactive, you will also need to rebuild Dynadoc's frontend. To do this, you'll need to create a build configuration with these compiler options: :output-to "resources/dynadoc-extend/main.js" :optimizations :simple. The example repo contains both Lein and Boot projects that do this.

Development

  • Install the Clojure CLI tool
  • To develop with figwheel: clj -M:cljs:dev
  • To build and install the release version: clj -M:cljs:prod install

Licensing

All files that originate from this project are dedicated to the public domain. I would love pull requests, and will assume that they are also dedicated to the public domain.

More Repositories

1

vim_cubed

Vim rendered on a cube for no reason
Nim
2,706
star
2

Nightcode

An IDE for Clojure
Clojure
1,405
star
3

play-clj

A Clojure game library
Clojure
941
star
4

SolidOak

An IDE for Rust
Rust
896
star
5

Nightlight

An embedded editor for Clojure
Clojure
789
star
6

play-cljc

A Clojure and ClojureScript game library
Clojure
520
star
7

odoyle-rules

A rules engine for Clojure(Script)
Clojure
513
star
8

Nightweb

An anonymous P2P social network in Clojure
Clojure
495
star
9

PixelJihad

A JavaScript steganography tool
JavaScript
302
star
10

play-cljs

A ClojureScript game library
Clojure
290
star
11

Lightmod

An all-in-one tool for full stack Clojure
Clojure
275
star
12

Nightmod

A tool for making live-moddable games in Clojure
Clojure
191
star
13

edna

A Clojure data -> music library
Clojure
185
star
14

Paravim

A Vim-based editor for Clojure
Clojure
178
star
15

paren-soup

A browser-based editor for ClojureScript
Clojure
152
star
16

full-stack-clj-example

A sample Clojure CLI project containing Clojure and ClojureScript
Clojure
117
star
17

play-clj-examples

Example projects using play-clj
Clojure
112
star
18

Nightcoders

A cloud IDE for ClojureScript
Clojure
75
star
19

odoyle-rum

Clojure
70
star
20

play-cljc-examples

Clojure
56
star
21

full-stack-boot-example

A sample Boot project containing Clojure and ClojureScript
Clojure
51
star
22

neovim-rs

A Neovim wrapper for Rust
Rust
47
star
23

iglu

A Clojure data -> GLSL library
Clojure
39
star
24

clarax

A new coat of paint for clara rules
Clojure
37
star
25

libgdx-examples

Java
29
star
26

tile-soup

A Clojure(Script) library to parse tiled maps
Clojure
26
star
27

clojure-conj-2014

Making Games at Runtime with Clojure
Clojure
25
star
28

libvim-clj

Vim as a Clojure library
Clojure
25
star
29

play-cljs-examples

Example projects using play-cljs
Clojure
20
star
30

parinferish

A library for parsing Clojure and optionally applying parinfer(ish)
Clojure
18
star
31

learn-clojure

Clojure
16
star
32

eval-soup

A library that makes it easy to eval Clojure(Script) code
Clojure
14
star
33

cross-parinfer

A library that wraps Parinfer for Clojure and ClojureScript
Clojure
11
star
34

zachlisp.nim

Nim
11
star
35

Russian101

An Android app for learning Russian
Java
11
star
36

zachlisp.cpp

C++
10
star
37

mistakes-were-made

An undo/redo system for Clojure and ClojureScript
Clojure
10
star
38

defexample

A macro for defining code examples
Clojure
9
star
39

dynadoc-examples

Example projects using Dynadoc
Clojure
9
star
40

odoyle-rum-todo

Clojure
7
star
41

play-clj.net

A networking library for play-clj games
Clojure
6
star
42

SeeJay

A console program in C demonstrating key generation and encrypted connections
C
5
star
43

html-soup

A library that adds HTML tags to Clojure(Script) code
Clojure
5
star
44

play-cljc.text

Render text with play-cljc
Clojure
5
star
45

nimconf-2021

4
star
46

tag-soup

A library to parse code into descriptive maps
Clojure
4
star
47

functional-game-dev

Clojure
4
star
48

clojured-lightning-talk

Clojure
3
star
49

bay-area-odoyle

Clojure
3
star
50

clojure-assignments

Clojure
3
star
51

java-assignments

Java
3
star
52

perma-zig

Zig
3
star
53

FireSteg

A stego tool I made in college
Java
2
star
54

HighSchoolFinal

A mock operating system UI I made in high school
Java
1
star
55

Jumpman

Simple JavaScript game for teaching coding
JavaScript
1
star
56

imgui_nim

Nim
1
star
57

BabaRam

A dashcam app for Android in Java
Java
1
star
58

vulkan_triangle_nim

Nim
1
star