The Tree of Widsdom

智慧の樹

Tutorial: Making a multi-depth OutMap


It is only when making an OutMap with multiple depths that the stamp really shines. In the previous tutorial we made a flat OutMap—that is, an OutMap linking to notes all on the same depth (as is required for originals). Let us now make a multi-depth OutMap. I’ll pick a note with reasonable complexity, the BoxPress SmartExpressions webpage:

The topmost container in this view will receive an OutMap.
The topmost container in this view will receive an OutMap.

First, we need to make the mapping playground:

Make a new note. I happen to like putting mine inside a dedicated container since these won’t be exporting.
Make a new note. I happen to like putting mine inside a dedicated container since these won’t be exporting.

Double-click it to bring your playground to the top of the Outline View . Then set its prototype to one of the MapMaker Prototypes. Since we’re going to use the OutMaker Control Panel, let’s choose outmaker_note:

Hoist and change prototype. The display expression tells you it’s an OutMaker (it is ready to display the <code>$outSource</code> and tells you the depth to which it will extract). Hit <kbd>⌘5</kbd> or  <kbd>⌥⌘X</kbd> to see the OutMaker Control Panel.
Hoist and change prototype. The display expression tells you it’s an OutMaker (it is ready to display the $outSource and tells you the depth to which it will extract). Hit ⌘5 or ⌥⌘X to see the OutMaker Control Panel.

If you like, you can switch to Map View you can verify that the necessary origin_adorn has been automatically made:

The <b>origin_adorn</b> has been automatically made.
The origin_adorn has been automatically made.

Now, go to the source container will you be OutMapping in Outline View (so you can see multiple depths), select the notes you want in the OutMap, and hit ⌘L to create aliases. Let’s make a

HOVER to see effect of making aliases.
HOVER to see effect of making aliases.

Immediately hit ⌘X to cut the aliases, and then paste them inside your Mapmaker container:

Aliases pasted inside the Mapmaker container.
Aliases pasted inside the Mapmaker container.
Add OWNPAGE to children of compiled notes
Remember that compiled children are not additionally exported as their own webpages. This is good and economical. If a note is a compiled child, clicking on it in the Imagemap will do nothing. To make sure every Imagemap button has a target, make sure every note has a webpage. Just add OWNPAGE to any compiled children that appear in your Imagemap.

While still in Outline View, invoke the OutMaker Control Panel by selecting the topmost container and hitting ⌥⌘X. Set the $outSource attribute to the original container whose descendants you are OutMapping:

Your OutMaker Control Panel with the <code>$outSource</code> named.
Your OutMaker Control Panel with the $outSource named.

Now change to Map View, select all, and run the stamp. Running the stamp with the default settings yields this:

<b>HOVER</b> to see effect of running the ^do(Stamp,
HOVER to see effect of running the stamp. Note that running this stamp removes the Bips, but none of the other SmartExpression segments.

The columns are too asymmetrical. The default value of $outRowMax doesn’t look good with 15 notes. Let’s change it to 8 and run the stamp again:

Changing the value of <code>$outRowMax</code>.
Changing the value of $outRowMax.
HOVER to see effect of running the MapMaker•OutMap stamp again, this time with $outRowMax set to 8.
HOVER to see effect of running the MapMaker•OutMap stamp again, this time with $outRowMax set to 8.

Now just adjust the origin_adorn and the structure is done:

After adjusting <b>origin_adorn</b>.
After adjusting origin_adorn.

Two stylistic problems remain. First, the SmartExpression count segment should be removed. Second, the font is scrawny and italicized. Just run one of the MapStyle stamps:

After running the <b>MapStyle•Basic</b> stamp, which improves the font display and removes the SmartExpression count segment.
After running the MapStyle•Basic stamp, which improves the font display and removes the SmartExpression count segment.
After running the <b>MapStyle•Tiles</b> stamp, which applies a different styling.
After running the MapStyle•Tiles stamp, which applies a different styling.
After running the <b>MapStyle•Plates</b> stamp, which applies yet another styling.
After running the MapStyle•Plates stamp, which applies yet another styling.

Don’t forget that you can change the $Color value for h1 (depth=1) and h2 (depth=2) notes. Here, I have set both to the palest green and yellow crayons in the Color Picker:

Giving <b>h1</b> and <b>h2</b> custom colors.
Giving h1 and h2 custom colors.
Running the <b>MapStyle•Tiles</b> or the <b>MapStyle•Tiles</b> stamp will apply the heading color options.
Running the MapStyle•Tiles or the MapStyle•Tiles stamp will apply the heading color options.

When you are happy with your work, do Edit > Copy View as Image, open the Mac OS program Preview, and do File > New from Clipboard:

After hitting <kbd>⇧⌘C</kbd>, switching to <b>Preview</b>, and then hitting <kbd>⌘N</kbd>.
After hitting ⇧⌘C, switching to Preview, and then hitting ⌘N.

Now change the Format to JPEG and save somewhere inside img/IMAGEMAPS. I’m using a subfolder here. I’m giving the file a meaningful name: SmartExpressionsTOC.jpg:

Set Format and save somewhere inside img/IMAGEMAPS/.
Set Format and save somewhere inside img/IMAGEMAPS/.

Now zoom in a bit so you can place your crop rectangle exactly on the outside of the border:

Zoom in so you can see.
Zoom in so you can see.

Then hit ⌘K to crop and ⌘S to save again:

Done!
Done!

If you look at your source notes you’ll notice that your note colors have been changed. No problem—just select them and run the stamp to return all appearance elements to their defaults:

HOVER to see effect of running the Clean•Look and Clean•DE stamps.
HOVER to see effect of running the Clean•Look and Clean•DE stamps.

Now select the Source Container and run the stamp so that you can image key attributes. Set the $blogMapView to the container’s own name, and $blogMapJPG to the name of the JPEG you cropped and saved in Preview:

Now your LinkMap will export properly.
Now your LinkMap will export properly.

Actual result

Here is the result: