### ----------------------------------------------------
### -- Raku::Pod::Render
### -- Licenses: Artistic-2.0
### -- Authors: Richard Hainsworth
### -- File: CHANGELOG.md
### ----------------------------------------------------
# Raku::Pod::Render
>Change log


# 2024-01-07 v4.10.3
*  move procedural table into main default templates from plugin

*  modify md templates to correctly output procedural table

# 2024-01-07 v4.10.2
*  fix warning in rakudoc-tables when cell empty

# 2024-01-04 v4.10.1
*  add rakudoc-table to plugins

	*  the plugin adds procedural tables as defined in RakuDoc v2 to HTML2 only

# 2023-12-22 v4.10.0
*  modify rewrite-target to produce Raku/doc   markup targets

	*  Raku has ``text `` type markup

	*  targets exclude the first elem of meta array

	*  rewrite test html/65 to cover situation

# 2023-12-16 v4.9.2
*  fix bug relating to storing targets, thus not picking up repeated heading names or preserving targets for link checking

# 2023-07-31 v4.9.1
*  `P<semantic: XXX>` injects XXX into the Table of Contents at the position in the text.

# 2023-07-28 v4.9.0
*  fix nested (and custom blocks) which were incorrectly rendering trailing lists.

*  fixed semantic blocks

*  moved VERSION DESCRIPTION AUTHOR SUMMARY into Semantic blocks, but treat them as if `:hidden` is set

*  add `semantic:` to `P<>`

# 2023-07-27 v4.8.4
*  fix table to pass on caption and target.

# 2023-07-21 v4.8.3
*  special case `=HTML` so that it is not processed like a SEMANTIC block

*  fix error arising from making heading unique, and a forward reference is made.

# 2023-07-17 v4.8.2
*  allow `=comment` in procedural table

*  disallow blocks without .name, eg., `=head` in p-tables

# 2023-07-15 v4.8.1
*  Add extra functionality to `=table` as per RakuDoc

*  Add table tests without needing HTML tests.

*  Remove embedded code test from HTML table - was marked as TODO.

*  Add BadCommand exception for when procedural table not followed by cell/row/column

*  Make automatic id's for headings unique

# 2023-07-07 v4.8.0
*  Handle SEMANTIC blocks as per RakuDoc requirements

	*  leave VERSION DESCRIPTION AUTHOR SUMMARY as before in meta part of HTML

*  add tests for undefined SEMANTIC blocks, and defined SEMANTIC block

*  add test when undefined $=pod is passed to render-block.

# 2023-06-20 v4.7.3
*  invert Changelog so top is latest.

*  throw error when one template calls another non-existent one.

# 2023-06-13 v4.7.2
*  fix formatcodes N and C to add context correctly.

# 2023-06-13 v4.7.1
*  changed internal names

	*  lexical -> block-scope

	*  enum context item InPodCode -> InCodeBlock

# 2023-06-12 v4.7.0
*  added `:cumulative-number` to header and item

*  add `:$context` to all templates, so that `:allow` can be properly accessed in templates.

# 2023-05-10 v4.6.4
*  Add node.config to parameters passed to Code

# 2023-05-09 v4.6.3
*  make `:!toc` the default for `Nested` and `Para` blocks.

*  Both `Nested` and `Para` blocks are treated as Custom block apart from this.

*  Add `:toc-caption` as a possible metadata for a block, to include that string in the TOC

# 2023-05-04 v4.6.2
*  added `:!toc` as alias to <:headlevel(0)> for named blocks

*  when --verbose is set, the Block's config data is given as well as the scope config

*  'para' & 'Para' added to custom handle so its not added to TOC.

*  error in Samples.rakudoc fixed

# 2023-05-02 v4.6.0
*  added `=input` `=nested` blocks to match Pod documentation.

*  refactored tests to take the required templates from the SetupTemplates role.

*  make tests for input/output/nested.

	*  set input / output to todo.

# 2023-04-23 v4.5.1
*  add meta to format-x, format-l and format-p to be available for template.

*  change META6 for fez review

*  change doc.perl.org to docs.raku.org in test

*  change id processing X in headers

# 2023-04-23 v4.5.0
*  add flag to glossary entry if the target is in a heading, so that the entries can be filtered out by the template if desired.

# 2023-03-17 v4.4.2
*  add tutorial text and directory based on Advent Calendar code.

*  fix error when parsing two L<> items with the same link but different texts

# 2023-02-24 v4.4.1
*  fix highlight resource name

# 2023-01-22 v4.4.0
*  add debug information to Templating

*  add separate template debug flag

*  fixing link error - external flag not being set properly

	*  Provide parameter type to template with values internal, external, local

# 2023-01-08 v4.3.4
*  add config output when verbose is on.

*  ensure file config available for source-wrap

# 2023-01-08 v4.3.3
*  guarantee empty contents when format-code has zero content, eg., `D<>`.

*  fix `=config` directive to alter lexical level, not its own.

*  add tests for config params sent to templates

# 2023-01-01 v4.3.2
*  refactor Templating to eliminate two copies of tmpl

*  include tests for remembering prior formats

*  fix Mustache renderer to work with memory variant

# 2023-01-01 v4.3.1
*  handle end of linked list better. prior returns Nil not .cell

# 2022-12-31 v4.3.0
*  add ability to remember previous templates.

	*  works and tests ok for RakuClosure. Does not work for Mustache, perhaps Binding needs adding to LinkedVals Hash???

	*  So LinkedVals Hash is only used for RakuClosures.

# 2022-12-17 v4.2.3
*  add pod-output to PodFile.gist

*  add optional length to GIST for amount of pod-output printed

	*  add test to check this.

# 2022-12-15 v4.2.2
*  fix error - namespace not in header handler.

# 2022-12-14 v4.2.1
*  add attribute to PodFile for final output so that it can be accessed later.

	*  use case: Collection plugin 'secondaries' that needs the text following a chosen header so that it can be inserted into another file.

# 2022-12-08 v4.2.0
*  make sure all necessary Pod-blocks can take :template & :name-space meta-data, and pass name-space data to template. Previously this was only done for named blocks.

*  implementing =config directive.

	*  `=config` metadata is provided to all templates as the `config` parameter.

	*  metadata for the outermost `=pod` or `=rakudoc` blocks is included in the `=config` data

*  change 'unknown-name' template so that we can format unknown format codes properly

*  change handler of FormatCode so that 'unknown-name' is called with :format-code.

*  default templates for footer needs changing to generate a time

*  default navigation template to remove tags if no TOC or Glossary.

*  include `add-plugins` to P2HTML2 so that new plugins can added to the distributed ones.

# 2022-11-27 v4.1.1
*  improve unknown-name default template

*  improve default templates

# correct

Samples.rakudoc for image

# 2022-11-15 v4.1.0
*  allow for data object to be rewritten by add-plugin. Use case: the name-space for a plugin needs to be available for the plugin's callables, as it contains config data needed by plugin callables

*  Created a Samples.rakudoc file for Rakudoc-to-html Example

*  rewrote sample plugins for HTML2 from Collection variants.

*  wrote new core plugin move-assets for HTML2 to mimic Collection render milestone functionality

*  rewrote BUILD.pm to copy all plugins from resources to a local default directory

*  basic node2html and pod2html options tested. Uses Rakuclosure, so no mustache options.

# 2022-10-x v4-0-0
*  Refactor HTML2 to

	*  rely on and accept custom plugins

	*  remove all template reliant tests to Pod-Render folder

	*  introduce Rakudoc-to-html utility to render a single Rakudoc file to html into current directory

*  Change name of MarkDown to MarkDown2

*  Change params of Link FormatCode. Now both local and internal may have targets, the template must handle both. The character # designating a target must be added by a template. Before there was a flag defining local/internal/external, a parameter for contents, and a parameter for target (the file | page name). Now there is an extra parameter `location` defining the location inside the file|page.

*  rename mandatory template `named` tp `unknown-name`, which is called when an unknown named Pod::Block is used.

*  refactor modify-templates for plugins, in order to allow for multiple templating in plugins.

	*  A plugin template file may evaluate to a hash of hashes if the key `RakuClosureTemplater` (case insensitive) exists as a first level key

	*  Each primary key then refers to a templating engine,

	*  the second level keys are the template names.

	*  a plugin's templates are only added to the instance of ProcessedPod using `modify-templates`

	*  when `modify-templates` is called for a plugin, it checks whether the default `RakuClosureTemplater` key is present.

		*  If so, the templates pointed to by `.templater.Str` in the plugin's templates are used, and if not present, then an Exception is thrown.

		*  If not, the plugin is using Rakuclosure templates, so if `.templater.Str` is not `RakuClosureTemplater` then an Exception is thrown

*  remove ExtractPod as Pod::Load is Raku canonical

# 2022-09-24 v3-8-0
*  allow rakudoc to be an alias to pod for a named block

*  make github badge changable in MarkDown

# 22-07-10 v3-7-7
*  minor changes to README, update CHANGELOG

# 22-07-09 v3-7-6
*  version bump

# head

change testing

# 22-07-08 v3-7-5
*  move to fez

# 22-06-13 v3-7-4
*  default engine set to 'rakuclosure' because crotmp fails many tests because it does not permit double html injection.

*  correction to CWTR::Hash stops failure in test suite.

# 2022-03-28 v3-7-3
*  Add a check to detect templater that looks for `_templater` in the template hash and if it exists, then it must contain the name of the templater class.

*  add test file to verify the auto-detect and `_templater` key.

*  Add `_templater` key to HTML and MarkDown renderers

*  Change behaviour of css-text. It now over-rides the css template, not the css-text template.

*  The test suite sometimes fails at or after `xt/100-html/015-css-addition.t` The tests individually pass.

*  added :type to Pod::To::HTML that indicates which templating system to use, the default is 'closure' because crotmp causes random test failures.

# 2022-02-20 v3-7-2
*  changes to way badge path is calculated, from META6.json & .github directory

*  simplified CI setup

*  modification to templates

# 2022-02-11 v3-7-1
*  Add github badge to front of a Markdown file.

*  Add TEST_OFFLINE environment flag so that tests can be run offline.

# 2022-02-11 v3-7-0
*  refactored the templating system

	*  move-templating out of ProcessedPod

	*  created an array of tests to identify the templating engine

	*  made templating engines into classes, rather than roles

*  new error occurred where role supplied a BagHash and a new did not initialise it

	*  added a method to the role to reinitialise it.

*  begun to add Cro Web templates as possible option

*  refactored the highlighting system

	*  moved highlighting from templates

	*  created possibility for alternate highlighting engine

	*  made autodetection of template engine into a role

*  refactored Exceptions, putting all exceptions associated with ProcessedPod into one file

*  refactored path names, creating `RenderPod` folder, moved files to more intuitive places

*  renamed pm6 to rakumod

*  renamed sanity tests to make order more logical, testing base roles/classes first

# 2021-04-02 v3-6-22
*  trim white space in head texts (occurs if head text is also indexed)

# 2021-03-31 v3-6-21
*  add page-data key to be passed to template 'file-wrap'. This is config in first `=pod` line.

# 2021-03-28 v3-6-20
*  add link text to link registration for improved error tracing

# 2021-03-27 v3-6-19
*  improve [](.md) handling of '::' in file part only.

*  improve test to cover new variations.

# 2021-03-25 v3-6-18
*  add change of '::' token to '/' in links. This is (previously) undocumented behaviour of [](.md)

# 2021-03-4 v3-6-17
*  correct HTML rendering of targets in local files. eg href="filen.html#internal-link"

*  change test accordingly

*  change type of templates-used in PodFile from BagHash to %, and adjust gist.

*  fixed persistent Templates-used error, not emptying.

# 2021-02-27 v3-6-16
*  moved functionality of test-templates to pm6

*  added test functions templates-present, templates-match, extra-templates-match

*  rewrite / refactor Documentation files

# 2021-02-27 v3-6-15
*  resolved issue with passing legacy css tests

# 2021-02-26 v3-6-14
*  Pod-File gist improved when templates-used is undefined.

*  test 060 improved.

# 2021-02-20 v3-6-13
*  empty BagHash of templates-used correctly with default, not Nil.

# 2021-02-02-14 v12
*  fixed non-standard FC error when not specially templated, added test.

# 2021-02-13 v11
*  added TOC functionality to Custom defined blocks

*  added documentation about TOC and also provision of plugin config data to ProcessedPod

# 2021-02-09 v10
*  to get Cro, require rakudo-star:2020.01, but that doesn't like set op (==), so use different test in test-templates

# 2021-02-5
*  bump version

*  PodFile gist written, started on ProcessedPod gist

*  fixed failing tests due to renderedtime and path changes

*  HTML2 templates improved and removed need for separate wrap-source function.

# 2021-02-02
*  refactored to move all pod-file related variables out to a class that is reinstantiated

*  changed tests because an object not a hash is returned.

*  refactored to change rules for plugin and namespaces. Plugins can add their configs to their namespace

*  namespaces cannot be written to more than once.

# 2021-02-01
*  refactoring in emit-... function.

# 2021-01-31
*  fixed test-templates, which had suffered bit-rot

*  improved test-templates, so that it now gives more feedback on template contents that are not returned

*  fixed html templates that new test-template feed-back showed were erroneous.

*  fixed and updated RakuClosureTemplates.pod6

*  bump version

# 2021-01-25
*  fix default Markdown template of metadata

*  fix default Markdown of =defn blocks

*  change Perl 6 => Raku in tests, except non-breaking space

# 2021-01-23
*  add $.templs-used to Template manager. records each time a template is used during rendering. The intention is to make the information available for debugging when dealing with multiple files.

*  test added to xt/030* for templates-used

*  extend to other named & header Pod::Blocks the ability to use another template if given as a config variable.

# 2021-01-22
*  improve css

	*  change nav ids to _TOC/_Glossary to avoid name clash with possible block names TOC or Glossary

	*  change tests of TOC and Glossary

	*  error in footnote scss

*  change templates so that no nav divs appear when no component structures have content.

# 2021-01-20
*  change META6.json to ensure module passes tests with prove6 -I.

# 2021-01-19
*  change installation default from installing highlighter to not installing highlighter

*  added utility to install highlighter post installation

# 2021-01-18
*  added CHANGELOG.pod6 / CHANGELOG.md

*  Added functionality to Unused **FormatCodes**

	*  Codes such as **L** and **X** have the form `CodeLetter<some content | data ; more data> `

	*  The `Pod::Block` then provides **some content** as `contents` and then `meta` is a list of **'data', 'more data'**

	*  This syntax is applied to all non-standard format codes

*  added new test for formatting

*  refactored tests

	*  removed meta file test to xt/ and so no need for Environment flag

	*  moved several large testing modules from test-depends to depends

*  modified xt/100-html/150* to not run unless SHELL_TEST environment set

*  spun off Extractor to a different module 'raku-pod-extraction'

	*  Changed all documentation references to Extractor

*  removal of Extractor removes dependence on GTK::Simple

	*  resolves issue regarding GTK::Simple

# 2021-01-17
*  resolved issue relating to name. Changed Pod::To::HTML to Pod::To::HTML2

# Prior to 2021-01-17


*  Module runs, passes all tests.

*  P2HTML passes all legacy tests

*  custom blocks

*  custom templates





----
Rendered from CHANGELOG at 2024-01-07T18:40:51Z


