You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Daniel Asher Resnick 5a1072f6d8 Add README 1 year ago
HexGrid Remove commented code 1 year ago
svg initial commit 1 year ago
.gitignore initial commit 1 year ago
HexGrid.pm Remove commented code 1 year ago
MWTemplate.pm Gracefully handle template errors; Add diagnostics 1 year ago
README Add README 1 year ago
wiki-map.pl Add README 1 year ago

README

# 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>