All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
- tests defined with
deftest
will run and show results
- bugfix: refreshing page appropriately to keep the main URL - by @whatacold
- fix #176 live reload problem when there's no deps.edn (PR #177) by @whatacold
- updated deps (kindly-advice)
- updated deps: kindly-advice
- added for expansion (
emmy.viewer/expand
) for:kind/emmy-viewers
- updated deps: kindly, kindly-advice
- added partial support for
:kind/emmy-viewers
- a minor cleanup of the data structure being read from code
- bugfix: made the special kinds
:kind/fn
and:kind/fragment
nest inside others
:live-reload
support - experimental - thanks, @whatacold- emmy-viewers support - experimental - thanks, @reedho
- removed unused require (PR #162) - thanks, @schneiderlin, @mchughs
- updated
nextjournal/mardkown
version, which brings Java 22 support - add original line-number to generated test vars names (#163) - thanks, @behrica
- cleaning "\r\n" to avoid a tools.reader bug - thanks, @schneiderlin
- added support for image urls in
:kind/image
- thanks, @lightmatters - added support for video urls in
:kind/video
- thanks, @holyjak - added support for
:kindly/options
in:kind/fn
- thanks, @holyjak
- Class or style from kindly/options (#139)
- updated Kindly and Kindly-advice versions
- rely on
*ns*
:kindly/options
and kindly-advice for options (PR #148) - bugfix in handling
:kindly/options
at item preparation - check for horizontal in clay and kindly options (PR #149)
- bugfix in handling options in notebook generation
- bugfix: handling the edge case of string hiccup carefully
- bugfix: handling
:kind/hidden
correctly in notebook generation - applying
:kindly/options
in all hiccup-based pathways - bugfix: using the appropriate Quarto target format in Markdown generation (fixes #137, #147)
- removed the
:fontsize
setting in the default config (as it interferred with revealjs slides) (fixes #155) - added support for hiding the info line; server refactoring (fixes #156)
- added support for hiding the ui header; server refactoring (fixes #154)
- added support for HTML post-processing (
:post-process
option) - bugfix: fixed the
:inline-js-and-css
support at the experimentalmake-hiccup
funciton (fixes #144)
- introducing code-and-value and horizontal layout - WIP (PR #127)
- code cleanup (PR #131)
- fix backquote readinging in wrong namespace affecting macros (#132)
- fix switching to the namespace (#92)
- proper handling of static resources (PR #126)
- fixed server should respond with 404 when file is not found
- serve /favicon.ico and /Clay.svg.png locally from resources
- removed the avoid-favicon code, it is not needed, browsers will now find favicon.ico in development.
- introduced :favicon configuration for adding a favicon in both quarto and html
- added initial configuration table to index
- bugfix: less agressive leading space cleaning (#123) - thanks, @genmeblog
- regression fix: make
*stop-server!
a fn for stopping the server - thanks, @olavfosse - teach
start!
to take a port number (#107) - thanks, @olavfosse - pass all relevant options to Quarto book setup (#114)
- bugfix: correctly include inline JS - thanks, Jarkko Saltiola
- refactoring of config propagation
- Quarto book parts support
- support for handling any sequential of texts (not just vector) in
kind/code
,kind/md
,kind/html
(#103) - mode careful escaping of characters (#104)
- using kindly-advice earlier in the pipeline, e.g. to recognize kinds where code should be hidden (#105)
- bugfix: the
kind/image
annotation failed to render (#105) - updated Kindly version
kind/tex
support- updated version for KaTeX js dependency
- supporting TeX inside Markdown in all cases (not just some Quarto cases as before)
- support for inline js and css in page generation (WIP)
- added classes to elements that have styling applied to facilitate custom styles (#102)
- added partial support for dataset print options as kindly options
- made a minor change in
make!
return values for clarity - added support for returning a page as plain Hiccup (experimental)
- extended the
kind/fn
semantics to a map spec
- allowing
.Rmd
files in Quarto books - test-generation support - experimental
- added
kind/fn
support - evaluating given function and arguments and displaying the result
- Calva custom REPL commands - making sure
:base-source-path
isnil
in allmake!
calls (#96) - bugfix: using a temporary target HTML in single form evaluations (#93)
- avoiding target directory cleanup on single form evaluations (#97)
- removing redundant merge operation in
make!
implementation (should not change any behaviour)
- removed escaping in printed values (probably not needed anymore in current pathways and did create problems with
<
>
symbols)
- updated the
[:html]
target to use thebootstrap.min.css
currently generated by[:quarto :html]
- changed the default styling of plots (WIP)
- changed the default Quarto config - smaller font size
- fixed a Clojar deployment problem (broken Github link)
- updated deps (no longer using a temporary adaptation of Portal)
kind/highcharts
support - PR by @adham-omran
- bugfix: copying the
:htmlwidgets-plotly
deps correctly (avoiding copying the.git
subdirectory which breaks the doc served on github pages)
- extended
kind/plotly
API - PR by @roterski - using
:html/deps
to specify dependencies in:kindly/options
(depracating the confusing:reagent/deps
, still supported though) - support for adding deps on
kind/hiccup
, not onlykind/reagent
- support for JS & CSS deps from github repos
- page generation - minor refactoring
- updated Kindly version:
"4-alpha18"
kind/htmlwidgets-ggplotly
support - WIP
- bugfix in
kind/table
preparation: dissocing irrelevant details correctly - simpler handling of plain values inside
kind/table
- solving some of the crashes of big tables and making the resulting HTML more lightweight
- more input kinds supported by
kind/table
(PR by @genmeblog)- added
seq-of-seqs
,seq-of-maps
andmap-of-seqs
with better infering column names forseq-of-maps
- added
- changed default Quarto theme to
cosmo
- support for dedicated CSS classes of certain items (e.g., "clay-image")
- images are styled through classes, keeping original size by default
- support for
kind/table
with no head - support for nested kinds in
kind/table
column names - bugfix: passing fallback preparer inside fragments (#85)
- bugfix: handling markdown generation consistently when a js script is included
- bugfix: using Quarto's data-qmd approach only inside tables (#80)
- file management - cleaning up memory to avoid memory leakage (#84)
- support for
.ipynb
Jupyter notebooks in books (#77)
- bugfix: typo in handling :kindly/options of nested elements
- bugfix: assigning the full target path to a book's index page
- bugfix: avoiding global quarto title in book chapters
- bugfix: making sure all book pages are wrapped with header and live-reload script
- returning to main page on reload
- avoiding the iframe when serving the page (simplifies URL handling, etc.)
- slight changes in styling
- handling space lines between comments carefully
- passing content-type information on the web server
kind/observable
(Observable) support (when rendering through Quarto)
- handling element max height in markdown
- refactoring item preparation, making sure datatables.js works in Quarto in the new setup
- bugfix: making sure a book index page is available if not provided
- added
.table-hover
&.table-responsive
classes forkind/table
- using Quarto raw-html and data-qmd support (thus supporting formulae in tables) - fixing #54
- showing keywords correctly in column names - fixing #52
- some code simplification
kind/fragment
support- avoiding
:element/max-size
by default - supporting kinds that hide code globally
- removed the obsolete
scicloj.clay.v2.book
ns and the corresponding API function
- using a temporary Portal build to enjoy some fixes
- not relying on Portal for syntax highlighting anymore
- added a dedicated namespace of Quarto themes
- added a dedicated namespace of Quarto code highlight styles
- added leaflet-providers support
- added d3 js dependency
- removed highlighting theme from default config - using the Quarto default now
- added missing css (forgot to commit in
"2-alpha70"
)
- bugfix - adding a Portal item to ensure Portal syntax highlight on
[:html]
targets
- more styling of
[:html]
target - combining Bootswatch Spacelab with thebootstrap.min.css
generated by Quarto
- updated highlight.js (version 11.9.0) - but we'll use it through the standalone Portal bundle for now
- code style change for
[:html]
target - using Portal's syntax highlighting - using Bootswatch Spacelab theme for
[:html]
target - adapted for lighter bg-light
kind/video
support
- reagent deps are now expressed through kindly options
- using deep merge when merging configurations
- removed unnecessary printing
- nested kinds in
kind/map
:- bugfix: some kv pairs were skipped
- styling change
- expressing classes in Quarto more idiomatically (using
::: ... :::
rather than explicitdiv
s) - the target directory can now be cleaned up by explicitly specifying
:clean-up-target-dir true
, but not by default on books as it used to be.
- bugfix: passing
:kindly/options
to the item context - cleaned up the default table.css, for now
- limiting the height of output elements by default
- the subdirectories to synchronize with targets are now configurable through
:subdirs-to-sync
- updated vega-lite versions (#34)
- support for
:kind/smile-model
- hiding the ouptout of calls to
require
- updated some deps
- improved book making: taking care of rendering and repositioning the rendered files
- fixed the handling of
:kindly/options
in context - changed the default behaviour of
kind/table
(WIP)
- adapting to Kindly changes: kindly options are passed as metadata
- bugfix: marking table class when nesting markdown inside other structures
- minor refactoring for clarity
- cancelled opinionated table styling
- bugfix: using real paths when figuring out the path relative to repo
- minor changes to Calva custom REPL commands: names, printing, etc.
- updating to Kindly version
4-alpha9
supports, among other things, anoption
argument to kinds, and an API extension for hiding code - breaking changes in the way options are passed to
kind/cytoscape
,kind/echarts
,kind/plotly
-- now we use[spec options]
rather than[options spec]
- datatables options support for
kind/table
- Calva custom REPL commands
- kindly version update
- bugfix: passing full context in recursive item preparation
- When vega/vega-lite data is given in CSV format, Clay will serve it in a separate CSV file alongside the generated HTML.
- fixed broken welcome message on
start!
- fixed the preparation of :kind/map - just print where possible
- made
:format [:html]
the default - support for
make!
with a single value, not just a single form
- making sure the base-target-directory exists before synching resources
- missing babashka.fs dependency
- allowing to
make!
a single form without specifying a source file - synching resources more carefully -- not copying clj/cljs/cljc
- bugfix in syncing resources: using the correct spec
- updated deps
- saving BufferedImage object as png rather than jpg (because a BufferedImage resulting from png might not be savable as jpg https://stackoverflow.com/a/2290430)
- catching failures in saving images
- missing depdendency
- only start the server if show is not false
- remove warning about replacing get
- report target path on make
- remove deref printing
- support for multiple sources in
make!
- refactoring of parameter flow
- displaying errors on the browser view
- support for markdown files in books through
make!
- using
qmd
rather thanmd
for Quarto files (to support R code blocks, etc.)
- a revised API, with one main entry point,
make!
- changed the way the server works: always serving a file
- simplified the pathway for writing HTML
- using an iframe for the browser view
- changed the target paths to always end with "index.md" or "index.html"
- embedding images as separate files
- major cleanup and refactoring
- temporarily not supporting reagent-based items
- updated kindly version
- updated portal support
- portal is now supported as a kind
- updated portal dep (no longer relying on an ad-hoc patched version)
- raw html support
- unifying the quarto pathways in the API: one markdown generation funciton, two different actions (with/without rendering)
- new config-oriented actions (WIP)
- using file-based config rathern than stateful options
- added header to browser view
- path changes in light quarto book generation
- lightweight tables support
- nesting kinds in hiccup (WIP)
- updated datatables version
- bugfix in the custom walk function (called
outer
by mistake) - bugfix in nested table view - avoiding conversion to string before handling kinds
- passing printed datasets as markdown on qmd pages
- minor change in dataset viewer to improve layout
- fixed typo in light quarto setup
- light qmd generation - code and output cleanup
- info-line is only at the bottom now
- minor change in dataset viewer
- changes in target paths
- lightweight qmd generateion (WIP)
- updated deps
- bugfix: missing deps in qmd generation
- using Portal as a js library without scittle
- draft support for embedded portal
- simplifying the use of kindly advice
- adapting to kindly ver 4-alpha3
- changing default quarto options for performance
- adapting to kindly v4
- removing obsolete
checks
ns
- silently handling path-related Exceptions (which currently happen in Windows)
- bugfix: using full path in the search for git project root
- avoiding the use of local path as title (#21)
- refactoring the handling of kinds:
- adapting to kindly-default version 1-alpha10, where plain data structures have explicit kinds
- handling hierarchy in a more clean and systematic way
- bug fix: avoiding looking for KaTeX fonts locally (which would take more care to work correctly)
- minor aesthetic changes
- leaflet support
- more flexible caching (WIP)
- minor changes to info-line
- rendering more parts as plain-html
- moved the
is->
function to the kindly-default library
- simpler and more robust path handling in info-line
- catching a possible Exception in the method to recognize the current file
- added souce info-line to the generated doc'
- clojute.test support
- 3dmol support
- passing :kind/code more directly to quarto for better rendering
- bugfix: bringing back the handling of :kind/hiccup, which was dropped by mistake
- minor API extension: handling a value
- allowing to hide code by value metadata
- handling :kind/void
- passing :kind/md more directly to quarto for better rendering
- avoiding recursion in API calls
- Katex support
- handling hidden code blocks differently in the quarto pathway, to avoid quarto slowness
- added Emmy, tmdjs support
- ignoring missing source maps till we figure this problem out
- plotly support, customizable echarts element height
- serving binary files correctly
- simplified the way forms are sent to Clay (avoiding
tap>
) - escaping printed values for html
- experimental quarto support
- using the Scicloj Scittle fork for MathBox.cljs support
- a more graceful user experience around main actions
- updated API entry points for a few of the main actions
- table view support for datasets
- supporting :kind/vega-lite
- using markdown again when printing datasets (following fix nextjournal/markdown#12)
- more consistent choice of ports
- extended the API with a few url-related functions
- updated some client-side deps
- making sure the selected communication port is free
- adapting to Kindly changes - returning multiple contexts
- bugfix: using fallback viewer
- updated Kindly deps
- temporarily avoiding some problems with dataset rendering
- adapting to the extraction of kindly-default out of kindly
- kindly version update
- more careful kind handling in view
- namespace cleanup & refactoring
- added show-doc-and-write-html! to api
- bugfix in some reader edge cases
- make pprint the fallback case again
- kindly update
- adapting to Kindly changes
- minor visual changes
- dropped the cybermonday dependency
- rendeding documents without relying on Clerk
- switched to clay.v2 namespaces
- switched to kindly v3
- catching errors
- pretty printing where appropriate
- a slight change of the integration with CIDER/Calva (passing more info)
- making certain forms automatically hidden when showing a single value
- using
tap>
rather than nREPL middleware to listen to user evaluations - fixed the support for code metadata in some cases
- patched clerk to pass code metadata freely
- support for code metadata in scittle doc preparation
- support for extensions setup on start; added dataset, clojisr setup as extensions
- scittle tool: reordered js lib rendering, added visual spacing
- scittle tool:
- refactoring of page generation
- optional loading of special widgets
- more self-contained generated html (relying on less web resources)
- made table-of-contents optional
- various aesthetics changes: bootswatch, tables, tech.ml.dadaset datasets, markdown, table-of-contents, etc.
- making sure kind/hidden is defined
- updated clerk version
- handling naive printing of values better
- updated scittle version
- more customizable document rendering
- more sensible table rendering
- fixed handling delays on scittle document rendering
- various changes in styling & minor API extensions
- Scittle document rendering
minor API extension
initial version of scittle viewer
initial version