Convert TOML to Wiki
Max file size 100mb.
TOML vs Wiki Format Comparison
| Aspect | TOML (Source Format) | Wiki (Target Format) |
|---|---|---|
| Format Overview |
TOML
Tom's Obvious Minimal Language
A minimal configuration file format created by Tom Preston-Werner in 2013. Designed to be easy to read with obvious semantics. Maps unambiguously to a hash table and supports typed values including strings, integers, floats, booleans, dates, arrays, and tables. Configuration Format Formally Specified |
Wiki
MediaWiki Markup Language
A markup language used by MediaWiki software powering Wikipedia and thousands of other wikis worldwide. Features a rich syntax for headings, tables, links, templates, and structured content. Designed for collaborative editing and knowledge management at scale. Markup Language Wikipedia Standard |
| Technical Specifications |
Structure: Key-value pairs with tables and arrays
Encoding: UTF-8 required Format: Plain text with minimal syntax Type System: Strings, integers, floats, booleans, dates, arrays, tables Extensions: .toml |
Structure: Tag-based markup with wiki syntax
Encoding: UTF-8 Format: Plain text with special characters Rendering: Processed by MediaWiki parser to HTML Extensions: .wiki, .mediawiki |
| Syntax Examples |
TOML configuration syntax: [service] name = "auth-api" version = "4.2.0" port = 3000 enabled = true [service.health] endpoint = "/health" interval = 30 |
MediaWiki markup syntax: == Service Configuration ==
{| class="wikitable"
! Parameter !! Value
|-
| '''Name''' || auth-api
|-
| '''Version''' || 4.2.0
|-
| '''Port''' || 3000
|-
| '''Enabled''' || true
|}
=== Health Check ===
* '''Endpoint:''' /health
* '''Interval:''' 30 seconds
|
| Content Support |
|
|
| Advantages |
|
|
| Disadvantages |
|
|
| Common Uses |
|
|
| Best For |
|
|
| Version History |
Introduced: 2013 (Tom Preston-Werner)
Current Version: TOML v1.0.0 (2021) Status: Stable, formally specified Evolution: Reached 1.0 stability milestone |
Introduced: 2002 (MediaWiki 1.0)
Current Version: MediaWiki 1.42+ Status: Active development Evolution: Continuous updates with MediaWiki |
| Software Support |
Rust: toml crate (native)
Python: tomllib (stdlib 3.11+), tomli JavaScript: @iarna/toml, toml-js Other: Go, Java, C#, Ruby libraries |
MediaWiki: Native rendering engine
Pandoc: Read/write MediaWiki format Wikipedia: Full support Other: DokuWiki, Confluence (partial) |
Why Convert TOML to Wiki?
Converting TOML configuration files to MediaWiki markup is essential for teams that maintain internal wikis for technical documentation. MediaWiki's powerful table syntax and hierarchical heading structure make it an excellent format for presenting configuration data in a structured, navigable, and searchable knowledge base that team members can collaboratively edit and maintain.
Many organizations use MediaWiki-based platforms for internal knowledge management, and configuration documentation is a critical part of operational knowledge. By converting TOML files to wiki markup, infrastructure settings, application configurations, and deployment parameters become part of the organization's searchable knowledge base, complete with version history, categories, and cross-references to related documentation.
MediaWiki's table syntax, while more verbose than some alternatives, produces beautifully formatted tables that are ideal for displaying key-value configuration data. The {| class="wikitable" |} syntax generates styled, sortable tables that clearly present configuration parameters. Combined with wiki headings for TOML sections, the resulting documentation is well-organized and easy to navigate using the automatically generated table of contents.
The conversion is particularly valuable for DevOps and SRE teams who document infrastructure-as-code configurations. When TOML files defining server settings, database parameters, or service configurations are converted to wiki pages, they become part of runbooks and operational documentation. Wiki's collaborative editing features allow team members to annotate settings, add context about why certain values were chosen, and link to related incident reports or architecture decisions.
Key Benefits of Converting TOML to Wiki:
- Knowledge Base Integration: Publish config docs directly to MediaWiki platforms
- Collaborative Editing: Team members can annotate and update documentation
- Version Tracking: Wiki history tracks all documentation changes over time
- Structured Tables: WikiTable syntax renders clean, sortable configuration tables
- Auto Table of Contents: Wiki headings generate automatic navigation
- Searchability: Configuration data becomes searchable across the entire wiki
- Cross-Referencing: Link configuration pages to related docs and runbooks
Practical Examples
Example 1: Service Configuration Wiki Page
Input TOML file (service.toml):
[service] name = "payment-gateway" version = "3.8.1" environment = "production" [service.rate_limit] requests_per_second = 1000 burst_size = 50 window = "1m"
Output Wiki file (service.wiki):
= Payment Gateway Configuration =
== Service ==
{| class="wikitable"
! Parameter !! Value !! Type
|-
| '''Name''' || payment-gateway || string
|-
| '''Version''' || 3.8.1 || string
|-
| '''Environment''' || production || string
|}
=== Rate Limiting ===
{| class="wikitable"
! Parameter !! Value
|-
| '''Requests/sec''' || 1000
|-
| '''Burst Size''' || 50
|-
| '''Window''' || 1m
|}
[[Category:Service Configuration]]
Example 2: Infrastructure Documentation
Input TOML file (infrastructure.toml):
[cluster] name = "k8s-prod-east" provider = "AWS" region = "us-east-1" node_count = 12 [cluster.resources] cpu_total = "48 vCPU" memory_total = "192 GB" storage_class = "gp3"
Output Wiki file (infrastructure.wiki):
= Kubernetes Cluster: k8s-prod-east =
== Cluster Overview ==
{| class="wikitable sortable"
! Setting !! Value
|-
| '''Provider''' || AWS
|-
| '''Region''' || us-east-1
|-
| '''Node Count''' || 12
|}
== Resources ==
* '''CPU Total:''' 48 vCPU
* '''Memory Total:''' 192 GB
* '''Storage Class:''' gp3
[[Category:Infrastructure]]
[[Category:Kubernetes]]
Example 3: Application Feature Flags
Input TOML file (features.toml):
[features] dark_mode = true beta_dashboard = false new_checkout = true api_v2 = true [features.rollout] dark_mode_percentage = 100 beta_dashboard_percentage = 0 new_checkout_percentage = 75 api_v2_percentage = 50
Output Wiki file (features.wiki):
= Feature Flags =
== Current Status ==
{| class="wikitable"
! Feature !! Enabled !! Rollout %
|-
| Dark Mode || || 100%
|-
| Beta Dashboard || || 0%
|-
| New Checkout || || 75%
|-
| API v2 || || 50%
|}
''Last updated: see wiki page history''
[[Category:Feature Flags]]
Frequently Asked Questions (FAQ)
Q: What is MediaWiki markup?
A: MediaWiki markup is the formatting language used by MediaWiki, the open-source wiki software that powers Wikipedia. It uses special characters like == for headings, ''' for bold, {| for tables, and [[ ]] for internal links. It is rendered into HTML by the MediaWiki parser for display in web browsers.
Q: Can I paste the wiki output directly into Wikipedia?
A: The wiki markup format is compatible with Wikipedia and any MediaWiki installation. However, Wikipedia has strict content guidelines, so configuration data would typically be posted to internal corporate wikis, project wikis, or documentation platforms rather than public Wikipedia.
Q: How are TOML tables converted to wiki tables?
A: TOML tables ([section]) become wiki headings (== Section ==), and key-value pairs within each table become rows in a wiki table ({| class="wikitable" ... |}). The wiki table includes a header row with column names and data rows for each configuration parameter.
Q: Does the output include wiki categories?
A: Yes, the conversion can include [[Category:...]] tags based on the TOML content, making it easy to organize configuration documentation within the wiki's category system. Categories help users find related configuration pages quickly.
Q: How are nested TOML structures handled?
A: Nested TOML tables are represented using hierarchical wiki headings (== for top level, === for sub-sections, ==== for deeper levels). This creates a natural document hierarchy with an automatically generated table of contents for easy navigation.
Q: Will the wiki tables be sortable?
A: The conversion generates tables with the "wikitable sortable" classes, which enables column sorting in MediaWiki installations. Users can click column headers to sort configuration parameters alphabetically or numerically, making it easy to find specific settings.
Q: Can I use this with DokuWiki or Confluence?
A: The output is optimized for MediaWiki syntax. DokuWiki and Confluence use different markup syntaxes. However, many wiki platforms support MediaWiki import, or you can use tools like Pandoc to convert from MediaWiki format to other wiki formats as a secondary step.
Q: How are TOML arrays of tables rendered in wiki format?
A: TOML arrays of tables ([[section]]) are rendered as repeated wiki table sections or as a single large table with multiple rows. Each table entry in the array becomes a distinct set of rows, with clear separators to distinguish between different entries in the array.