Links
Table of Contents
Rimu Change Log
This is the Rimu TypeScript implementation change log (see also other Rimu implementations).
Version 11.4.0 (2022-07-20)
- Added GFM (GitHub Flavored Markdown) multiline blockquote delimited block syntax.
Version 11.3.0 (2022-06-07)
- Added
^[caption](url)
link syntax which opens the link in a new browser tab. - Moved documentation source from
./docs
to separate/.docsrc
directory. - Upgrade to Drake 1.5.2.
- Upgrade to Deno 1.22.0.
- Pinned Deno libs to std@v0.140.0.
Version 11.2.0 (2022-02-27)
- Added
important
,note
,tip
andwarning
admonition classes to rimuc styled outputs. - Upgraded dependent dev packages.
Version 11.1.14 (2021-04-23)
- Upgrade to Drake 1.4.7.
- Upgrade to Deno 1.9.0.
- Pinned Deno libs to std@v0.93.0.
Version 11.1.13 (2021-01-25)
- Use Rollup to bundle Rimu browser ES module library.
- Ported
validate-rimu-ports.sh
tests to Deno (validate-rimu-ports.ts
) and addedvalidate-ports
build task. - Upgrade to Drake 1.4.6.
- Upgrade to Deno 1.7.0.
- Pinned Deno libs to std@v0.84.0.
Version 11.1.12 (2020-09-17)
- Upgrade to Drake 1.4.0.
- Pinned Deno libs to std@v0.69.0.
Version 11.1.11 (2020-05-26)
FIX: Added missing .js
extensions in ES module paths in the npm
distribution.
Version 11.1.10 (2020-05-26)
This release makes no additions or changes to Rimu markup, consequently it has been assigned a patch number increment. Nevertheless the patch version number belies the magnitude of changes accompanying this release.
The toolchain has been simplified. Webpack is no longer used and the number of Node.js dev dependencies has more than halved.
ES modules are supported natively in the browser. The distributed
rimu.esm.js ES
module file was bundled by Deno and minimized with
terser. See the build-web
task in the
Rimu Drakefile).
Deno is used extensively to run tests, build the distribution and bundle the browser ES library module.
Version 11.1.9 (2020-05-16)
Updates for Deno 1.0.0 and Drake 1.0.0 build tool.
Version 11.1.8 (2020-04-02)
This release includes Rimu for the Deno runtime and updates the build scripts, build tools and tests but makes no changes to Rimu markup.
- Merged the Deno port so there is now just one TypeScript code base.
- Replaced the Jake.js build tool with Drake.
Rewrote the build script to be platform independent in TypeScript (
Drakefile.ts
). - All tests have been rewritten in TypeScript and are now platform independent (the code base is now 100% TypeScript).
Version 11.1.7 (2020-03-17)
- FIXED:
rimuc
on Windows: piping a zero length input torimuc
raised an EOF error. - Ported tests from JS to Deno TypeScript for use in
Drakefile.ts
. - Drakefile is now Windows compatible.
Version 11.1.6 (2020-03-14)
- FIXED:
rimuc
command now reads stdin on Windows. - Ported
Jakefile.js
toDrakefile.ts
for use with the Drake build tool.
Version 11.1.5 (2020-02-02)
- Implementand document
<span class="dl-counter"></span>
,<span class="ol-counter"></span>
,<span class="ul-counter"></span>
layout macros. - Ports validation script updated to support Dart, Python and Deno ports.
- Removed from
rimuc
the previously deprecated Imported Layouts feature. - Minor code refactoring and documentation updates.
Version 11.1.4 (2019-11-18)
- Restored deprecated rimuc
--styled
option (a shortcut for--layout sequel --no-toc
).
Version 11.1.3 (2019-08-05)
- FIXED: Removed parameterized macro expansion limitation viz. a simple
macro invocation passed in a macro parameter was previously only be expanded
once (attempts to expand it more than once resulted in the
repeated macro parameters
error). - FIXED: Simple macro invocations passed in macro parameters were expanded in parameter order instead of parameter name order.
A consequence of the above changes is that escaped macro invocations will be unescaped when the definition is processed, so they now need to double-escaped if you want them to still be escaped when the macro definition is invoked.
Version 11.1.1 (2018-12-17)
- Changed GitHub documentation publication method from gh-pages branch to master branch /docs folder.
- Vim syntax highlighter tweaks.
No new features have been added to the Rimu markup language.
Version 11.1.0 (2018-09-01)
- Add builtin
plain
rimuc layout to all Rimu ports. Previously theplain
layout was only available from the JavaScript port using the now deprecated Imported Layouts feature. - Added
--version
option to Rimu CLI command to print Rimu version number. - Fixed the documentation HTML/Preview icon and an error in the Tables examples.
- Minor refactoring to
rimuc
layouts.
No new features have been added to the Rimu markup language.
Version 11.0.0 (2018-02-17)
This release sees tight convergence and the simultaneous release of all three Rimu implementations:
- The canonical JavaScript version (written in TypeScript).
- The Kotlin port.
- The Go language port.
There are no new features in this release but two recent features have been deprecated:
- Imported Layouts (added in version 10.2.0, Oct-2017).
- Macro definition Expression Values (added in version 10.1.0, Oct-2017).
Both these features were non-portable and specific to the Rimu JavaScript implementation, this why they have been deprecated. They still work but should not be used and may be disabled in a future release.
This release resolved a number of bug fixes that were unearthed by Go Fuzz testing — they have been fixed and back-ported to all implementations. Consequently this release is much more robust with respect to malformed inputs.
This is a recommended upgrade.
rimu-kt specific
- The Rimu CLI command has been renamed to
rimukt
(was previouslyrimuc
which clashed with the Rimu JS port).
Version 10.4.2 (2017-11-27)
Documentation files updates (inadvertently omitted from 10.4.1 release).
Version 10.4.1 (2017-11-27)
Fixed a couple of list syntax anomalies and handle all uncaught runtime assertions. The list item processing code has been rewritten.
- FIXED: Two blank lines following an attached list item element did not terminate the list when followed by a list item.
- FIXED: Previously uncaught program assertions are now handled and reported to the console and via the API callback.
Version 10.4.0 (2017-11-19)
- Block Attribute elements within a list are applied to the next list item or attached list item element. This facilitates styling and linking within lists.
Version 10.3.1 (2017-11-13)
- HTML/Preview toggle command added to Rimu documentation live-edit examples.
- Rimu documentation live-edit examples now display Rimu diagnostic messages.
- Rimu Playground displays all diagnostic messages, not just the most recent one.
- Line Macro errors no longer generate duplicate
undefined macro
errors.
Version 10.3.0 (2017-11-01)
- Added rimuc command
--pass
option which passes the stdin input verbatim to the output. - A rimuc input file named
-
is read from the standard input. - The rimuc command built-in layouts have been refactored to use the
box-sizing
border-box
CSS property throughout along with a number of other CSS tweaks. - Added rimuc
--no-toc
examples to the Rimu Gallery. - Added rimuc
plain
layout example to the Rimu Gallery.
Version 10.2.0 (2017-10-23)
- The
rimuc
command now supports externally sourced imported layouts — take a look at the example Rimu plain Layout. - Added table of contents slide in/out transition to
sequel
layout. - Improvements to
flex
layout.
Version 10.1.0 (2017-10-10)
This release adds Expression values to Macro definitions.
- Implemented macro definition Expression values.
- Added Expression value macros to example
.rimurc
file. - Allow Simple macro invocations in macro invocation parameters and patterns.
- Updated the Vim syntax file to highlight macro Expression values.
- Added optional rimuc layouts
--head
macro which can be used to insert additional<head>
child elements into layout headers. - Added
{--toc-width}
layout parameter to the rimuc commandsequel
layout which sets the width of the table of contents column. - Added rimuc command
--prepend-file
option which allows rimu source files to preceed the built-in layout header file. - The rimuc command processing order has been rationalized. The
order of processing is:
.rimurc
,--prepend-file
options,--prepend
options and finally input source files. Previously the--prepend
options were processed before the.rimurc
file so they could not override macros defined in.rimurc
Version 10.0.0 (2017-09-30)
This release includes additional documentation, big changes to the rimuc command (including a new layout and a new theme) and new diagnostic messages from the Rimu library.
- The Rimu documentation is now rendered using the new sequel layout and the new legend theme.
rimuc
command styled names are now called layouts.- The new
rimuc
command--layout
option specifies which layout to use (replacing the deprecated--styled-name
option). - Added a new
rimuc
layout called sequel. This responsive layout is designed to work across desktop, tablet and mobile devices. Along with the other layouts, sequel generates light-weight stand-alone HTML documents. - The
rimuc
command now has three built-in layouts and three built-in themes, you can view layout and theme examples in the new Rimu Gallery. Layouts and themes are implemented purely with Rimu markup, you can view the sources on GitHub. rimuc
layouts have been refactored:- Layout macros now use reserved names.
- Layout header files expose a consistent set of layout and theme macros that can be user customized.
- They now import the latest versions of MathJax and HighlightJS.
- They include a number of CSS tweaks.
- Use the new
rimuc
command--no-toc
macro to disable table of contents generation. - Rimu emits an error callback if Exclusion or Inclusion macro invocations contain an illegal regular expression.
- Rimu emits an error callback if an attempt is made to redefine the
predefined Blank macro (
--
). - Rimu emits an error callback if an attempt is made to us a duplicate
id
attribute using the Block Attributes element. - CSS properties defined in Block
Attributes are injected into an
existing target HTML
style
attribute. - FIXED: CSS properties from multiple Block Attributes elements are now accumulated prior to being consumed by the target block element (previously only the last CSS properties was used).
The deprecations and breaking changes below relate to the rimuc
command:
- DEPRECATED: The
--lint
option has been deprecated, lint checks are enabled by default. - DEPRECATED: The confusingly named
line-breaks
CSS class has been renamed topreserve-breaks
. - DEPRECATED: The
--styled
and--styled-name
options have been deprecated (replaced by the--layout
option). - DEPRECATED: The
--sidebar-toc
option has been deprecated (made redundant by the new--layout
option). - DEPRECATED: The flex layout
--dropdown-toc
macro has been renamed--top-bar
. - BREAKING CHANGE: For consistency both classic and flex
layouts generate a table of contents by default. Use the new
--no-toc
option to disable table of contents generation.
Version 9.3.0 (2017-09-11)
- Implemented predefined
--header-ids
macro. If the--header-ids
macro value is non-blank Rimu generates unique HTMLid
attributes forh1
,h2
andh3
section headers. - Added a
--header-ids
option to therimuc
command, it enables header id generation by setting the--header-ids
macro to a non-blank value. Therimuc
--header-ids
option is enabled by default when the--styled
option is used, this replaces the dynamic header id generation previously used by the--styled
option. - The
rimuc
command has a new--header-links
option for use in conjunction with the--styled
option. I generates header links which are displayed when you hover overh2
andh3
section header titles. Their purpose is to provide an easy way copy and paste document section links. For example, this page's headings use this feature. - FIXED: When Rimu headers contain an optional postfix the postfix must match the prefix exactly (previously valid but mismatched prefixes and suffixes were accepted).
- FIXED: The
rimuc
command--styled
option did not always alternate the table of contents entry background colors.
Version 9.2.0 (2017-08-30)
- The build process has been revamped:
- Moved
rimu
library modules from./bin/
to./lib/
. - Build
rimu
library modules andrimuc
command with separate Webpack configuration files. Kludges previously handled by Jakefile tasks are now handled by Webpack e.g.rimuc
shebang line. - The build tasks now generates debug map files for
rimu
library andrimuc
command.
- Moved
- FIXED:
~/.rimurc
was not loaded by the rimuc command. Version 9.1.3 regression (August 2017). - FIXED: Rinstate missing rimuc
--styled
option headers and footers in npm package. Version 9.0.0 regression (August 2016).
Version 9.1.3 (2017-08-08)
- This release coincides with the first release of the Kotlin port of Rimu for the JVM platform.
- The Rimu test suite has been refactored and is now driven by JSON test descriptor files which are shared between the JavaScript and JVM platform versions of Rimu.
- Includes a couple of fixes for latent bugs discovered while porting to Kotlin.
Version 9.1.2 (2017-04-07)
- Rimu Playground: Show diagnostic messages.
- Rimu Playground: Added section show/hide buttons.
- Documentation polishing and errata.
Version 9.1.1 (2017-01-01)
- Allow multi-line default macro parameter values.
- Added Change Log to documentation sidebar Links.
- URL captions syntax:
- Do not allow
[
character in Markdown style URL captions (use[
entity instead). - Allow
<
character in Rimu style URL captions.
- Do not allow
- FIXED: Rimu Tips documentation examples.
Version 9.1.0 (2016-11-19)
- Block Attributes can now be injected into Block HTML elements.
- Added double-dollar (
$$1, $$2...
) macro parameters which expand quotes and replacements. Double-dollar parameters are normally only necessary inside Block HTML elements. See example in Use macros to create tables. - Default parameter values can be specified in parametrized
macros by appending
:default-value$
to the parameter name e.g.$2:Ford$
will assignFord
to the$2
parameter if it is blank or not specified in the macro invocation. - FIXED:
rimuc
: The.bordered
CSS tables class (available with the--styled
option) no longer propagates to nested tables.
Version 9.0.3 (2016-10-26)
- Quote paragraphs are attached to list items in exactly the same way as Indented paragraphs i.e. by being separated from the list item by a single blank line. Previously the Quote paragraph was attached if it followed the list item immediately (without a blank line) which was both surprising and inconsistent.
- Drop API argument checks. They are redundant if the caller is written in TypeScript; if not then checking is the caller's responsibility.
Version 9.0.2 (2016-10-07)
- Refactored codebase to compile with TypeScript
strictNullChecks
option.
Version 9.0.1 (2016-10-02)
- Added the
--lang
option torimuc
command. This option sets the HTML tag'slang
attribute value and is used in conjunction with the--styled
option. - Migrated codebase to TypeScript 2.
Version 9.0.0 (2016-08-21)
- Added
--styled-name
option torimuc
along with built-in classic, flex and v8 named styles. flex is an experimental mobile-first HTML5 + CSS3 layout based on CSS3 flexboxes. flex is currently tagged experimental because it is not fully functional in some older browsers (specifically Internet Explorer 11 and older). - BREAKING CHANGE: If a Division
Block has no HTML attributes the
<div>
and</div>
tags are not emitted. Use this work-around if you want backward compatibility:// Redefine Division block so it always has at least one // attribute to ensure the div tags are always emitted. |division| = '<div class="dummy">|</div>'
- BREAKING CHANGE: The rimuc
--styled
option no longer uses Bootstrap for styling. If your existing documents rely on Bootstrap specific features you should specify the Rimu version 8 styling using the rimuc--styled-name v8
option. - BREAKING CHANGE: Space characters inside URLs are no longer
tolerated as per RFC 3986.
This change impacts
<url>
,<url|caption>
and[caption](url)
syntaxes. Instead of spaces use the%20
space character encoding. - If a Quote paragraph, HTML block or Multi-line Comment element immediately follows a list item without any intervening blank lines then it will be attached to the list item.
- Rimu documentation examples no longer use the
<style>
elementscoped
attribute as it has been dropped from the HTML5 specification.
Version 8.0.1 (2016-06-26)
- FIXED:
rimuc
: If a.html
input file was encountered then all succeeding input files were ignored. - Documentation updates.
Version 8.0.0 (2016-06-25)
- Renamed
rimuc
--toc
option to--sidebar-toc
. The--toc
option has been retained for backward compatibility. - Added the
--dropdown-toc
option torimuc
command. This option generates a drop-down table of contents menu and is an alternative to the sidebar table of contents option. The Playground page has been compiled using the drop-down menu, the others have a sidebar table of contents. - Section headers with the
no-auto-toc
class are excluded from the auto-generated table of contents. - Added the
--custom-toc
option torimuc
command. This option is used in conjunction with the--sidebar-toc
and--dropdown-toc
options. It inhibits the generation of the table of contents container element, leaving the user to include a custom TOC menu (the Rimu documentation uses this feature). - Added the
line-breaks
CSS class for use with therimuc
command--styled
option (see the Controlling line breaks tip. - Documented an example letter written in Rimu.
- Multiple themes can be specified using the
rimuc
--theme
option. - The table of contents document title link (generated by the
rimuc
--sidebar-toc
and--dropdown-toc
options) navigates to the top of the document window (not the title header). - Bug fixes.
Version 7.3.0 (2016-04-15)
- The
rimuc
command now supports named themes with the new--theme
option. The following example styles the output using the built-in graystone theme:rimuc --styled --theme graystone document.rmu
Version 7.2.1 (2016-04-12)
- Documentation updates.
- Bug fixes.
Version 7.2.0 (2016-04-06)
- Added
safeMode
bit-mask 8 (add 8 tosafeMode
) to unconditionally enable Macro Definitions. Allowing Macro Definitions is not intrinsically unsafe because their safety or otherwise is solely determined by the safety of their constituent elements. safeMode
5 generalized by incorporating it into a bit-mask (4).- Bug fixes.
Version 7.1.0 (2016-04-02)
- Added
"css-properties"
syntax to Block Attributes element (a shortcut for the commonly used Block Attributes[style="..."]
idiom). - Added CSS text alignment classes
align-left
,align-center
,align-right
to the rimuc--styled
option. - Added
page-break
andno-page-break
CSS classes to the rimuc--styled
option to allow printer page breaks to be specified. - A new, stricter, Safe Mode 5 which skips Block Attributes elements
altogether which:
- Disables direct CSS control (via CSS classes or CSS properties).
- Disables HTML element ID creation (so you cannot override existing IDs).
- rimuc command outputs error messages to
stderr
(notstdout
). - rimuc command outputs rendered HTML even if there are errors (previously if an error occurred no HTML would be outputted which was surprising).
- rimuc
--safeMode
and--htmlReplacement
options have been deprecated and are superceded by standard lower case hyphenated option names--safe-mode
and--html-replacement
.
Version 7.0.3 (2016-03-27)
- Documentation updates.
Version 7.0.2 (2016-01-10)
- Documentation updates.
Version 7.0.1 (2016-01-08)
- npm publication glitch — did not pick up README. The “glitch” was subsequently found to be bogus.
Version 7.0.0 (2016-01-08)
- BREAKING CHANGE: A single UMD formatted Rimu library file
rimu.js
(along with the minified versionrimu.min.js
) are now distributed instead of previous separate CommonJS and browser versions (rimu-commonjs2.js
,rimu-var.js
,rimu-var.min.js
) so you will need to rename the latter in code that imports the Rimu library. - Ported
rimuc
to TypeScript and added a test suite forrimuc
. - The Rimu
rimu.d.ts
ships with the npm package and is specified inpackage.json
using the TypeScript 1.6 typings for npm packages feature. The upshot being that Rimu's TypeScript declarations are loaded automatically from the rimu npm package when you import the Rimu library from a TypeScript source file:// Automatically loads node_modules/rimu/bin/rimu.d.ts import Rimu = require('rimu')
- Use Webpack to minify the Rimu library — this reduced the minified
rimu.min.js
to 18.7KB (previously was 28.2KB). - Upgrade all build tools to latest versions.
Version 6.1.0 (2015-08-19)
- Allow macro invocations in API Option element values.
- Allow Quote elements in URL and and email address captions.
- Add
callback
API torimu.d.ts
type definitions file. - Replaced nodeunit with Tape for unit tests.
Version 6.0.0 (2015-07-12)
Misspelled macro invocations are insidious and easily overlooked. The problem has finally been resolved with the introduction of an API callback option that emits diagnostic messages.
The rule for macro expansion is now very simple: If a macro is not
defined its invocation is rendered verbatim. The rimuc
command
--lint
option will emit an error if a macro is undefined (to
suppress these warnings escape the macro invocation with a backslash).
- Many of the examples in the Rimu documentation are now live — you can edit them by clicking the Edit icon. Live edit is a good example of using Rimu macros to refactor repetitive chunks of code.
- Added
callback
API option. Thecallback
function handles diagnostic events emitted by therender()
API as it parses the Rimu source. Diagnostic events include:- Undefined macro invocation.
- Unterminated Delimited Block.
- Illegal and invalid block options.
- Illegal Delimited Block name.
- Illegal API Option name.
- Deprecated existential macro invocation.
- Added
--lint
option to therimuc
command which checks the Rimu source for inconsistencies and errors. - Added Existential macro definition syntax:
{macro-name?} = 'macro-value'
Existential macro definitions are only processed if the macro has not been defined and are useful for establishing default values. rimuc
passes the contents of files with an.html
extension directly to the output. This allowsrimuc
to process HTML from other sources.- The highlighting of broken fragments by
rimuc --styled
outputs has been removed — it's in the wrong place, errors should be caught at compile-time and this feature will probably be added to a future version of therimuc
compiler.
Breaking changes:
- The
macroMode
option is no longer supported. It was introduced in version 5.0.0 and was a poorly thought-out attempt to tighten up on undefined macros — the default macroMode did make undefined macro invocations visible in the output but didn't really solve the problem. Worst of all, different modes had different rendering semantics. There is now a single semantic for undefined macro invocations (they are rendered verbatim) and are flagged as errors via therender()
APIcallback
option. - Existential macro invocations (
{name?default}
) no longer supported. This is because invoking an undefined macro is now considered an error. You can specify default macro values using the new Existential Macro Definition syntax. Legacy Existential invocations are rendered verbatim and therimuc
--lint
option will emit a deprecation error. - The previously undefined
{--}
reserved macro is now set to an empty string when therimuc
--styled
option is used so it still behaves the same with Inclusion and Exclusion macro invocations — if you use it in other contexts you should explicitly set it:{--} = ''
.
Version 5.4.0 (2015-06-28)
- Moved Rimu reference documentation from the Rimu Playground into a separate updated Reference manual.
- Restyled and simplified the Playground.
- Features added to the
rimuc
command--styled
option (details in the new Reference manual):- Now generates unique slug ids for top level
h1
,h2
andh3
headers irrespective of the--toc
option (previously it was possible to generate non-unique slug ids). - It Highlights broken fragment URLs.
- Now generates unique slug ids for top level
Version 5.3.0 (2015-06-22)
Added --title TITLE
, --highlightjs
, --mathjax
, --toc
, --section-numbers
styling macro shortcut options to rimuc
. The preceding example can now be
shortened to:
rimuc --styled --toc README.md
Version 5.2.0 (2015-06-20)
The rimuc
command can now generate a table of contents: If the --toc
macro is defined
and is not blank then the rimuc
command --styled
option generates a table of contents.
For example:
rimuc --styled --prepend "{--toc}='yes'" README.md
Top-level h1
, h2
and h3
HTML tags contribute to the table of contents.
Version 5.1.0 (2015-06-13)
New features:
- You can append CSS class names to Delimited Block opening delimiter lines and they
will be injected into the block's opening HTML tag (this is
an alternative to using a Block Attributes element and was
added primarily for compatibility with GitHub Flavored Markdown's code block highlighting).
For example:
``` javascript if (message) { console.error('Error: ' + message); } ```
- Underscores within words rendered verbatim and are not treated as underscore emphasis quotes (GitHub Flavored Markdown behaviour).
- Add
+
bulleted list ID (Markdown syntax). - Lists can be terminated by two or more blank lines.
- Typographical nicities added to the example
.rimurc
file.
Version 5.0.0 (2015-06-07)
This version adds new API options, an API Options element and more Markdown compatibility. It also includes some breaking changes.
- Added
macroMode
API option to specify which macro invocations are processed. - Added
reset
API option to reset the API to its default state. - Added Markdown compatible double back-tick
``code quotes``
and double underline__strong quotes__
. - Added API Option element to allow API options to be set in Rimu source.
- Bug fixes.
- Add
--macroMode
and--htmlReplacement
options torimuc
command. The--safe-mode
is renamed to--safeMode
(--safe-mode
still works but is deprecated).
Breaking changes:
- Changed default behavior of single-asterisk quote from strong to emphasis to align
with Markdown. To reinstate old behavior use this quote definition:
* = '<strong>|</strong>'
. - By default only defined and reserved macro invocations are expanded. Previously all macros
were expanded which to often generated surprising results e.g. if the
text
macro was not explicitly defined then${text}
would silently render$
. To revert to the previous behaviour set themacroMode
API option to1
. - Replacements are processed before quotes (previously they were processed after quotes). This is ensures quotes are not expanded inside URLs (notably underscores) and aligns with Markdown behaviour. If there are escaped quotes in URLs they will no longer be unescaped and you will need to remove them.
- The
render()
API only changesoptions
that are explicitly specified. Previously, unspecifiedoptions
were set to their default values which was surprising and potentially dangerous because it reset thesafeMode
to the default unsafe value of zero unlesssafeMode
was explicitly specified otherwise. - A backslash immediately preceding a closing code quote is now rendered verbatim and does not escape the quote.
Version 4.0.1 (2015-05-06)
Documentation updates (no functional changes).
- Use Markdown links and headers syntax in documentation. Most users will already know and use Markdown so this makes Rimu example source more familar and easier to assimilate.
Version 4.0.0 (2015-05-05)
- Switched codebase from Internal to External (ES6 compatible) module syntax.
- Modules are bundled into deployable JavaScript libraries using Webpack.
- The single
rimu.js
compiled library file has been replaced by two separate library files:rimu-var.js
for use in HTML script tags.rimu-commonjs2.js
for use with CommonJS (Node.js) applications.
Version 3.3 (2015-01-12)
More Markdown compatible syntaxes added to Rimu core (these syntaxes were previously added using custom definitions):
- Links:
[caption](url)
. - Images:
![alt](url)
. - Bold text:
**bold**
. - Strikethrough text:
~~strikethrough~~
(GitHub Flavored Markdown).
Version 3.2 (2015-01-07)
- Auto-encode (most) raw HTTP URLs as links.
- Added Markdown compatible Quote Paragraphs (paragraphs starting with
>
rendered inside a<blockquote>
HTML element). - Added backtick delimiter for code blocks - - backtick is now the normative
code block delimiter (the older dash delimiter is deprecated but will never
be dropped). backtick rationale:
- Consistency: aligned with use of backtick to quote inline code.
- Familarity: looks like a GitHub Flavored Markdown fenced code block.
Version 3.0 (2013-10-28)
- Added Delimited Block definitions.
- Enhanced and refined Macros.
- Many other enhancements, additions and documentation updates.
- Indented Paragraphs and Code Blocks no longer expand macro
invocations by default. To reinstate old behavior use these delimited
block definitions:
|code| = '+macros' |indented| = '+macros'
- Indented Paragraph emits same code as Code Block. To reinstate
old behavior use this delimited block definition:
|indented| = '<pre>|</pre>'
- Dropped the deprecated + line-break, use the newer backslash
line-break. To reinstate the old + line-break use this replacement
definition:
/[\\ ]\+(\n|$)/g = '<br>$1'
Version 2 (2013-07-26)
- Added Quote and Replacements definitions.
- A number of other enhancements, additions and documentation updates.