{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "/comment/gitalk.json",
    "description": "Gitalk comment plugin configurations",
    "type": "object",
    "properties": {
        "type": {
            "type": "string",
            "const": "gitalk"
        },
        "client_id": {
            "type": "string",
            "description": "GitHub application client ID"
        },
        "client_secret": {
            "type": "string",
            "description": "GitHub application client secret"
        },
        "repo": {
            "type": "string",
            "description": "GitHub repository"
        },
        "owner": {
            "type": "string",
            "description": "GitHub repository owner. Can be personal user or organization"
        },
        "admin": {
            "type": "array",
            "description": "GitHub repository owner and collaborators. (Users who having write access to this repository)",
            "items": {
                "type": "string"
            }
        },
        "per_page": {
            "type": "number",
            "description": "Pagination size, with maximum 100",
            "default": 10,
            "nullable": true
        },
        "distraction_free_mode": {
            "type": "boolean",
            "description": "Facebook-like distraction free mode",
            "default": false,
            "nullable": true
        },
        "pager_direction": {
            "type": "string",
            "description": "Comment sorting direction, available values are `last` and `first`",
            "default": "last",
            "nullable": true
        },
        "create_issue_manually": {
            "type": "boolean",
            "description": "Create GitHub issues manually for each page",
            "default": false,
            "nullable": true
        },
        "proxy": {
            "type": "string",
            "description": "GitHub oauth request reverse proxy for CORS",
            "nullable": true
        },
        "flip_move_options": {
            "type": "object",
            "description": "Comment list animation",
            "nullable": true
        },
        "enable_hotkey": {
            "type": "boolean",
            "description": "Enable hot key (cmd|ctrl + enter) submit comment",
            "default": true,
            "nullable": true
        }
    },
    "required": [
        "type",
        "client_id",
        "client_secret",
        "repo",
        "owner",
        "admin"
    ]
}