{
    "type": "object",
    "title": "Markdown Note",
    "description": "Knowledge Base Markdown note on a topic",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
        "application": {
            "additionalProperties": false,
            "type": "object",
            "description": "an application",
            "required": [ "category" ],
            "properties": {
                "android-id": {
                    "title": "Android Application ID",
                    "description": "The Android Application ID of the note",
                    "type": "string"
                },
                "flatpak-id": {
                    "title": "Flatpak Application ID",
                    "description": "The Flatpak Application ID of the note",
                    "type": "string"
                },
                "f-droid": {
                    "title": "F-Droid Page",
                    "description": "Link to the F-Droid Page of the note",
                    "type": "string",
                    "format": "uri"
                },
                "category": {
                    "title": "Category",
                    "description": "General category of the application",
                    "type": "string",
                    "enum": [
                        "ai",
                        "auth",
                        "automation",
                        "backup",
                        "browser",
                        "communication",
                        "compression",
                        "containers",
                        "containers/kubernetes",
                        "crypto",
                        "data",
                        "desktop",
                        "development",
                        "development/ai",
                        "development/database",
                        "development/git",
                        "development/oci",
                        "development/python",
                        "development/rust",
                        "documents",
                        "files",
                        "finance",
                        "gaming",
                        "location",
                        "management",
                        "media",
                        "media/3d",
                        "media/audio",
                        "media/image",
                        "media/video",
                        "monitoring",
                        "monitoring/logs",
                        "network",
                        "news",
                        "nix",
                        "osint",
                        "productivity",
                        "serialization",
                        "shell",
                        "social",
                        "storage",
                        "system",
                        "system/systemd",
                        "terminal",
                        "text",
                        "text/editor",
                        "text/view",
                        "tools",
                        "utility",
                        "virtualization",
                        "vpn",
                        "web"
                    ]
                },
                "cli": {
                    "title": "CLI Application",
                    "description": "Wether the app is a CLI application",
                    "type": "boolean"
                },
                "gui": {
                    "title": "GUI Application",
                    "description": "Wether the app is a GUI application",
                    "type": "boolean"
                },
                "http": {
                    "title": "HTTP Application",
                    "description": "The application exposes an HTTP endpoint or is a web app",
                    "type": "boolean"
                },
                "tui": {
                    "title": "TUI Application",
                    "description": "Whether the app is a TUI application",
                    "type": "boolean"
                },
                "mobile": {
                    "title": "Mobile Application",
                    "description": "Whether the app is a mobile application",
                    "type": "boolean"
                }
            }
        },
        "operating-system": {
            "additionalProperties": false,
            "type": "object",
            "description": "an operating system",
            "properties": {
                "family": {
                    "type": "string",
                    "title": "Operating system family",
                    "description": "The operating system family tree",
                    "enum": [
                        "macos",
                        "windows",
                        "linux",
                        "android",
                        "bsd",
                        "redox"
                    ]
                }
            }
        },
        "format": {
            "type": "object",
            "additionalProperties": false,
            "description": "a file format",
            "properties": {
                "mime": {
                    "title": "MIME Type",
                    "description": "The MIME Type of the item the note is about",
                    "type": "string"
                },
                "extension": {
                    "title": "File Extension",
                    "description": "The file extension of the item the note is about",
                    "type": [
                        "string",
                        "array"
                    ],
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "filesystem": {
            "type": "object",
            "additionalProperties": false,
            "description": "a filesystem",
            "properties": {}
        },
        "concept": {
            "type": "object",
            "additionalProperties": false,
            "description": "a concept",
            "properties": {}
        },
        "element": {
            "type": "object",
            "additionalProperties": false,
            "description": "a chemical element",
            "required": [ "proton_count", "symbol", "period", "block" ],
            "properties": {
                "proton_count": {
                    "title": "Atomic Number",
                    "description": "Number of protons in the nucleus (Z)",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 118
                },
                "symbol": {
                    "title": "Symbol",
                    "description": "Chemical symbol, e.g. H or He",
                    "type": "string",
                    "pattern": "^[A-Z][a-z]?$"
                },
                "group": {
                    "title": "Group",
                    "description": "IUPAC group (1-18). Left out for the lanthanides and actinides, which belong to no group",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 18
                },
                "period": {
                    "title": "Period",
                    "description": "Row of the periodic table (1-7)",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 7
                },
                "block": {
                    "title": "Block",
                    "description": "Subshell the outermost electrons fill",
                    "type": "string",
                    "enum": [ "s", "p", "d", "f" ]
                },
                "category": {
                    "title": "Category",
                    "description": "Chemical family of the element",
                    "type": "string",
                    "enum": [
                        "alkali-metal",
                        "alkaline-earth-metal",
                        "transition-metal",
                        "post-transition-metal",
                        "metalloid",
                        "nonmetal",
                        "halogen",
                        "noble-gas",
                        "lanthanide",
                        "actinide"
                    ]
                },
                "atomic_mass": {
                    "title": "Standard Atomic Weight",
                    "description": "Standard atomic weight in daltons (u)",
                    "type": "number",
                    "exclusiveMinimum": 0
                },
                "state": {
                    "title": "State at STP",
                    "description": "Phase at standard temperature and pressure",
                    "type": "string",
                    "enum": [ "solid", "liquid", "gas" ]
                }
            }
        },
        "emulator": {
            "type": "object",
            "additionalProperties": false,
            "description": "an emulator",
            "required": [
                "target-system"
            ],
            "properties": {
                "target-system": {
                    "type": "string",
                    "title": "Target System",
                    "description": "The emulated target system",
                    "enum": [
                        "nintendo-switch",
                        "nintendo-wiiu",
                        "nintendo-wii",
                        "nintendo-ds",
                        "nintendo-3ds",
                        "nintendo-nes",
                        "nintendo-64",
                        "nintendo-gameboy-advance",
                        "playstation-2",
                        "playstation-3",
                        "playstation-4"
                    ]
                }
            }
        },
        "device": {
            "type": "object",
            "additionalProperties": false,
            "description": "a physical device",
            "required": [ "vendor" ],
            "properties": {
                "vendor": {
                    "type": "string",
                    "title": "Vendor",
                    "description": "Device vendor"
                }
            }
        },
        "meta": {
            "type": "object",
            "additionalProperties": false,
            "description": "meta information",
            "required": [ "kind" ],
            "properties": {
                "kind": {
                    "type": "string",
                    "title": "Note Kind",
                    "description": "Kind of the note",
                    "enum": [
                        "collection"
                    ]
                }
            }
        },
        "science": {
            "type": "object",
            "additionalProperties": false,
            "description": "a science note",
            "properties": {
                "unit": {
                    "type": "object",
                    "additionalProperties": false,
                    "description": "a note about a science unit",
                    "properties": {}
                }
            }
        },
        "website-meta": {
            "type": "object",
            "additionalProperties": false,
            "description": "a website",
            "required": [ "category" ],
            "properties": {
                "category": {
                    "title": "Category",
                    "description": "General category the website falls into",
                    "type": "string",
                    "enum": [
                        "server",
                        "finance",
                        "social",
                        "service",
                        "development",
                        "search",
                        "information",
                        "market",
                        "knowledge",
                        "board",
                        "company",
                        "shop",
                        "content",
                        "images",
                        "link-registry",
                        "api"
                    ]
                },
                "status": {
                    "title": "Website Status",
                    "description": "Wether the website is up or down",
                    "type": [
                        "string",
                        "null"
                    ],
                    "enum": [
                        "down",
                        "up"
                    ]
                }
            }
        },
        "website": {
            "title": "Website",
            "description": "Associated website with the note",
            "type": [
                "string",
                "array"
            ],
            "items": {
                "type": "string",
                "format": "uri"
            },
            "format": "uri"
        },
        "tags": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "title": "Note Tags",
            "description": "List of tags asssociated with the note"
        },
        "aliases": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "title": "Note Aliases",
            "description": "List of aliases of the note"
        },
        "repo": {
            "title": "Repository",
            "description": "Associated repository with the note",
            "type": [
                "string",
                "array"
            ],
            "items": {
                "type": "string",
                "format": "uri"
            },
            "format": "uri"
        },
        "source": {
            "title": "Source",
            "description": "Source the note is based on",
            "type": "string",
            "format": "uri"
        },
        "wiki": {
            "title": "Wikipedia",
            "description": "Wikipedia link about the note",
            "type": "string",
            "format": "uri"
        },
        "arch-wiki": {
            "title": "Arch Wiki",
            "description": "Arch Wiki link about the note",
            "type": "string",
            "format": "uri"
        },
        "rfc": {
            "title": "RFC",
            "description": "Link to RFC this note is about",
            "type": "string",
            "format": "uri"
        },
        "helm": {
            "title": "Helm Chart",
            "description": "Helm chart repository URL for the application",
            "type": "string",
            "format": "uri"
        }
    }
}