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 5dee70cd48 Only render popups and click events for html maps 11 months ago
HexGrid Only render popups and click events for html maps 11 months ago
svg Add Paths 11 months ago
tests Add starts_from and ends_to path functionality 11 months ago
.gitignore initial commit 1 year ago
HexGrid.pm Introduce Path splintering 11 months ago
MWTemplate.pm Gracefully handle template errors; Add diagnostics 1 year ago
README.md . 1 year ago
wiki-map.pl Only render popups and click events for html maps 11 months ago

README.md

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-map.pl -o output/Map.svg --no-html --api https://vipersgate.obscuritus.ca/api.php Creates a main map as an SVG output/Map.svg
  2. perl wiki-map.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-map.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-map.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 haswill 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

--api-url:
Base URL of the wiki. Required.
Template names. Defaults to MapRegion, MapSubregion, MapLocation, MapSite.
--region-template-name
--subregion-template-name
--location-template-name
--site-template-name
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.
--border-width
Width of the border between hexes. Defaults to 1.
--border-colour
Colour of the border between hexes. Defaults to black.
--show-coords
Include coordinates in the image. If included in the html document, a checkbox to toggle their visibility is added.
Output options. See above.
--html-document
--outfile
--regiondir
Miscellanious
--embed-images
Whether or not to embed referenced images directly in the document(s), by fetching them from the wiki and base64 encoding them. Defaults to true.