# Generate a map from specifications on a wiki

## Prereqs
The Hexgrid modules and MWTemplate modules must be in @INC

## Invoking
Writes to STDOUT by default; use `-o/--outfile <file>` to write to a `<file>` instead

The script has 2 flags controlling files generated:

* `--regiondir <dir>`: If specified, also generate maps for each region and location,
  writing them to files in <dir>. Off by default.
* `--html/--no-html`: Whether to generate (an) SVG file(s) or (an) html file(s),
  including logic for popups on clicks (currently half done). Makes html by default.

Examples of the four combinations:

1. `perl wiki-tile.pl -o output/Map.svg --no-html --regiondir output --api https://vipersgate.obscuritus.ca/api.php`
   Creates a main map as an SVG output/Map.svg
2. `perl wiki-tile.pl -o output/Map.svg --no-html --regiondir output --api https://vipersgate.obscuritus.ca/api.php`
   Creates a main map as an SVG output/Map.svg and an SVG for each region and location, also in the output dir
3. `perl wiki-tile.pl -o output/Map.html --api https://vipersgate.obscuritus.ca/api.php`
   Creates a main map with popups as output/Map.html
4. `perl wiki-tile.pl -o output/Map.html --regiondir output --api https://vipersgate.obscuritus.ca/api.php`
   Creates a main map with popups as output/Map.html and an html page for each region and location, also in the output dir

1 is intented to make just a map for the main page. Unnecessary if using 2.

2 is intended to make a map for the main page, and for each Region, Subregion and Location page.

3 is intended to be linked to and ~has~will have click-toggleable popups.

4 is an artifact of the above 3 and doesn't have intended use.

### Options
Options can be abbreviated per Getopt::Long

<dl>
  <dt> `--api-url`:</dt> <dd>Base URL of the wiki</dd>
</dl>
Template names. Defaults to MapRegion, MapSubregion, MapLocation, MapSite.
<dl>
  <dt>--region-template-name</dt><dd></dd>
  <dt>--subregion-template-name</dt><dd></dd>
  <dt>--location-template-name</dt><dd></dd>
  <dt>--site-template-name</dt><dd></dd>
</dl>
Formatting options.
The tiling module supports more overrides including per region/tile granularity.
These are not settable in the script but can be added if desired.
<dl>
  <dt>--border-width</dt><dd>Width of the border between hexes. Defaults to 1.</dd>
  <dt>--border-colour</dt><dd>Colour of the border between hexes. Defaults to black.</dd>
  <dt>--show-coords</dt>
  <dd>
    Include coordinates in the image.
    Eventual goal is to have them be toggleable in the HTML output mode.
  </dd>
</dl>
Output options. See above.
<dl>
  <dt>--html-document</dt><dd></dd>
  <dt>--outfile</dt><dd></dd>
  <dt>--regiondir</dt><dd></dd>
</dl>