|
2 | 2 |
|
3 | 3 | Changes can be:
|
4 | 4 | * 🌟⭐️💫 features
|
| 5 | +* 🚨 possibly breaking |
5 | 6 | * 🐞🐜 friendly or nasty bugs
|
6 | 7 | * 🛠 dev improvements
|
7 | 8 |
|
8 | 9 | ## Unreleased
|
9 | 10 |
|
| 11 | +* 👁️ Improve viewer customization |
| 12 | + |
| 13 | + * Simplify customization of number of rows displayed for table viewer using viewer-opts, e.g. `(clerk/table {::clerk/page-size 7})`. Pass `{::clerk/page-size nil}` to display elisions. Can also be passed a form metadata. Fixes [#406](https://github.com/nextjournal/clerk/issues/406). |
| 14 | + |
| 15 | + * Change semantics of `clerk/add-viewers!` to perform in-place positional replacement of named added viewers. Anonymous viewers (without a `:name`) or new named viewers will be prepended to the viewer stack. Assign a symbol `:name` to all of `clerk/default-viewers`. |
| 16 | + |
| 17 | + * Support first-class `:add-viewers` attribute on viewer map which will do `clerk/add-viewers` before passing viewers down the tree. Use it in `table-viewer` and `markdown-viewer`. Both these viewers can now be customized more easily. For example, you can customize the `table-viewer` to show missing values differently, see [Book of Clerk](https://book.clerk.vision/#tables). |
| 18 | + |
| 19 | +* 🚨 Rename `:nextjournal.clerk/opts` to `:nextjournal.clerk/render-opts` to clarify this options map is available as the second arg to parametrize the `:render-fn`. Still support the `:nextjournal.clerk/opts` for now. |
| 20 | + |
| 21 | +* 📖 Improve Table of Contents design and fixing re-rendering issues. Also added suport for chapter expansion. |
| 22 | + |
| 23 | +* 📒 Mention Tap Inspector in Book of Clerk & on Homepage |
| 24 | + |
| 25 | +* 🛠 Upgrade `framer-motion` dep to `10.12.16`. |
| 26 | + |
| 27 | +* 💫 Assign `:name` to every viewer in `default-viewers` |
| 28 | + |
| 29 | +* 🐞 Don't run existing files through `fs/glob`, fixes [#504](https://github.com/nextjournal/clerk/issues/504). Also improves performance of homepage. |
| 30 | + |
| 31 | +* 🐞 Show correct non-var return value for deflike form, fixes [#499](https://github.com/nextjournal/clerk/issues/499) |
| 32 | + |
| 33 | +## 0.14.919 (2023-06-13) |
| 34 | + |
| 35 | +* 🚨 Breaking Changes: |
| 36 | + |
| 37 | + * Change `nextjournal.clerk.render/clerk-eval` to not recompute the currently shown document when using the 1-arity version. Added a second arity that takes an opts map with a `:recompute?` key. |
| 38 | + |
| 39 | + * Change `nextjournal.clerk/eval-cljs` to only take one form (like `clojure.core/eval`) but support viewer opts. If you want multiple forms to be evaluated, wrap them in a `do`. |
| 40 | + |
| 41 | + |
10 | 42 | * 💈 Show execution progress
|
11 | 43 |
|
12 | 44 | To see what's going on while waiting for a long-running computation, Clerk will now show an execution status bar on the top. For named cells (defining a var) it will show the name of the var, for anonymous expressions, a preview of the form.
|
13 | 45 |
|
14 |
| -* 🍕 `clerk/fragment` for splicing a seq of values into the document as if it were produced by results of individual cells. Useful when programmatically generating content. |
| 46 | +* 🔗 Interactive Links, Index and Homepage |
| 47 | + |
| 48 | + Links can now be followed in interactive mode and the index can be viewed. Previously this could only be seen after a `build!`. Add support evaluating a given doc by entering it in the browser's address bar. |
| 49 | + |
| 50 | + Use these features to build a new welcome page that gives more useful information, including links to potential notebooks in the project. |
| 51 | + |
| 52 | +* ⚡️ Speed up analysis of gitlibs using git sha, resolve protocol methods |
| 53 | + |
| 54 | + This significantly speeds up analysis for gitlibs by using the git sha as a hash (thus treating them as immutable) instead of handling them on a per-form level. |
| 55 | + |
| 56 | + Also resolve protocol methods to the defining protocol, which would previously not be detected. |
| 57 | + |
| 58 | + Lastly drop the location cache which is no longer needed. |
| 59 | + |
| 60 | +* 🍕 Add `clerk/fragment` for splicing a seq of values into the document as if it were produced by results of individual cells. Useful when programmatically generating content. |
| 61 | + |
| 62 | +* 🚰 Improve Tap Inspector |
| 63 | + |
| 64 | + * Support customizing of `:nextjournal.clerk/width` and `:nextjournal.clerk/budget` for individual tapped values |
| 65 | + * Fix re-rendering of tapped values by assigning stable react keys |
| 66 | + * Build it on top of `clerk/fragment` |
| 67 | + |
| 68 | +* 🍒 Add support for cherry as an alternative to sci to evaluate `:render-fn`s. You can change it per form (using form metadata or viewer opts) or doc-wide (using ns metadata) with `{:nextjournal.clerk/render-evaluator :cherry}`. |
| 69 | + |
| 70 | +* 🏳️🌈 Syntax highlighting for code listings in all [languages supported by codemirror](https://github.com/codemirror/language-data) ([#500](https://github.com/nextjournal/clerk/issues/500)). |
| 71 | + |
| 72 | +* ⭐️ Adds support for customization of viewer options |
| 73 | + |
| 74 | + Support both globally (via ns metadata or a settings marker) or locally (via form metadata or the viewer options map). |
| 75 | + |
| 76 | + Supported options are: |
| 77 | + * `:nextjournal.clerk/auto-expand-results?` |
| 78 | + * `:nextjournal.clerk/budget` |
| 79 | + * `:nextjournal.clerk/css-class` |
| 80 | + * `:nextjournal.clerk/visibility` |
| 81 | + * `:nextjournal.clerk/width` |
| 82 | + * `:nextjournal.clerk/render-evaluator` |
15 | 83 |
|
16 | 84 | * 🔌 Make websocket reconnect automatically on close to avoid having to reload the page
|
| 85 | + |
17 | 86 | * 💫 Cache expressions that return `nil` in memory
|
18 | 87 |
|
| 88 | +* 💫 Support non-evaluated clojure code listings in markdown documents by specifying `{:nextjournal.clerk/code-listing true}` after the language ([#482](https://github.com/nextjournal/clerk/issues/482)). |
| 89 | + |
| 90 | +* 💫 Support imported vars (e.g. by potemkin) in location analysis |
| 91 | + |
| 92 | + By considering `:file` on var meta in location analysis. Previously we would not find a location for vars where the namespace did not match the source file. As we're not caching negative findings this can speed up analysis for deps with a large number of imported vars significantly. |
| 93 | + |
| 94 | +* 💫 Support serializing `#inst` and `#uuid` to render-fns |
| 95 | + |
| 96 | +* 🐜 Turn off analyzer pass for validation of `:type` tags, fixes [#488](https://github.com/nextjournal/clerk/issues/488) @craig-latacora |
| 97 | + |
| 98 | +* 🐜 Strip `:type` metadata from forms before printing them to hash, fixes [#489](https://github.com/nextjournal/clerk/issues/489) @craig-latacora |
| 99 | + |
| 100 | +* 🐜 Ensure custom `print-method` supporting unreadable symbols preserves metadata |
| 101 | + |
| 102 | +* 🐞 Preserve `*ns*` during `build!`, fixes [#506](https://github.com/nextjournal/clerk/issues/506) |
| 103 | + |
19 | 104 | ## 0.13.842 (2023-03-07)
|
20 | 105 |
|
21 | 106 | * 💫 Support pagination for values nested inside `clerk/html`
|
|
0 commit comments