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-documentfrom 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
insertFullWidthoption to markup serializer (#686) - Adds
inlineAuthorViewoption toidyll-document(#681)
Bugfixes:
Bugfixes:
- Improves output of
AST.toMarkup(ast)function so that extra whitespace is not inserted on repeated calls.
Features:
- Adds
fullWidthStepsoption 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.jsonoptions logic so any idyll option can be provided via package.json and
- Add
progressparameter 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
bylineoptions 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-headerstyle for the blog layout. (#544) - Add
idyll cleancommand. This command removes elements from the.idyllfolder, which is used as a build cache and to store tokens for idyll.pub. (#540) - Add
--no-installoption toidyll createso you can generate new posts without runningnpm install(good for use in blogs that share dependencies). (#539) - Make header components autogenerate
idtags. (#538) - Add a
multipagetemplate for making blogs and such things. (#549)
- Adds a Tweet component (#515)
- Fix bug with properties named
text(#518) - Fix positioning of
Asidecomponent 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
buildoption toidyll publish - Adds
templateoption toidyll create - Fixes a bug in compiler where spaces were being incorrectly inserted after numbers in text (
12threewould be rendered as12 three) - fix re-rendering issues with
idyll-document
- Fixes bug in multiline codeblocks where leading spaces would be removed
- Adds the
injectThemeCSSandinjectLayoutCSSoptions 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
idyllobject, includinggetComponentsandgetDatasetsto facilitate programatic interaction with Idyll projects.
- Add
onMountevent to the context used byidyll-document
- Use prettier for code formatting
- Add
update-notifierto 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
YouTubecomponent.
- 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
aliasoption
- Adds "autolinkification" logic to compilers (things which look like links will automatically be treated as such).
- Adds new
Conditionalcomponent to standard lib
- Add options for
googleFontsandfavicon.
- 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
-fhas been changed to-i. - Deprecated components have been removed, including:
FullScreen,Waypoint,Feature,Panel- these are superseded by
FullWidth,Scroller, andSteppercomponents.
- 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
idyllcommand line tool, no moreyo idyll. Instead runidyll createto create a new idyll project. - No more
npmscripts (npm start,npm build, etc) instead do the following:- For dev, run
idyllin 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].