{
    "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": [
                        "automation",
                        "auth",
                        "ai",
                        "browser",
                        "development",
                        "development/oci",
                        "development/python",
                        "development/rust",
                        "development/database",
                        "development/git",
                        "crypto",
                        "communication",
                        "file-sharing",
                        "documents",
                        "social",
                        "gaming",
                        "network",
                        "location",
                        "system",
                        "system/systemd",
                        "compression",
                        "monitoring",
                        "monitoring/logs",
                        "management",
                        "media",
                        "media/3d",
                        "media/video",
                        "media/image",
                        "media/audio",
                        "vpn",
                        "osint",
                        "desktop",
                        "text",
                        "text/view",
                        "text/editor",
                        "serialization",
                        "shell",
                        "finance",
                        "backup",
                        "terminal",
                        "productivity",
                        "files",
                        "tools",
                        "nix",
                        "containers",
                        "virtualization",
                        "web",
                        "news",
                        "utility",
                        "data",
                        "development/ai",
                        "storage",
                        "containers/kubernetes"
                    ]
                },
                "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"
                    ]
                }
            }
        },
        "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": {}
        },
        "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"
        },
        "rev": {
            "title": "Revision",
            "description": "Date of last change to note",
            "type": "string",
            "format": "date"
        },
        "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"
        }
    }
}