FandocViewerUser Guide
Overview
FandocViewer automatically extends the capabilities of flux to show Fandoc documentation. It adds a fandoc uri scheme allowing you to navigate and view all the Fantom pod documentation and source code in your current Fantom installation. Fantom docs offline!
Try these command lines:
> flux fandoc://docLang > flux fandoc://sys > flux fandoc://afFandocViewer/ > flux fandoc://fandoc/HtmlDocWriter
Wow! It looks just like the Fantom website! And all your pods are there too! The scheme follows the format:
fandoc://${podName}/${typeName}It works by adding a web browser view to flux. That means you can also do this:
> flux http://www.alienfactory.co.uk/
See Browser for instructions on binding F5 to the refresh command.
View .fandoc Files
You can also view standard files as rendered Fandoc documents. Not only is this great for previewing SideWalk comments and Fantom documentation, but you can also save and view notes locally as plain text .fandoc files!
Use the fan:// scheme to even view .fandoc files in Pods. This makes it easy for flux applications to link, load, and view, Help pages and other documentation! Consider:
try {
...
} catch (Err r) {
flux::Frame.load(`fan://myPod/doc/help.fandoc`)
}To enable this feature, edit %FAN_HOME%/etc/sys/ext2mime.props and change the line:
fandoc=text/text; charset=utf-8
to
fandoc=text/fandoc; charset=utf-8
The ViewFandoc tool command allows you flip between editing and browsing with a single key press!
Syntax Highlighting
To enable fandoc syntax highlighting in your flux editor, edit %FAN_HOME%/etc/syntax/ext.props and add the following line:
fandoc=fandoc
Then create a new file %FAN_HOME%/etc/syntax/syntax-fandoc.fog with the following contents:
using syntax
SyntaxRules {
brackets = "[]"
comments = [" ", "##", "**", "==", "--"]
blockCommentStart = "pre>"
blockCommentEnd = "<pre"
blockCommentsNest = false
strs = [
SyntaxStr { delimiter = "`"; multiLine = true },
]
keywords = null
}In your OS associate flux with the .fandoc extension for easy editing!
Directives
Extend your rendering capabilities by defining Directive commands to be invoked during Fandoc rendering.
Release Notes
v1.0.4
- Created the pluggable Directive feature
- Added the IncludeDirective
- Added the FandocIndex tool command
v1.0.2
- Initial release
Happy Fandoc editing!