Skip to content

Commit 973af49

Browse files
authored
Public API test (#48)
1 parent 4658a1d commit 973af49

File tree

10 files changed

+490
-661
lines changed

10 files changed

+490
-661
lines changed

API.md

Lines changed: 13 additions & 264 deletions
Original file line numberDiff line numberDiff line change
@@ -12,43 +12,17 @@
1212
- [`table-alignment`](#nextjournal.markdown.transform/table-alignment)
1313
- [`toc->hiccup`](#nextjournal.markdown.transform/toc->hiccup)
1414
- [`nextjournal.markdown.utils`](#nextjournal.markdown.utils)
15-
- [`->zip`](#nextjournal.markdown.utils/->zip)
16-
- [`add-title+toc`](#nextjournal.markdown.utils/add-title+toc) - Computes and adds a :title and a :toc to the document-like structure <code>doc</code> which might have not been constructed by means of <code>parse</code>.
17-
- [`add-to-toc`](#nextjournal.markdown.utils/add-to-toc)
1815
- [`block-formula`](#nextjournal.markdown.utils/block-formula)
19-
- [`current-ancestor-nodes`](#nextjournal.markdown.utils/current-ancestor-nodes)
20-
- [`current-loc`](#nextjournal.markdown.utils/current-loc)
2116
- [`empty-doc`](#nextjournal.markdown.utils/empty-doc) - The empty doc.
22-
- [`footnote->sidenote`](#nextjournal.markdown.utils/footnote->sidenote)
2317
- [`formula`](#nextjournal.markdown.utils/formula)
24-
- [`handle-close-heading`](#nextjournal.markdown.utils/handle-close-heading)
25-
- [`handle-text-token`](#nextjournal.markdown.utils/handle-text-token)
2618
- [`hashtag-tokenizer`](#nextjournal.markdown.utils/hashtag-tokenizer)
27-
- [`inc-last`](#nextjournal.markdown.utils/inc-last)
28-
- [`insert-sidenote-containers`](#nextjournal.markdown.utils/insert-sidenote-containers) - Handles footnotes as sidenotes.
19+
- [`insert-sidenote-containers`](#nextjournal.markdown.utils/insert-sidenote-containers)
2920
- [`internal-link-tokenizer`](#nextjournal.markdown.utils/internal-link-tokenizer)
30-
- [`into-toc`](#nextjournal.markdown.utils/into-toc)
31-
- [`node`](#nextjournal.markdown.utils/node)
32-
- [`node-with-sidenote-refs`](#nextjournal.markdown.utils/node-with-sidenote-refs)
3321
- [`normalize-tokenizer`](#nextjournal.markdown.utils/normalize-tokenizer) - Normalizes a map of regex and handler into a Tokenizer.
34-
- [`parse-fence-info`](#nextjournal.markdown.utils/parse-fence-info)
35-
- [`ppop`](#nextjournal.markdown.utils/ppop)
36-
- [`re-groups*`](#nextjournal.markdown.utils/re-groups*)
37-
- [`re-idx-seq`](#nextjournal.markdown.utils/re-idx-seq) - Takes a regex and a string, returns a seq of triplets comprised of match groups followed by indices delimiting each match.
38-
- [`set-title-when-missing`](#nextjournal.markdown.utils/set-title-when-missing)
39-
- [`split-by-emoji`](#nextjournal.markdown.utils/split-by-emoji)
40-
- [`text->id+emoji`](#nextjournal.markdown.utils/text->id+emoji)
4122
- [`text-node`](#nextjournal.markdown.utils/text-node)
4223
- [`tokenize-text-node`](#nextjournal.markdown.utils/tokenize-text-node)
43-
- [`update-current-loc`](#nextjournal.markdown.utils/update-current-loc)
44-
- [`zdepth`](#nextjournal.markdown.utils/zdepth)
45-
- [`zip?`](#nextjournal.markdown.utils/zip?)
46-
- [`zopen-node`](#nextjournal.markdown.utils/zopen-node)
47-
- [`zpath`](#nextjournal.markdown.utils/zpath) - Given a document zipper location <code>loc</code> returns a vector corresponding to the path of node at <code>loc</code> suitable for get-in from root.
4824
- [`nextjournal.markdown.utils.emoji`](#nextjournal.markdown.utils.emoji) - https://github.com/mathiasbynens/emoji-test-regex-pattern MIT License Copyright Mathias Bynens <https://mathiasbynens.be/>.
4925
- [`regex`](#nextjournal.markdown.utils.emoji/regex)
50-
- [`regex-java`](#nextjournal.markdown.utils.emoji/regex-java)
51-
- [`regex-js`](#nextjournal.markdown.utils.emoji/regex-js)
5226

5327
-----
5428
# <a name="nextjournal.markdown">nextjournal.markdown</a>
@@ -176,276 +150,63 @@ Function.
176150
177151
178152
179-
## <a name="nextjournal.markdown.utils/->zip">`->zip`</a>
180-
``` clojure
181-
182-
(->zip doc)
183-
```
184-
Function.
185-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L81-L84">Source</a></sub></p>
186-
187-
## <a name="nextjournal.markdown.utils/add-title+toc">`add-title+toc`</a>
188-
``` clojure
189-
190-
(add-title+toc {:as doc, :keys [content]})
191-
```
192-
Function.
193-
194-
Computes and adds a :title and a :toc to the document-like structure `doc` which might have not been constructed by means of `parse`.
195-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L157-L162">Source</a></sub></p>
196-
197-
## <a name="nextjournal.markdown.utils/add-to-toc">`add-to-toc`</a>
198-
``` clojure
199-
200-
(add-to-toc doc {:as h, :keys [heading-level]})
201-
```
202-
Function.
203-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L151-L152">Source</a></sub></p>
204-
205153
## <a name="nextjournal.markdown.utils/block-formula">`block-formula`</a>
206-
``` clojure
207-
208-
(block-formula text)
209-
```
210-
Function.
211-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L71-L71">Source</a></sub></p>
212154
213-
## <a name="nextjournal.markdown.utils/current-ancestor-nodes">`current-ancestor-nodes`</a>
214-
``` clojure
215155
216-
(current-ancestor-nodes loc)
217-
```
218-
Function.
219-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L282-L287">Source</a></sub></p>
220156
221-
## <a name="nextjournal.markdown.utils/current-loc">`current-loc`</a>
222-
``` clojure
223-
224-
(current-loc {:as ctx, :nextjournal.markdown.impl/keys [root]})
225-
```
226-
Function.
227-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L64-L64">Source</a></sub></p>
157+
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L23-L23">Source</a></sub></p>
228158
229159
## <a name="nextjournal.markdown.utils/empty-doc">`empty-doc`</a>
230160
231161
232162
233163
234164
The empty doc
235-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L48-L62">Source</a></sub></p>
236-
237-
## <a name="nextjournal.markdown.utils/footnote->sidenote">`footnote->sidenote`</a>
238-
``` clojure
239-
240-
(footnote->sidenote {:keys [ref label content]})
241-
```
242-
Function.
243-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L368-L370">Source</a></sub></p>
165+
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L5-L7">Source</a></sub></p>
244166
245167
## <a name="nextjournal.markdown.utils/formula">`formula`</a>
246-
``` clojure
247168
248-
(formula text)
249-
```
250-
Function.
251-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L70-L70">Source</a></sub></p>
252169
253-
## <a name="nextjournal.markdown.utils/handle-close-heading">`handle-close-heading`</a>
254-
``` clojure
255170
256-
(handle-close-heading ctx)
257-
```
258-
Function.
259-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L164-L179">Source</a></sub></p>
260-
261-
## <a name="nextjournal.markdown.utils/handle-text-token">`handle-text-token`</a>
262-
``` clojure
263-
264-
(handle-text-token {:as ctx, :keys [text-tokenizers]} text)
265-
```
266-
Function.
267-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L259-L267">Source</a></sub></p>
171+
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L21-L21">Source</a></sub></p>
268172
269173
## <a name="nextjournal.markdown.utils/hashtag-tokenizer">`hashtag-tokenizer`</a>
270174
271175
272176
273-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L289-L292">Source</a></sub></p>
274-
275-
## <a name="nextjournal.markdown.utils/inc-last">`inc-last`</a>
276-
``` clojure
277-
278-
(inc-last path)
279-
```
280-
Function.
281-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L121-L121">Source</a></sub></p>
177+
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L13-L13">Source</a></sub></p>
282178
283179
## <a name="nextjournal.markdown.utils/insert-sidenote-containers">`insert-sidenote-containers`</a>
284-
``` clojure
285180
286-
(insert-sidenote-containers {:as doc, :keys [footnotes]})
287-
```
288-
Function.
289181
290-
Handles footnotes as sidenotes.
291182
292-
Takes and returns a parsed document. When the document has footnotes, wraps every top-level block which contains footnote references
293-
with a `:footnote-container` node, into each of such nodes, adds a `:sidenote-column` node containing a `:sidenote` node for each found ref.
294-
Renames type `:footnote-ref` to `:sidenote-ref.
295-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L372-L398">Source</a></sub></p>
183+
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L17-L17">Source</a></sub></p>
296184
297185
## <a name="nextjournal.markdown.utils/internal-link-tokenizer">`internal-link-tokenizer`</a>
298186
299187
300188
301-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L294-L297">Source</a></sub></p>
302-
303-
## <a name="nextjournal.markdown.utils/into-toc">`into-toc`</a>
304-
``` clojure
305-
306-
(into-toc toc {:as toc-item, :keys [heading-level]})
307-
```
308-
Function.
309-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L128-L149">Source</a></sub></p>
310-
311-
## <a name="nextjournal.markdown.utils/node">`node`</a>
312-
``` clojure
313-
314-
(node type content attrs top-level)
315-
```
316-
Function.
317-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L73-L77">Source</a></sub></p>
318-
319-
## <a name="nextjournal.markdown.utils/node-with-sidenote-refs">`node-with-sidenote-refs`</a>
320-
``` clojure
321-
322-
(node-with-sidenote-refs p-node)
323-
```
324-
Function.
325-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L358-L366">Source</a></sub></p>
189+
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L15-L15">Source</a></sub></p>
326190
327191
## <a name="nextjournal.markdown.utils/normalize-tokenizer">`normalize-tokenizer`</a>
328-
``` clojure
329192
330-
(normalize-tokenizer {:as tokenizer, :keys [doc-handler pred handler regex tokenizer-fn]})
331-
```
332-
Function.
333193
334-
Normalizes a map of regex and handler into a Tokenizer
335-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L273-L280">Source</a></sub></p>
336194
337-
## <a name="nextjournal.markdown.utils/parse-fence-info">`parse-fence-info`</a>
338-
``` clojure
339195
340-
(parse-fence-info info-str)
341-
```
342-
Function.
343-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L328-L346">Source</a></sub></p>
344-
345-
## <a name="nextjournal.markdown.utils/ppop">`ppop`</a>
346-
347-
348-
349-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L120-L120">Source</a></sub></p>
350-
351-
## <a name="nextjournal.markdown.utils/re-groups*">`re-groups*`</a>
352-
``` clojure
353-
354-
(re-groups* m)
355-
```
356-
Function.
357-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L8-L8">Source</a></sub></p>
358-
359-
## <a name="nextjournal.markdown.utils/re-idx-seq">`re-idx-seq`</a>
360-
``` clojure
361-
362-
(re-idx-seq re text)
363-
```
364-
Function.
365-
366-
Takes a regex and a string, returns a seq of triplets comprised of match groups followed by indices delimiting each match.
367-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L9-L15">Source</a></sub></p>
368-
369-
## <a name="nextjournal.markdown.utils/set-title-when-missing">`set-title-when-missing`</a>
370-
``` clojure
371-
372-
(set-title-when-missing {:as doc, :keys [title]} heading)
373-
```
374-
Function.
375-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L154-L155">Source</a></sub></p>
376-
377-
## <a name="nextjournal.markdown.utils/split-by-emoji">`split-by-emoji`</a>
378-
``` clojure
379-
380-
(split-by-emoji s)
381-
```
382-
Function.
383-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L22-L26">Source</a></sub></p>
384-
385-
## <a name="nextjournal.markdown.utils/text->id+emoji">`text->id+emoji`</a>
386-
``` clojure
387-
388-
(text->id+emoji text)
389-
```
390-
Function.
391-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L42-L46">Source</a></sub></p>
196+
Normalizes a map of regex and handler into a Tokenizer
197+
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L9-L11">Source</a></sub></p>
392198
393199
## <a name="nextjournal.markdown.utils/text-node">`text-node`</a>
394-
``` clojure
395-
396-
(text-node s)
397-
```
398-
Function.
399-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L69-L69">Source</a></sub></p>
400-
401-
## <a name="nextjournal.markdown.utils/tokenize-text-node">`tokenize-text-node`</a>
402-
``` clojure
403-
404-
(tokenize-text-node {:as tkz, :keys [tokenizer-fn pred doc-handler]} ctx {:as node, :keys [text]})
405-
```
406-
Function.
407-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L232-L257">Source</a></sub></p>
408-
409-
## <a name="nextjournal.markdown.utils/update-current-loc">`update-current-loc`</a>
410-
``` clojure
411-
412-
(update-current-loc {:as ctx, :nextjournal.markdown.impl/keys [root]} f & args)
413-
```
414-
Function.
415-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L65-L67">Source</a></sub></p>
416-
417-
## <a name="nextjournal.markdown.utils/zdepth">`zdepth`</a>
418-
``` clojure
419-
420-
(zdepth loc)
421-
```
422-
Function.
423-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L86-L86">Source</a></sub></p>
424200
425-
## <a name="nextjournal.markdown.utils/zip?">`zip?`</a>
426201
427202
203+
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L19-L19">Source</a></sub></p>
428204
429-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L85-L85">Source</a></sub></p>
430-
431-
## <a name="nextjournal.markdown.utils/zopen-node">`zopen-node`</a>
432-
``` clojure
433-
434-
(zopen-node loc node)
435-
```
436-
Function.
437-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L94-L95">Source</a></sub></p>
205+
## <a name="nextjournal.markdown.utils/tokenize-text-node">`tokenize-text-node`</a>
438206
439-
## <a name="nextjournal.markdown.utils/zpath">`zpath`</a>
440-
``` clojure
441207
442-
(zpath loc)
443-
```
444-
Function.
445208
446-
Given a document zipper location `loc` returns a vector corresponding to the path of node at `loc`
447-
suitable for get-in from root. That is `(= (z/node loc) (get-in (z/root loc) (zpath loc)`
448-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L97-L105">Source</a></sub></p>
209+
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils.cljc#L25-L25">Source</a></sub></p>
449210
450211
-----
451212
# <a name="nextjournal.markdown.utils.emoji">nextjournal.markdown.utils.emoji</a>
@@ -462,16 +223,4 @@ https://github.com/mathiasbynens/emoji-test-regex-pattern
462223
463224
464225
465-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils/emoji.cljc#L13-L14">Source</a></sub></p>
466-
467-
## <a name="nextjournal.markdown.utils.emoji/regex-java">`regex-java`</a>
468-
469-
470-
471-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils/emoji.cljc#L7-L8">Source</a></sub></p>
472-
473-
## <a name="nextjournal.markdown.utils.emoji/regex-js">`regex-js`</a>
474-
475-
476-
477-
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils/emoji.cljc#L11-L11">Source</a></sub></p>
226+
<p><sub><a href="https://github.com/nextjournal/markdown/blob/main/src/nextjournal/markdown/utils/emoji.cljc#L15-L16">Source</a></sub></p>

notebooks/pandoc.clj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
[nextjournal.clerk :as clerk]
1010
[nextjournal.clerk.viewer :as v]
1111
[nextjournal.markdown :as md]
12-
[nextjournal.markdown.utils :as u]
13-
[nextjournal.markdown.transform :as md.transform]))
12+
[nextjournal.markdown.transform :as md.transform]
13+
[nextjournal.markdown.utils :as u]))
1414

1515
;; From the [docs](https://pandoc.org/MANUAL.html#description):
1616
;;

src/nextjournal/markdown/impl.clj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
(:require [clojure.zip :as z]
44
[nextjournal.markdown.impl.extensions :as extensions]
55
[nextjournal.markdown.impl.types :as t]
6-
[nextjournal.markdown.utils :as u])
6+
[nextjournal.markdown.impl.utils :as u])
77
(:import (org.commonmark.ext.autolink AutolinkExtension)
88
(org.commonmark.ext.footnotes FootnotesExtension FootnoteReference FootnoteDefinition InlineFootnote)
99
(org.commonmark.ext.gfm.strikethrough Strikethrough StrikethroughExtension)

src/nextjournal/markdown/impl.cljs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
(ns nextjournal.markdown.impl
33
(:require ["/js/markdown" :as md]
44
[clojure.zip :as z]
5-
[nextjournal.markdown.utils :as u]))
5+
[nextjournal.markdown.impl.utils :as u]))
66

77
(defn hlevel [^js token]
88
(let [hn (.-tag token)]

0 commit comments

Comments
 (0)