NomadNet page formats Micron, Markdown, text, and HTML pages for Mesh Server. MeshChatX serves pages from a Mesh Server page node and displays them in the Nomad Network browser. Pages are fetched with the Nomad path convention /page/. Supported filenames# Extension Role .mu Micron markup (NomadNet default) .md Markdown with GitHub-flavored features via the renderer .txt Plain text with escaped HTML and preserved whitespace .html Static HTML with CSS only (see security below) If you add a page without a recognised extension, the server stores it as .mu. Filenames with other extensions (for example .exe) are rejected when saving through the API. Plain text (.txt)# Content is HTML-escaped and shown with pre-wrapped whitespace. There is no Markdown parsing on .txt pages. Markdown (.md)# Not the same engine as chat. Conversations use the lightweight MarkdownRenderer in the messaging UI. Nomad .md pages use marked with GFM-oriented rules plus sanitisation. Features and edge cases can differ between the two paths. Automated tests cover both. Authoring tips: Use ATX headings with a hash and a space before the title, for example # Title, ## Section, #### Subsection. Fenced code blocks keep indentation. Off-mesh http and https links in rendered content are removed or restricted so the preview cannot drive external navigation without mesh-style URLs. HTML (.html)# JavaScript is not executed. script tags and event-handler attributes are stripped. External resources are blocked where possible. @import and url(...) pointing at http://, https://, or protocol-relative URLs are removed from CSS. Embedded blocks are kept. Rules that target html or body are rewritten to apply to the viewer root container. Links must be mesh-style (: paths, 32-character hex prefixes, /page/..., /file/..., or # fragments) or they are removed. Images only keep data:image/... inline sources. The viewer uses a sans-serif font for HTML and Markdown so pages do not inherit Micron monospace chrome. Override colours and typography with your own CSS. Mesh Server API# POST /api/v1/page-nodes/{node_id}/pages with name and content saves a page. Invalid extensions return HTTP 400 with a short message. Optional executable marks the page as a shebang script. The node must also have executable pages enabled, or the file is served as static text. Listed pages only include files with allowed extensions in the pages/ directory. Archives# Snapshots in Archives use the same rendering pipeline as the Nomad browser. The archived page_path extension selects Micron, Markdown, text, or HTML handling. Exports keep the original extension when it is .mu, .md, .txt, or .html. See also# Nomad Network and Mesh Server for browsing and hosting workflows Architecture and design for where page nodes fit in the backend Default Nomad entry path remains /page/index.mu unless you change the URL in the browser