Differences between revisions 80 and 81
Revision 80 as of 2017-12-10 13:18:24
Size: 27711
Editor: KaiJaeger
Revision 81 as of 2017-12-13 14:06:09
Size: 29413
Editor: KaiJaeger
Deletions are marked like this. Additions are marked like this.
Line 17: Line 17:

=== Version 3.9.0 from 2017-12-12 ===

 '''Attention''': note that version 3.9 comes with a potentially breaking change: see first bug fix.

 * Headers are now enclosed with `<div class="h_tag">` to allow avoiding page breaks effectively.
 * New parameter `div_h_tag` introduced which defaults to 1. See above.
 * Bug fixes
   * So far attributes for "ID" and "Class" were converted to lowercase. Same for "ID" and "Class" generated as special attributes. Also, auto-generated <Hn>-anchors converted all characters to lowercase. All this was done under two assumptions:
     1. CSS selectors are case independent (correct).
     2. HTML attributes are case independent ('''not''' correct). That needed fixing, and that might break your code if you have specified special attributes that are not in line - in terms of casing - with the target HREF.
   * The <nav> contained an unclosed <div> under certain circumstances.
   * Some HTML blocks were wrongly identified.
   * When a !LeanPub extension followed a definition list things went wrong.
   * Fully qualfied `screenCSS`/`printCSS` were not processed correctly when they carried `\` (should become `/`) or `"` (should be removed).
   * Links to IDs (bookmarks) that were defined as special attributes were sometimes wrongly reported as invalid.
   * Special attributes assigned to a definition term were wrongly assigned to the <dl> tag rather than <dt>.
   * References pointing to a footnote accidentally got an ID assigned.
   * A word that is part of an <Hn> tag '''and''' is defined as an abbreviation caused havoc.
   * A link was not correctly identified in case there were any square brackets (`[]`) in front of them.

MarkAPL Project Page


  1. MarkAPL Project Page
    1. Bugs
    2. Future Enhancements
    3. Version History
      1. Version 3.9.0 from 2017-12-12
      2. Version 3.8.1 from 2017-12-10
      3. Version 3.8.0 from 2017-12-10
      4. Version 3.7.1 from 2017-12-05
      5. Version 3.7.0 from 2017-11-27
      6. Version 3.6.0 from 2017-11-20
      7. Version 3.5.3 from 2017-11-13
      8. Version 3.5.2 from 2017-11-03
      9. Version 3.5.1 from 2017-11-02
      10. Version 3.5.0 from 2017-10-30
      11. Version 3.4.0 from 2017-09-15
      12. Version 3.3.0 from 2017-08-16
      13. Version 3.2.0 from 2017-05-20
      14. Version 3.1.1 from 2017-05-19
      15. Version 3.1.0 from 2017-05-12
      16. Version 3.0.1 from 2017-04-09
      17. Version 3.0.0 from 2017-03-24
      18. Version 2.8.8 from 2017-03-16
      19. Version 2.8.7 from 2017-02-10
      20. Version 2.8.6 from 2017-02-10
      21. Version 2.8.5 from 2017-01-12
      22. Version 2.8.4 from 2017-01-05
      23. Version 2.8.3 from 2016-12-31
      24. Version 2.8.2 from 2016-12-27
      25. Version 2.8.1 from 2016-12-12
      26. Version 2.8.0 from 2016-12-07
      27. Version 2.7.0 from 2016-12-02
      28. Version 2.6.4 from 2016-11-22
      29. Version 2.6.3 from 2016-11-19
      30. Version 2.6.2 from 2016-11-17
      31. Version 2.6.1 from 2016-11-15
      32. Version 2.6.0 from 2016-11-08
      33. Version 2.5.1 from 2016-11-03
      34. Version 2.5.0 from 2016-11-03
      35. Version 2.4.0 from 2016-10-25
      36. Version 2.3.0 from 2016-10-20
      37. Version 2.2.5 from 2016-10-18
      38. Version 2.2.4 from 2016-10-08
      39. Version 2.2.3 from 2016-10-07
      40. Version 2.2.2 from 2016-10-05
      41. Version 2.2.1 from 2016-10-03
      42. Version 2.2.0 from 2016-10-01
      43. Version 2.1.1 from 2016-09-21
      44. Version 2.1.0 from 2016-09-20
      45. Version 2.0.3 from 2016-09-08
      46. Version 2.0.2 from 2016-09-07
      47. Version 2.0.1 from 2016-09-05
      48. Version 2.0.0 from 2016-08-31
      49. Version 1.8.4 from 2016-07-24
      50. Version 1.8.3 from 2016-07-15
      51. Version 1.8.2 from 2016-07-03
      52. Version 1.8.1 from 2016-07-02
      53. Version 1.8.0 from 2016-06-20
      54. Version 1.7.9 from 2016-06-15
      55. Version 1.7.8 from 2016-06-15
      56. Version 1.7.7 from 2016-06-14
      57. Version 1.7.6 from 2016-06-11
      58. Version 1.7.5 from 2016-06-09
      59. Version 1.7.4 from 2016-06-06
      60. Version 1.7.3 from 2016-06-06
      61. Version 1.7.2 from 2016-06-02
      62. Version 1.7.1 from 2016-05-31
      63. Version 1.7.0 from 2016-05-17
      64. Version 1.6.2 from 2016-05-06
      65. Version 1.6.1 from 2016-04-27
      66. Version 1.6.0 from 2016-04-20
      67. Version 1.5.0 from 2016-04-19
      68. Version 1.4.4 from 2016-04-18
      69. Version 1.4.3 from 2016-04-12
      70. Version 1.4.3 from 2016-04-12
      71. Version 1.4.2 from 2016-04-11
      72. Version 1.4.1 from 2016-04-11
      73. Version 1.4.0 from 2016-04-08
      74. 1.3.2 from 2016-03-24
      75. 1.3.1 from 2016-03-21
      76. 1.3.0 from 2016-03-19
      77. 1.2.1 from 2016-03-09
      78. 1.2.0 from 2016-03-03
      79. 1.1.1 from 2016-02-17
(Hide table-of-contents)

Link to MarkAPL's home page


Future Enhancements

  • Why is there no Code2Markdown helper?

Don't hesitate to add your wishes here.

Version History

Version 3.9.0 from 2017-12-12

  • Attention: note that version 3.9 comes with a potentially breaking change: see first bug fix.

  • Headers are now enclosed with <div class="h_tag"> to allow avoiding page breaks effectively.

  • New parameter div_h_tag introduced which defaults to 1. See above.

  • Bug fixes
    • So far attributes for "ID" and "Class" were converted to lowercase. Same for "ID" and "Class" generated as special attributes. Also, auto-generated <Hn>-anchors converted all characters to lowercase. All this was done under two assumptions:

      1. CSS selectors are case independent (correct).
      2. HTML attributes are case independent (not correct). That needed fixing, and that might break your code if you have specified special attributes that are not in line - in terms of casing - with the target HREF.

    • The <nav> contained an unclosed <div> under certain circumstances.

    • Some HTML blocks were wrongly identified.
    • When a LeanPub extension followed a definition list things went wrong.

    • Fully qualfied screenCSS/printCSS were not processed correctly when they carried \ (should become /) or " (should be removed).

    • Links to IDs (bookmarks) that were defined as special attributes were sometimes wrongly reported as invalid.
    • Special attributes assigned to a definition term were wrongly assigned to the <dl> tag rather than <dt>.

    • References pointing to a footnote accidentally got an ID assigned.
    • A word that is part of an <Hn> tag and is defined as an abbreviation caused havoc.

    • A link was not correctly identified in case there were any square brackets ([]) in front of them.

Version 3.8.1 from 2017-12-10

  • Bug fixes
    • Any LeanPub encoding line prevented LeanPub extensions from being processed.

    • An IMG ALT text with " in it did not show properly.

Version 3.8.0 from 2017-12-10

  • In-line mark-up in footers is now supported.
    • Bug fixes
      • So far in-line mark-up was not supported for footnotes but when assigned anyway the result was havoc.
      • The introduction of the LeanPub extension could de-sync line numbers from the markdown.

      • The result of functions returning an HTML block was handled incorrectly.
      • A link text that carried a ] was handled incorrectly.

Version 3.7.1 from 2017-12-05

  • In case the user specified a header without a caption (## ) MarkAPL crashed.

  • Invalid parameter definitions were ⎕SIGNALled; should be reported instead.

  • Non-existing embedded functions were ⎕SIGNALled; should be reported instead.

  • Assigning ¯1 to parameters at a very early stage is dangerous when they are later on expected to be character. Now ¯1 is used just for numeric value while ⎕NULL is used for text.

  • The LeanPub way to define the encoding of the HTML document should be ignored when leanpubExtensions←1.

  • The ID "main_nav" was not assigned to the main menu in case collapsibleTOC was 0. It should always get this ID assigned to make it style-able.

  • Function calls that returned an HTML block caused problems.
  • Links that start with ./ should be left alone rather than adding http://.

  • A TOC with collapsibleTOC←0 had no header. The CSS needed to change for this as well.

  • In case cssURL is empty but screenCSS / printCSS are fully qualified MarkAPL did not find the CSS files.

Version 3.7.0 from 2017-11-27

  • Style sheets improved, especially for print.
  • New data structure introduced. ns.headerLineNos; carries the line number in the Markdown of the corresponding ns.headers.

  • Tables around LeanPub extension removed. It's now floating <div>s.

  • Bug fixes:
    • HTML blocks were not always identified correctly.
    • Ill-structured headers could break MarkAPL.
    • Single underscores were not always processed correctly.
    • leanpub-end-insert failed when it was the last line in a code block.

    • The HTML and the style sheet sets were lacking proper defaults for TOCs. It therefore worked
      • only with embedded CSS but not with linking to the CSS.
    • Two HTML blocks in succession caused havoc.
    • A & in a header made it into the TOC as &amp;

    • " are now removed from cssURL.

    • A missing trailing / on cssURL does not cause problems any more.

    • MarkAPL promised valid HTML5 but closed <br and <img with /> which is XHTML.

    • The sequence of attributes was changed so that they avoid being changed by IE and Edge.
      • Not exactly a bug but needed to be able to detect changes in <head> forced by the user and to pass the W3C CSS validator.

Version 3.6.0 from 2017-11-20

  • New parameter leanpubExtensions introduced. This allows one to use any of the so-called LeanPub extensions added to Markdown:

    • One can add asides, info boxes etc. by using A> , W> , T> , E> , I> , Q> , D> , or X> . Note that using these extensions prevents the resulting HTML page from being "stand-alone" because the LeanPub extension need icons which are expected to live where the new parameter leanpubIconsUrl is pointing to.

    • The two strings leanpub-start-insert as well as leanpub_end-insert are recognized by MarkAPL in case leanpubExtensions←1 and makes MarkAPL insert <span> tags that allows lines of code in a code block to be highlighted.

  • New parameter leanpubIconsUrl introduced which defaults to https://download.aplwiki.com/LeanPub/Images/. This allows the icons used by the LeanPub extensions to be found as long as the reader has an Internet connection.

  • New parameter imageURL introduced. When specified it defines where to look for images unless an absolute path was defined for an image.

  • New document "LeanpubExtensions.html" added.

  • Parameter screenCSS and printCSS can now either be empty, a simple filename or (new) a list of comma-separated filenames.

  • The alternative style sheets darkscreen.css and darkprint.css have been renamed to dark_screen.css

    • and dark_print.css

  • Bug fixes:
    • Despite contradicting advice on the Internet, the sequence within a table must be thead,tbody,tfoot. Some sources claim that tfoot should come before tbody in order to allow a browser to know what to do before even processing a potentially very large) tbody element. Makes sense but is rejected by the W3C validator.
    • All "Print" style sheets do prevent page breaks within <nav> and <pre> now.

Version 3.5.3 from 2017-11-13

Bug fixes:

  • An info string in a code block broke MarkAPL.
  • A code block fenced with back ticks that contained just three ~~~ characters (and vice versa) broke MarkAPL.

  • A code block that does not having a closing line should occupy the rest of the document.
  • The closing part of a code block must have at least as many fencing characters as the opening part.
  • If a code block has an info string then it must not contain the fencing characters.
  • The closing part of the code block must have at least as many fencing chars as the opening one but may have more.

Version 3.5.2 from 2017-11-03

  • Ill-defined table definitions could crash MarkAPL.

Version 3.5.1 from 2017-11-02

  • Any head parameters should be injected after any other head tags but weren't.

Version 3.5.0 from 2017-10-30

  • Syntax sugar extended: ==>, <== and <==> are converted into real arrows.

Version 3.4.0 from 2017-09-15

  • Breaking change: the meaning of markdownStrict has changed: it's now called syntaxSugar and defaults to 1. markdownStrict still exists but with a default of 0. In case it is 1 certain enhancements are not honoured: list items must then start with an empty line and footers in tables are not recognized.

  • Bug fix: In-line mark-up within a link text was not processed.

Version 3.3.0 from 2017-08-16

  • Tables can now have a footer.
  • Bug fix: SeText headers did not allow up to three leading white spaces.

Version 3.2.0 from 2017-05-20

  • CSS improved for both screen and print: lists (particularly nested ones), tables and blockquotes.
  • Bug fixes
    • cssUrl required a file delimiter at the end. It should be optional.

Version 3.1.1 from 2017-05-19

  • Bug fixes
    • Lines that should be empty really but consist of nothing but blank characters could cause MarkAPL entering an endless loop. Now all trailing blanks are deleted before any markdown is processed.

Version 3.1.0 from 2017-05-12

  • Bug fixes
    • C:\Users\\{username}\ should become C:\Users\{username}\ but did not.

    • A function call that carried a _ failed because the _ was converted into <em>.

    • Help might have complained about not finding the file MarkAPL_CheatSheet.md even when the right argument was 0 (=no recompile of the Markdown required).

    • Three ||| where treated like a code fence (like ~~~) by mistake.

    • Handling of http://, file:// etc. on cssUrl was incorrect.

  • Setting subTocs to 1 has no effect now in case toc is 0.

  • MarkAPL is now managed by acre 3.

Version 3.0.1 from 2017-04-09

  • Bug fix: both Help and Reference crashed with a 0 as right argument.

Version 3.0.0 from 2017-03-24

  • Lists may now contain tables, images and quotes. (So far only paragraphs, code blocks and sub-lists were supported)
  • Bug fixes:
    • Lines in lists with a wrong indentation could completely disappear.

Version 2.8.8 from 2017-03-16

  • Bug fix: With 2.8.7 commented lines were ignored completely, not only in code blocks.

Version 2.8.7 from 2017-02-10

  • Bug fix:
    • Comment lines within a code block disappeared under some circumstances.

Version 2.8.6 from 2017-02-10

  • Bug fixes:
    • Under some circumstances a footnote ref was not recognized as such.
    • MarkAPL called one of its own methods with a fully qualified name.

Version 2.8.5 from 2017-01-12

  • A header (#) without any caption crashed MarkAPL.

Version 2.8.4 from 2017-01-05

  • Bug fix: embedded code tat contained _ or * was not displayed correctly.

Version 2.8.3 from 2016-12-31

  • Bug fix: URLs in links were accidentally printed to the session.

Version 2.8.2 from 2016-12-27

  • Bug fix: problems are now not reported to the session if it is not...

    • ... a development version.
    • ... there is nothing to report (in the past an empty vector was printed).

Version 2.8.1 from 2016-12-12

  • Version 2.8.0 broke code blocks that are part of a list under some circumstances.

Version 2.8.0 from 2016-12-07

* HTML entities can be injected now (in the sense of them being converted) by escaping the & character. So far & has not been an escapable character. * A URL in a link that does not specify the protocol now defaults to http://. This is not true for autolinks! * Bug fixes:

  • \\ outside code should become \ but did survive instead.

  • The lists created inside <nav> (TOC) were wrongly structured (although they worked fine).

  • Documentation failed to mention the affect of markdownStrict←1 regarding Guillemets.

  • A URL in a link that carried a _ caused havoc.

Version 2.7.0 from 2016-12-02

  • Pairs of double quotes are now converted into their typographically correct aquivalents. Note that the rules depend on the country, therefore MarkAPL takes the lang parameter into account. Previously always the anglo-saxon version was chosen and lang was ignored.

  • << and >> are now converted into Guillemets.

  • Bug fixes:
    • Default alignment for table header cells is "center", at least in Chrome. We overwrite this with "left", the default for all non-header cells.
    • [] definitions that qualify neither as reference link nor data nor embedded parameter were simply ignored; they are ought to become part of the document.

    • A backslash to the right of a double-quote is not considered an escape character when there has been an opening double quote before.

Version 2.6.4 from 2016-11-22

  • Two empty lines after a definition list crashed MarkAPL.

Version 2.6.3 from 2016-11-19

  • The search algorithm for homeFolder (performed if not set) was faulty.

Version 2.6.2 from 2016-11-17

  • The attempt to recognize compound names when processing in-line mark-up had problems. Compound names are rare, and most authors prefer to show them verbatim (=as code) anyway, so the "feature" was removed because the harm was bigger than the gain.

Version 2.6.1 from 2016-11-15

  • Bug fixes:
    • Numeric columns were not right-aligned by default depending on the data type.
    • A SeText header that carries the word "code" in it crashed MarkAPL.

    • Invalid CSS could crash MarkAPL.
    • When header and data defined different numbers of columns MarkAPL crashed.
    • A table definition were the data defined different numbers of columns made MarkAPL crash.
    • In case cssUrl started with file:// MarkAPL crashed.

Version 2.6.0 from 2016-11-08

  • MarkAPL parameters can now be defined as Data within the document. That allows a document to carry its own parameters. See MarkAPL.md and MarkAPL_CheatSheet.md for examples.
    The format is [parms]:{name}={value}. Those definitions must be the very first in a document.

  • New parameter noCSS introduced. Boolean that defaults to 0. Set this to 1 to have no CSS at all.

  • New help Matrix2MarkdownList added.

  • The default for the title parameter is now the level-1 header if their is exactly one.

  • Bug fixes:
    • A header that contained "[]" as code was not processed correctly.
    • Any text that contained an opening < in the very first position but no > was processed incorrectly.

    • Any SubTOC did not make use of a specific ID assigned as a special attribute.
    • A SubToc definition that followed straight after a paragraph was process as text.

    • A SubTOC silently ignored just a single entry; now it reports those instances on ns.report.

    • When a header carried text like -- or --- would cause invalid bookmark links in any Sub TOC because they would be be transformed into – and — respectively.

Version 2.5.1 from 2016-11-03

  • The newly introduced report on links (print only) did not remove doubles and repeated the URL in case there was no link text.

Version 2.5.0 from 2016-11-03

  • Method Matrix2Markdown (introduced with 2.3.0) renamed to Matrix2MarkdownTable. We must be able to add more helpers in future versions, and the method name then needs to be more specific.

  • New parameter reportLinks introduced which defaults to 0. If this gets 1 then a list with all external links in the document is injected just before the footnotes. Note that the list shows only in print.

  • The new parameter reportLinksCaption is put above the link report as <p><strong>.

  • The default CSS now supports font embedding: in case the "APL385 Unicode" font is not installed locally the font will be downloaded in the background and installed temporarily. Drawback is that this will happen even if the font is not used.
  • By setting the newly introduced parameter collapsibleTOC to 1 (default is 0) one can enforce that the TOC is positioned absolutely to the top-right corner. It is also collapsed then, but the user can unfold it by clicking on "show" and shrink it at any time by clicking at "hide" at a later stage.

    • Note that this enhancement required some additional CSS and also a minor change of the HTML within the <nav> element. The text pieces for "show" and "hide" can be changed by setting the newly introduced parameter showHide which defaults to "Show;Hide".

  • If CSS is included rather than linked to (that's the default) then two changes take place:
    • The CSS is now compressed by default. That makes the resulting document a whole lot smaller. This can be changed by setting the newly introduced compressCSS parameter to 0.

    • The width of the document, which defaults to 900, can be changed by setting the newly introduced width parameter accordingly. Has an effect only when the CSS is embedded.

  • With the newly introduced parameter enforceEdge (which defaults to 1) one can make sure that the document is processed by the latest Internet Explorer engine when displayed with the Microsoft Webbrowser control. In other scenarious this should have no effect whatsoever.

  • With the newly introduced parameter lang one can set the language of the HTML page. It defaults to "en".

  • An <img> now always gets alt=, even if there is no such text defined. Then alt ends up as alt="". This is because otherwise the HTML is considered buggy by the W3C validator.

  • New parameter footnotesCaption introduced which defaults to "Footnotes". This is put into <div id="footnotes_div"> as <strong>.

  • Two CSS classes got renamed:
    • The class name "autoheaderlink" got renamed to "autoheader_anchor".
    • The class "footnoteRef" got renamed into "footnote_link".
    • You can savely ignore this unless you use your own CSS and have used them as a CSS selector yourself.

  • A couple of HTML elements get a class assigned automatically. See "Reserved names" in MarkAPL.html for details.
  • Access to documentation has changed:
    • The Help method now views the newly introduced "MarkAPL_CheatSheet.html".

    • The comprehensive document "MarkAPL.html" can be viewed with MarkAPL.Reference 0.

  • Bug fixes:
    • Special attributes on a link reference were ignored.
    • Link text on a simplified bookmark link was ignored.
    • Automatic external links went wrong under certain circumstances.
    • SubTopics had a problem with headers that start with a digit.

    • Warnings regarding non-genuine names of header links were buggy (=produced too often),

Version 2.4.0 from 2016-10-25

  • All headers now get an ID and an HREF assigned. That allows the user to make any header the first line by simply clicking at it.

Version 2.3.0 from 2016-10-20

  • New method Matrix2Markdown allows it to convert a matrix in the WS to Markdown.

Version 2.2.5 from 2016-10-18

  • Bug fix: under certain circumstances trailing blank of a paragraph that belonged to a list caused havoc.

Version 2.2.4 from 2016-10-08

  • ConvertMarkdownFile now accepts a non-empty inputFilename if it is identical with filename.

Version 2.2.3 from 2016-10-07

  • <http://aplwiki.com> was ignored when a line contained just that. Adding 4 leading spaces did not help.

  • When a TOC was inserted the resulting HTML was not valid.

Version 2.2.2 from 2016-10-05

  • Table-of-contents stopped working.
  • Special attributes on images within paragraphs did not work as expected.

Version 2.2.1 from 2016-10-03

  • Bug fix: ConvertMarkdownFile never created a fully-fledged HTML page.

Version 2.2.0 from 2016-10-01

  • New method ConvertMarkdownFile introduced.

  • Documentation improved.

Version 2.1.1 from 2016-09-21

  • Fix: \ in links to images are converted to / now.

Version 2.1.0 from 2016-09-20

  • Only with certain characters to the right is a backslash treated as an escape character from now on, otherwise it survives unchanged (smart escaping).
  • Bug fixes:
    • The initial content of a list item should not be embraced by a <p> tag according to the spec.

Version 2.0.3 from 2016-09-08

  • Mixing an image with special attributes and <<br>> did not work properly.

Version 2.0.2 from 2016-09-07

  • Any attempt to figure out where MarkAPL was loaded from failed when MarkAPL lived in an unnamed namespace (user command).

Version 2.0.1 from 2016-09-05

  • Non-indented code blocks within list items were handled incorrectly.

Version 2.0.0 from 2016-08-31

  • /!\ This version requires at least Dyalog 15.0 Unicode!

  • Platform independent: runs on Windows, Linux and Mac-OS.
  • All <li> elements are now always closed properly (</li>).

  • When just default parameters were passed to MakeHTML_Doc it crashed on cssUrl and homepath.

  • Two empty lines in a code block that belonged to an <li> item broke a list.

  • Documentation improved.

Version 1.8.4 from 2016-07-24

  • Bug fix: under certain circumstances "_" (italic) was not handled correctly in compound names.

Version 1.8.3 from 2016-07-15

  • Bug fix: tables with just table headers made MarkAPL crash.
  • Documentation improved.
  • Functions are not compiled anymore for the time being.

Version 1.8.2 from 2016-07-03

  • Both ** as well as * are now recognized as mark-up with names while __ and _ are not.

Version 1.8.1 from 2016-07-02

  • Recognizing embedded functions did not always work properly.
  • Documentation improved on what you can and what you can't do with an embedded function.

Version 1.8.0 from 2016-06-20

  • Definition lists improved. Note that this comes with a minor syntax change.

Version 1.7.9 from 2016-06-15

  • Something that is fenced between three ~ and three ` is not a code block.

  • Something that seems to be an attempt to define a special attribute but lacks something led to a crash in earlier versions. Now this becomes just data because that's what it might actually be.

Version 1.7.8 from 2016-06-15

  • When a nested list contained a code block then the type of a list further up the stack could be wrong.

Version 1.7.7 from 2016-06-14

  • Documentation fixed, enhanced and clarified.
  • Bug fixes
    • Lists assigned special attributes to the list items. This is wrong. Now any special attribute defined on the first item of a list is assigned to the <ul> or <ol> tag. Special attributes assigned to other list items are removed and ignored.

    • Definition lists ignored special attributes.

Version 1.7.6 from 2016-06-11

  • If a code block is part of a list item the number of leading blanks was calculated wrongly.
  • If you specify just "alt" for an image then "title" will show the same contents. The same holds true in case you specify just "title": "alt" will then become "title".
  • Code blocks within list items were handled incorrectly when nested deeply.

Version 1.7.5 from 2016-06-09

  • Code blocks that are part of a nested list item were not handled correctly when the nesting level is higher than 2.

Version 1.7.4 from 2016-06-06

  • 1.7.3 introduced a problem with documents that have a code block at the very end of the Markdown.
  • Code blocks now allow only up to a maximum of three leading whitespace characters. That brings MarkAPL in line with CommonMark

Version 1.7.3 from 2016-06-06

  • A leading in a code block made that line a Markdown comment.

  • Trailing white space on a [data] line led to that line being ignored.

Version 1.7.2 from 2016-06-02

  • New parameter homeFolder introduced.

  • New method CreateHelpParms introduced.

  • Documentation improved.

Version 1.7.1 from 2016-05-31

  • The anchors automatically wrapped around headers (bookmark links) get the class "autoheaderlink" assigned to them now.
  • Bug fixes:
    • &mldr; is not shown correctly by the WebBrowser ActiveX control, even not in "Edge" mode. MarkAPL now uses the alternative &hellip; which apparently works everywhere.

    • When a paragraph started with code but had a link at the end it was not marked up with <p>.

    • Recognizing HTML blocks improved.

Version 1.7.0 from 2016-05-17

  • Major change: the function Markdown2HTML now returns a two-item vector rather than just the HTML.

  • Definition of bookmarks corrected: in HTML5 bookmarks may start with a digit.
  • Documentation clarified regarding code blocks.
  • Bug fixes
    • Empty code blocks were handled incorrectly.
    • An embedded function that returned an empty vector caused MarkAPL to crash.

Version 1.6.2 from 2016-05-06

  • Minor bug fixes.

Version 1.6.1 from 2016-04-27

  • Bug fixes
    • There was a problem with the new 15.0-related system functions.
    • The lamp symbol () was not recognized when a line that is part of a paragraph started with it.

Version 1.6.0 from 2016-04-20

  • Definition lists implemented.
  • Bug fix: an asterisk on its own should be ignored when is comes to <strong>.

Version 1.5.0 from 2016-04-19

  • New parameter createFullHtmlPage introduced.

Version 1.4.4 from 2016-04-18

  • Structure of a header changed. The h-tag is now child of the anchor tag.
  • Bug fixes
    • Compiling TOC was buggy.
    • The rules for compiling a bookmark name were incomplete: remove HTML entities was missing.

Version 1.4.3 from 2016-04-12

  • Structure of a header changed. The h-tag is now child of the anchor tag.
  • Bug fixes:
    • Compiling TOC was buggy.
    • The rules for compiling a bookmark name were incomplete: remove HTML entities was missing.

Version 1.4.3 from 2016-04-12

  • Bug fixes
    • Images showed an ")" when no special attributes were defined.

Version 1.4.2 from 2016-04-11

  • Bug fixes
    • Numbered headers were wrong when the range feature was used.
    • MarkAPL crashed when there were no headers at all but numbering was on.

Version 1.4.1 from 2016-04-11

  • Plenty of bug fixes:
    • Special attributes on links did not always work.
    • In ordered lists sub-paragraphs were not always recognized correctly.
    • Links in a TOC were wrong when the link text started with a digit.
    • A code block in a list item with a \ at the end was handled incorrectly.

    • Complex bookmark links could go wrong.
    • SubTOCs crashed when header numbering was off.

Version 1.4.0 from 2016-04-08

  • List items can now contain not only paragraphs but also code blocks.
  • Performance improved.
  • ns.toc has an additional column 4 holding the type: 1 (for "ATX") or 2 (for SeText).

  • Documentation improved.
  • Test case added for a multi-line para with a special attributes.
  • Bug fixes:
    • In orderd lists items that were separated by blank lines were not recognized properly.
    • Escaped back-ticks were not handled correctly.

1.3.2 from 2016-03-24

  • Bug fixes:
    • ** was — wrongly — recognized only before and after words but not, for example, in **Notes:**.

    • Problem with escaped \* and \_ fixed.

1.3.1 from 2016-03-21

  • Important bug fixes:
    • Paragraphs in lists were handled wrongly under some circumstances.
    • Ordered as well as un-ordered lists were not always correctly identified.

1.3.0 from 2016-03-19

  • MarkAPL is now platform independent. However, for true platform indepence you need a proper version of APLTreeUtils as well.
  • The documentation regarding special attributes (ID and class names) was partly faulty.
  • Processing lists improved. Paragraphs can now drop back one or more levels by indentation.
  • "Loose" and "tight" lists removed.
  • Styling of the Markdown documentation improved, in partiuclar for print.
  • MarkAPL now attempts to compile all functions & operators.

  • Bug fixes:
    • Special attributes were correctly evaluated for images but not removed from the code.
    • When an embedded function returns an HTML block, no Markdown processing should take please. If it is not an HTML block then Markdown processing should take place.
    • Processing HTML blocks was buggy. HTML blocks **must** be surrounded by empty lines except <pre>, <script> and <style>.

1.2.1 from 2016-03-09

  • Paragraphs as well as list items can now have special attributes assigned.
  • Bug fixes:
    • Fenced code blocks came with two additional lines (top & bottom).

    • Handling of <pre> HTML blocks improved.

    • <<SubTopiC>> should have been truely case independent but was not.

    • Horizontal rulers weren't always recogized.

1.2.0 from 2016-03-03

  • Syntax introduced that allows embedded pieces of data (name-value pairs): [Data]:name=value

  • Documentation improved.
  • Test cases added.
  • Bug fixes:
    • Links in code within lists were wrongly converted into links.
    • Escaping { with \{ did not work.

    • Showing a back-tick within code did not always work as intended.
    • Single invalid internal link made MarkAPL crash. Several worked fine.
    • Help modified so that it can be used by Make.

1.1.1 from 2016-02-17

  • Two minor bug fixes.

MarkAPL/ProjectPage (last edited 2017-12-13 14:06:09 by KaiJaeger)