Features
- Adds new options to the
[TextInput /]
component, allowing authors to define regex patterns which the user input must match. #737.
Features:
- Adds a new
[Preview /]
component to display link previews. #731 - Improves the
[Annotation /]
API so that annotations can include arbitrary embeded components, not just text. #730
Bugfixes:
- Prevent
idyll-document
from unecessarily injecting theme and layout stylesheets onto the page multiple times
- Node v15 support
Features
- Added a new
[Annotation /]
component #718
Features:
- Added support for multiple configurations in package.json #701
Bugfixes:
- Fix bug where an undefined expression could crash the runtime #704
- Make CSV parsing more flexible #703
- Add min heights to components that fetch resources over the network
- Small improvements to theme CSS
Bugfix: fix publish command on windows #695
Add experimental project create API.
Features:
- Adds
insertFullWidth
option to markup serializer (#686) - Adds
inlineAuthorView
option toidyll-document
(#681)
Bugfixes:
Bugfixes:
- Improves output of
AST.toMarkup(ast)
function so that extra whitespace is not inserted on repeated calls.
Features:
- Adds
fullWidthSteps
option to the scroller, to make it easier for scroller components steps to take on wider designs
Bugfixes:
- Component resolver is initialized at the start of compile process and when a compiler postprocessor plugin creates a new component in components directory, it won't be available till the next build and the current build fails with component not found error. (See: #610)
Breaking changes:
- Update header component default behavior to use styles (background color and text color) provided by themes
- Fix the
package.json
options logic so any idyll option can be provided via package.json and
- Add
progress
parameter to the scroller component to make continuos scroll-based animations. (#601) - Support for JSX file extension of components (#603)
- new template for slideshows (#608)
- new
byline
options for header component (#599)
Bugfixes:
- Fix compiler bug with exclamation points (#604)
- Fix integration with Vega-Lite
New features:
- Replace uglify with terser (#591)
Bugfixes:
- Fix security issue with
csv-parse
(#594)
New features:
- Adds support for citations and references (#575)
Bugfixes:
- Fix case sensativity in AST modifyNodesByName method (#574)
- Fix equation rendering issues (#579)
- Fix comment spacing issue (#578)
- Adds a Desmos component. (#547)
- Fix bug with incorrect components being inserted when using
Asides
& server-side rendering.
- Improves
article-header
style for the blog layout. (#544) - Add
idyll clean
command. This command removes elements from the.idyll
folder, which is used as a build cache and to store tokens for idyll.pub. (#540) - Add
--no-install
option toidyll create
so you can generate new posts without runningnpm install
(good for use in blogs that share dependencies). (#539) - Make header components autogenerate
id
tags. (#538) - Add a
multipage
template for making blogs and such things. (#549)
- Adds a Tweet component (#515)
- Fix bug with properties named
text
(#518) - Fix positioning of
Aside
component on centered layout (#520) - Adds a new "Tutorials" page to the docs (#521)
- fixes a syntax highlighting bug for custom code blocks (#523)
- add support for numbers with leading decimal places (#514)
- Adds
build
option toidyll publish
- Adds
template
option toidyll create
- Fixes a bug in compiler where spaces were being incorrectly inserted after numbers in text (
12three
would be rendered as12 three
) - fix re-rendering issues with
idyll-document
- Fixes bug in multiline codeblocks where leading spaces would be removed
- Adds the
injectThemeCSS
andinjectLayoutCSS
options toidyll-document
- Fixes a bug where syntax highlighting with an unknown language would cause a hard crash.
- New, improved default template
- New, more friendly AST schema. It should be easier for developers to make custom compiler extensions and plugins.
- Fixes small bugs in the compiler and runtime.
There are very few breaking changes between version 3 and version 4. The reason for the major version bump is that we completely revamped how the AST is represented internally. This change is only breaking for projects using Idyll plugins, any projects not using plugins should not require any changes to upgrade from v3 to v4. Projects using plugins should update to the latest version of those plugins for them to work with the new AST.
To grab the latest version of the Idyll CLI tool, run npm i -g idyll@latest
. Note that idyll stores a local snapshot in each project, so if you want a post created with idyll v3 to use the latest version, you'll have to update the local copy of idyll as well, by running npm i idyll@latest --save
in the project directory. There shouldn't be any code changes required other than the plugin issue mentioned above.
If you see unexpected errors such as tree.reduce is not a function
in the browser log, this is due to the v3 AST being cached locally. To fix this run rm .idyll/browserify*
in your project to clear the cache.
- Adds an in-browser notification when the idyll compiler errors on the command line. This should help prevent some frustration during development.
- Fixes bugs relating to references in Idyll expressions
- Add additional methods to exported
idyll
object, includinggetComponents
andgetDatasets
to facilitate programatic interaction with Idyll projects.
- Add
onMount
event to the context used byidyll-document
- Use prettier for code formatting
- Add
update-notifier
to CLI tool - Fix bug in handling conflicts between options specified on the command line and in
package.json
- Fix bug in runtime context initialization
- Add missing component metadata
- Fix bug in idyll text-container styles.
- Add
YouTube
component.
- Bugfix for crash when a non-existent styles or theme/layout is attempted to be used.
- Improvements to the radio button component
- Adds option to specify idyll output filenames. Changes default output to not have leading underscores, so they work better on GitHub.
- Adds
alias
option
- Adds "autolinkification" logic to compilers (things which look like links will automatically be treated as such).
- Adds new
Conditional
component to standard lib
- Add options for
googleFonts
andfavicon
.
- Small updates to the default project templates
- Updates idyll runtime to use Object proxies rather than directly calling
setState
, this fixes a handleful of bugs related to asynchronous updates in Idyll expressions.
- The input file option shortcut
-f
has been changed to-i
. - Deprecated components have been removed, including:
FullScreen
,Waypoint
,Feature
,Panel
- these are superseded by
FullWidth
,Scroller
, andStepper
components.
- The path of the static assets that Idyll generates has changed. This will only affect people using a custom HTML template, find the new default template here.
- Project generator is now built into the
idyll
command line tool, no moreyo idyll
. Instead runidyll create
to create a new idyll project. - No more
npm
scripts (npm start
,npm build
, etc) instead do the following:- For dev, run
idyll
in the root of your project - To build out static files, run
idyll build
- To publish to the web, run
idyll publish
, this will give you a unique URL that can be used to share your project.
- For dev, run
To see the old v2 docs, visit [https://v2.idyll-lang.org].