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 0e63a8d64f Use rlib to find module in same dir 12 months ago
HexGrid . 1 year ago
svg initial commit 1 year ago
.gitignore initial commit 1 year ago
HexGrid.pm . 1 year ago
MWTemplate.pm Gracefully handle template errors; Add diagnostics 1 year ago
README.md . 1 year ago
wiki-map.pl Use rlib to find module in same dir 12 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.