Why Use GeoHazardWatch?
GeoHazardWatch is a structured knowledge platform that goes far beyond plain text or standard markdown — it renders live data, enforces access control, and lets pages refer to each other automatically.
It Knows Things Plain Markdown Cannot
A standard markdown file is static. GeoHazardWatch pages are alive. This page right now knows:
- There are 133 pages in the system
- 23598 active user sessions
- The system has been running for 19h 19m
None of those values were typed by an author. Plugins pull live data from the system every time the page is viewed.
The Plugin System
Anything inside [{...}] is a plugin invocation. Plugins produce dynamic output — counters, lists, data lookups — that updates automatically without anyone editing the page.
Some useful plugins:
| Plugin | What it does |
|---|---|
[{TotalPages}] | Live page count |
[{Sessions}] | Active session count |
[{Uptime}] | Server uptime |
[{CurrentTime}] | Current date and time |
[{Index}] | Alphabetical index of all pages |
[{RecentChanges}] | Pages changed recently |
[{ReferringPagesPlugin}] | Pages that link to this page |
[{UserLookup}] | Find users by name or role |
[{ConfigAccessor key='ngdpbase.server.*'}] | Live configuration values |
[{UndefinedPages}] | Pages linked to but not yet created |
[{Search}] | Inline search widget |
[{MediaGallery}] | Embedded media gallery |
[{Slideshow}] | Converts a page into a slide presentation |
[{Counter}] | Auto-incrementing numbered list |
See Plugins for the full list.
Emoji Shortcodes
Type :smile: and get 😄. Type :rocket: and get 🚀. Emoji shortcodes work inline anywhere in page content — no copy-paste required, no image files needed.
An inline picker is available in the editor — type : and a suggestion list appears.
Smart Linking
Square brackets create links. [Page Name] links to any page by title. [text|Page Name] uses custom link text. [text|/url|target='_blank'] opens in a new tab.
The system tracks all links — the [{ReferringPagesPlugin}] at the bottom of this page is automatically populated from every other page that links here. No manual "See Also" lists needed.
Tables With Superpowers
Standard markdown tables are plain. GeoHazardWatch tables can be striped, auto-numbered, and styled:
| Column A | Column B |
|---|---|
| One | First row |
| Two | Second row |
| Three | Third row |
Auto-numbered rows:
| # | Task |
|---|---|
| 1 | Plan the content |
| 2 | Write the page |
| 3 | Publish |
Live Configuration on Pages
Use Config Accessor Plugin to display configuration values directly on a page. The value is always current — no manual updates needed:
The site name is: GeoHazardWatch
This is how system documentation stays accurate as the platform evolves.
Variables
Built-in variables render context about the current page and user:
| Variable | Output |
|---|---|
[{$pagename}] | Why Use This Platform |
[{$applicationname}] | GeoHazardWatch |
[{$currentUser}] | {$currentUser} |
Access Control Built In
Every page can restrict who sees it:
- Set an Audience (roles or usernames) to limit view access
- Add the
privatekeyword to restrict a page to its creator and admins only - Use the
accessfrontmatter field for per-action control (view, edit separately)
No external authentication plugin required — access control is part of the platform.
Page History and Versioning
Every save is a version. Any page can be rolled back to any previous state from the History view. Diffs show exactly what changed between versions.
Search
Full-text search across all pages, including keyword-based filtering. Pages tagged with User Keywords appear in filtered searches — useful for finding all pages about a topic regardless of title.
Media and Attachments
Attach files to pages. Embed images with [{Image}]. Browse the media library at /media. Thumbnails are generated automatically.
Slideshow Mode
Any page can be viewed as a presentation with [{Slideshow}]. Sections become slides. No separate presentation tool required.
Domain Addons
The platform ships with four optional domain addons that extend it for specific use cases:
| Addon | What it adds |
|---|---|
| **Calendar** | Reservation system — submit, approve, and manage time-slot bookings with email confirmations |
| **Forms** | Schema-driven forms — define fields in JSON, render on any page, collect and store submissions with email receipts |
| **Journal** | Timestamped log entries attached to any page — useful for meeting notes, maintenance logs, or activity tracking |
| **Elasticsearch** | Connects to an Elasticsearch/sist2 instance for full-text asset search across large document collections |
Addons are self-contained and optional. A site with none of these addons installed runs exactly the same core platform.
Notifications
The platform generates in-app notifications for system events — new form submissions, background job completions, and other activity. Notifications appear in the header for the current user and are stored per-user in data/notifications/.
No comments yet.