1. 11 Apr, 2018 1 commit
    • Leon Arnott's avatar
      Added a string-specific shorthand of (repeated:) called (str-repeated:). · 412b30269ce6
      Leon Arnott authored
      This will be followed by a number of other str- macros in the coming days.
      Additionally, the (text:) macro now has another alias, (str:). This alias will now be the preferred name for this macro in the documentation, mainly due to the arrival of other string macros that begin with "str-", and additionally to avoid semantic conflict with the various "text-" changer macros like (text-style:).
  2. 15 Jan, 2018 1 commit
  3. 07 Dec, 2017 1 commit
  4. 06 Dec, 2017 2 commits
  5. 20 Nov, 2017 2 commits
  6. 02 Aug, 2017 1 commit
  7. 26 Apr, 2017 1 commit
  8. 08 Mar, 2017 1 commit
    • Leon Arnott's avatar
      Fixed (enchant: ?Page) not being able to override default CSS (or other CSS) on <tw-story>. · ff6e94bb72a5
      Leon Arnott authored
      This fix forcibly checks which CSS properties are being applied to the <tw-enchantment> by style changers, and adds matching "inherit" inline styles to the <tw-story> below. Yes, it's unfortunate that the <tw-story> has to be permuted for this… oh well.
      Also added CodeMirror mode CSS that keeps the line-break marker gutter at left:0, which, for reasons yet unknown, it sometimes isn't.
      Version changed to 2.0.1.
      Closes #85. Closes #83.
  9. 25 Jan, 2017 1 commit
  10. 19 Jan, 2017 1 commit
    • Leon Arnott's avatar
      More documentation additions. · c22a05845ea6
      Leon Arnott authored
       * Added documentation for the (altered:) macro.
       * Fixed various macro doc mistakes or errors.
       * Altered the documentation generation script to add a "changes" section pulling two recent versions' changes directly from README.md.
       * Now, the new invalid operators like "x" and "are" are no longer syntax-highlighted orange when inside string literals.
  11. 17 Jan, 2017 1 commit
  12. 10 Dec, 2016 1 commit
  13. 03 Dec, 2016 1 commit
  14. 01 Dec, 2016 1 commit
    • Leon Arnott's avatar
      Added the (undo:) macro. · e2f2768af7da
      Leon Arnott authored
      This, along with a forthcoming (redo:) macro (which, in order to be used correctly, would require a (future:) macro, I guess), would allow the current default sidebar to be bootstrapped (constructed anew) from Harlowe code.
      Also changed the CSS of <html> such that its font declaration is now on <tw-story>, and fixed the CSS of <tw-error>s to make them white-on-black alongside the rest. (I may revise the latter some more to make it work when black-on-white is being used.)
  15. 30 Nov, 2016 1 commit
    • Leon Arnott's avatar
      Changed Harlowe 2 to use white-on-black CSS by default. · b7f75aa1c921
      Leon Arnott authored
      I've wanted to do this for a long time. I feel like white-on-black is the superior default for Twine, and was so during Twine 1, for a few reasons - black suggests a greater degree of intimacy, away from the "public" space of the white-on-black web, and invites more personal writing. Instructions for changing it back using (enchant:) are in the update notes. (Yes, I'm aware (enchant:) still needs to be documented.)
  16. 21 Nov, 2016 1 commit
    • Leon Arnott's avatar
      Added the (for:) macro. · 1b4be85e5df5
      Leon Arnott authored
      The addition of "each" lambdas was the final piece of this puzzle - expressing which temp variable to loop over in an unambiguous and readable syntactic way.
  17. 04 Nov, 2016 1 commit
  18. 02 Nov, 2016 1 commit
  19. 11 Sep, 2016 1 commit
    • Leon Arnott's avatar
      Added the (hover-style:) changer macro, which allows passed style changers to... · 9a605ba4689d
      Leon Arnott authored
      Added the (hover-style:) changer macro, which allows passed style changers to only apply when hovering over the hook.
      I'm a little uncomfortable about its name (as compared to (text-style:)) and the specificity of only allowing style changers (which currently does not include (transition:)s) but I think it'll be fine, and could be safely expanded a little in future.
      Also fixed a bug where joining a changer, using "+" in markup, with a changer macro that produced an error, would suppress the error.
  20. 06 Sep, 2016 1 commit
    • Leon Arnott's avatar
      (count:) now accepts multiple values. · d67319fd80bb
      Leon Arnott authored
      Also fixed a bug where the wrong value would be given if passed the empty string as a search term (due to being passed to String#split()).
      Closes #8.
  21. 03 Sep, 2016 1 commit
    • Leon Arnott's avatar
      Added "any" and "all" properties to sequentials, which are used for "all" and... · c6a0b59b3b47
      Leon Arnott authored
      Added "any" and "all" properties to sequentials, which are used for "all" and "any" comparison operations.
      These properties produce special, unstorable "determiner" values, which, when used as the object of "contains", "is in", or other comparison expressions, results in every element of the sequential being compared using the operation. This is, I feel, a better solution to simply adding "contains all" and "contains any" operators, in that it naturally expands to cover ">", ">=" and other non-set-related operations.
      Also fixes a bug (that didn't manifest until just now) where certain unstorable values could be stored if they were in storable data structures.
  22. 01 Sep, 2016 1 commit
    • Leon Arnott's avatar
      Joining changers outside of macros now requres interstitial "+" signs. · af415bd075be
      Leon Arnott authored
      This was important, I decided, to ensure consistency in changer concatenation between macros and passage markup. $changer + $changer2 now joins changers in both modes.
      Also added a "none" (text-style:) which, when added to other (text-style:) combined changers, removes their styles.
  23. 30 Aug, 2016 2 commits
    • Leon Arnott's avatar
      Trying to use common incorrect operators will result in an error message... · 066bf2606af4
      Leon Arnott authored
      Trying to use common incorrect operators will result in an error message telling you what the correct operator is.
      These incorrect operators current include =>, =<, gte, lte, gt, lt, eq, isnot, neq, are, x.
      (This, of course, means that JS variable names that equal these words are no longer passed through.)
    • Leon Arnott's avatar
      Fixed a bug where datasets could contain (and compared) data structures by... · 953ec34deae5
      Leon Arnott authored
      Fixed a bug where datasets could contain (and compared) data structures by reference, in constructing, concatenating and subtracting.
       * Fixed a bug where subtracting arrays was also subject to comparing data structures by reference.
       * Fixed a bug where subtracting non-subtractable values (such as booleans) wouldn't produce an error.
  24. 29 Aug, 2016 1 commit
    • Leon Arnott's avatar
      Added hidden hook markup and the macros (hidden:), and (show:). · b132150f7b5c
      Leon Arnott authored
      I spent years feeling rueful about adding this, as I'd felt it directly competes with the (replace:) macros' idiom. Lately, though, I've seen the merit in it, as a way of keeping revealed text inside the flow of the prose it is revealed inside, when said text is vital to the readability of the passage.
      I currently feel like this doesn't provide much way of expressing structure and relationship between hidden hooks and visible ones - no semantic way to convey that they form a list with only a single one visible, for instance, or that one builds upon the last, as with <<becomes>> and <<gains>> in Twine 1. But, future macros providing semantically clearer means of showing hidden hooks ((show-next:), (reveal-next:) or somesuch) can always be added.
  25. 24 Aug, 2016 1 commit
    • Leon Arnott's avatar
      Fixed various mistakes or vaguaries in numerous error messages. · b1f96134476b
      Leon Arnott authored
      Also added to the test case HTML page a "ErrorMessages" global which collects all Harlowe error messages produced as a result of tests, so that they can be checked.
      Also decided to stick with the uncapitalised "boolean" for the data type in documentation and errors.
  26. 20 Aug, 2016 2 commits
    • Leon Arnott's avatar
      Differing revision changers (like (append:) and (prepend:)) can now be added together. · 871a14138eca
      Leon Arnott authored
      This involved adding some structural indirection to the ChangeDescriptor's newTargets property - instead of an array of HookSets or jQuerys, it's an array of {target, append} properties, tying the append method to the target.
    • Leon Arnott's avatar
      HookSets no longer have a "section" property. · cf8600032bc9
      Leon Arnott authored
      This enables the "when stored, can work across passages" test for revision macros to finally pass. In practice, it means that the section used for HookSets' hook selection is determined by the consumer macro. As a result, Section.selectHook() is gone, and (somewhat frustratingly) HookSet.forEach() now takes a section as its first param, breaking symmetry with Array#forEach.
      While implementing this, HookSets' targets and newTargets were changed to no longer be stored as strings - only HookSet, jQuery collections and arrays thereof are used now.
      Also, as a necessity of these changes, HookSets no longer have a length, and can no longer be spread with "...". (But, neither of these had much point ever since they became unstorable).
  27. 18 Aug, 2016 1 commit
  28. 16 Aug, 2016 1 commit
  29. 08 Aug, 2016 1 commit
    • Leon Arnott's avatar
      Added the (dataentries:) macro. · f4871e79bab3
      Leon Arnott authored
      This macro, designed primarily for use with lambdas, lets you iterate over a datamap and have access to its names and values easily, without needing to interleave (datanames:) and (datavalues:).
       * Fixed a bug where lambdas couldn't iterate over values that consisted of datamaps, datasets, or any Harlowe-specific data.
       * Added some styling for "where", "via", "making" and "with" to the CodeMirror mode.
  30. 02 Aug, 2016 1 commit
  31. 01 Aug, 2016 1 commit
  32. 14 Jul, 2016 1 commit
  33. 12 Jul, 2016 1 commit
  34. 09 Jul, 2016 1 commit
  35. 07 Jul, 2016 2 commits