lib/compiler.js
function(walk) {
    if (!walk.at('^ '))
      return false;
    // Find the end of the block, checking for adjacent blocks
    var startIdx = walk.position;
    var found = false;
    while (walk.hasCurrent() && !found) {
      walk.scrollToTerm().skipWhitespaces();
      if (!walk.at('^ '))
        found = true;
    }
    var g = this.stripSelector(new SubWalker(walk, startIdx, walk.position));
    this.emitSortableGroup(g);
    return true;
  }
function(walk) {
    if (!walk.at('^ '))
      return false;
    // Find the end of the block, checking for adjacent blocks
    var startIdx = walk.position;
    var found = false;
    while (walk.hasCurrent() && !found) {
      walk.scrollToTerm().skipWhitespaces();
      if (!walk.at('^ '))
        found = true;
    }
    var g = this.stripSelector(new SubWalker(walk, startIdx, walk.position));
    this.emitSortableGroup(g);
    return true;
  }
Sortable groups enable users to specify correct ordering for items.

The exact sorting functionality (drag'n'drop, buttons, etc.) must be
implemented with client-side scripts.

Each item must start with marker `^ `.

Example:

```
^ un
^ deux
^ trois
^ quatre
^ cinq
^ six
```