<?php
return [
    '@class' => 'Grav\\Common\\File\\CompiledYamlFile',
    'filename' => '/home/phvos/web/dedijk4.nl/public_html/user/plugins/git-sync/blueprints.yaml',
    'modified' => 1582124788,
    'data' => [
        'name' => 'Git Sync',
        'version' => '2.0.5',
        'description' => 'Allows to synchronize portions of Grav with Git Repositories (GitHub, BitBucket, GitLab)',
        'icon' => 'git',
        'author' => [
            'name' => 'Trilby Media, LLC',
            'email' => 'hello@trilby.media',
            'url' => 'http://trilby.media'
        ],
        'homepage' => 'http://trilby.media',
        'keywords' => 'grav, plugin, git, sync, github, bitbucket, gitlab',
        'issues' => 'https://github.com/trilbymedia/grav-plugin-git-sync/issues',
        'docs' => 'https://github.com/trilbymedia/grav-plugin-git-sync',
        'license' => 'MIT',
        'dependencies' => [
            0 => [
                'name' => 'grav',
                'version' => '>=1.5.0'
            ],
            1 => [
                'name' => 'form',
                'version' => '>=2.16.3'
            ]
        ],
        'form' => [
            'validation' => 'strict',
            'fields' => [
                'Basic' => [
                    'type' => 'section',
                    'title' => 'Basic Settings',
                    'underline' => true
                ],
                'enabled' => [
                    'type' => 'toggle',
                    'label' => 'Plugin Status',
                    'highlight' => 1,
                    'default' => 0,
                    'options' => [
                        1 => 'Enabled',
                        0 => 'Disabled'
                    ],
                    'validate' => [
                        'type' => 'bool'
                    ]
                ],
                'folders' => [
                    'type' => 'selectize',
                    'multiple' => true,
                    'label' => 'Folders to Sync',
                    'classes' => 'fancy',
                    'description' => 'Removing folders after they have been synced may cause undesired results.',
                    'default' => [
                        0 => 'pages'
                    ],
                    'options' => [
                        0 => 'pages',
                        1 => 'themes',
                        2 => 'plugins',
                        3 => 'config',
                        4 => 'data'
                    ],
                    'selectize' => [
                        'create' => true
                    ],
                    'validate' => [
                        'type' => 'commalist'
                    ]
                ],
                'Sync' => [
                    'type' => 'section',
                    'title' => 'Automatic Synchronization Settings',
                    'underline' => true
                ],
                'SyncNotice' => [
                    'type' => 'spacer',
                    'markdown' => true,
                    'text' => '! To improve the speed of saving pages you can disable automatic sync. Then, changes to a page will not be sent to the remote repository on every save. To sync your changes to the repository tap the GitSync button (<i class="fa fa-git"></i>) in the top left of the Administration Panel, or use the below Scheduler option to add the GitSync Syncronization Job to the Scheduler (<strong>Grav 1.6 required</strong>).
'
                ],
                'sync.on_save' => [
                    'type' => 'toggle',
                    'label' => 'Sync on Page Save',
                    'help' => 'Sync with the remote directory when a page is saved through the admin',
                    'default' => 1,
                    'highlight' => 1,
                    'options' => [
                        1 => 'PLUGIN_ADMIN.YES',
                        0 => 'PLUGIN_ADMIN.NO'
                    ],
                    'validate' => [
                        'type' => 'bool'
                    ]
                ],
                'sync.on_delete' => [
                    'type' => 'toggle',
                    'label' => 'Sync on Page Delete',
                    'help' => 'Sync with the remote directory when a page is deleted through the admin',
                    'default' => 1,
                    'highlight' => 1,
                    'options' => [
                        1 => 'PLUGIN_ADMIN.YES',
                        0 => 'PLUGIN_ADMIN.NO'
                    ],
                    'validate' => [
                        'type' => 'bool'
                    ]
                ],
                'sync.on_media' => [
                    'type' => 'toggle',
                    'label' => 'Sync on Media Changes',
                    'help' => 'Sync with the remote directory when a media is uploaded or deleted through the admin immediately (instead of only syncing when the page is saved)',
                    'default' => 1,
                    'highlight' => 1,
                    'options' => [
                        1 => 'PLUGIN_ADMIN.YES',
                        0 => 'PLUGIN_ADMIN.NO'
                    ],
                    'validate' => [
                        'type' => 'bool'
                    ]
                ],
                'sync.cron_enable' => [
                    'type' => 'toggle',
                    'label' => 'Add Sync to Scheduler',
                    'help' => 'Add GitSync Job to the Scheduler so it can automatically perform synchronization at the given time',
                    'default' => 0,
                    'highlight' => 1,
                    'options' => [
                        1 => 'PLUGIN_ADMIN.YES',
                        0 => 'PLUGIN_ADMIN.NO'
                    ],
                    'validate' => [
                        'type' => 'bool'
                    ]
                ],
                'sync.cron_at' => [
                    'type' => 'cron',
                    'label' => 'Run Sync at',
                    'help' => 'When should the Scheduler run the automatic GitSync synchronization job',
                    'default' => '0 12,23 * * *'
                ],
                'Repo' => [
                    'type' => 'section',
                    'title' => 'Git Repository Settings',
                    'underline' => true
                ],
                'local_repository' => [
                    'type' => 'hidden',
                    'multiple' => false,
                    'size' => 'medium',
                    'label' => 'Local Repository Path'
                ],
                'repository' => [
                    'type' => 'text',
                    'label' => 'Git Repository',
                    'placeholder' => 'https://github.com/user/repository.git'
                ],
                'user' => [
                    'type' => 'text',
                    'label' => 'Git User',
                    'placeholder' => 'Username, not email',
                    'autocomplete' => 'off'
                ],
                'password' => [
                    'type' => 'enc-password',
                    'label' => 'Git Password or Token',
                    'placeholder' => 'Your Git Password or Token',
                    'description' => 'Enter your password or token to encrypt and securely store it, then save the settings. It will not show up here for security reasons.',
                    'autocomplete' => 'off'
                ],
                'webhook' => [
                    'type' => 'text',
                    'label' => 'Repository Web Hook URL',
                    'placeholder' => '/_git-sync',
                    'data-default@' => '\\Grav\\Plugin\\GitSyncPlugin::generateRandomWebhook'
                ],
                'webhook_enabled' => [
                    'type' => 'toggle',
                    'label' => 'Web Hook Secret',
                    'highlight' => 1,
                    'default' => 0,
                    'options' => [
                        1 => 'Enabled',
                        0 => 'Disabled'
                    ],
                    'description' => 'With this setting enabled, only authorized webhook calls will be able to trigger a synchronization (recommended)'
                ],
                'webhook_secret' => [
                    'type' => 'text',
                    'label' => 'Repository Web Hook Secret',
                    'placeholder' => 'Your Web Hook Secret',
                    'data-default@' => '\\Grav\\Plugin\\GitSyncPlugin::generateWebhookSecret',
                    'description' => 'You can either use this randomly generated string or enter your own secret. <br /> **Bitbucket** does not yet support Webhook Secrets.',
                    'markdown' => true
                ],
                'Advanced' => [
                    'type' => 'section',
                    'title' => 'Advanced Git Settings',
                    'underline' => true
                ],
                'branch' => [
                    'type' => 'text',
                    'default' => 'master',
                    'label' => 'Local Branch',
                    'placeholder' => 'master'
                ],
                'remote.name' => [
                    'type' => 'text',
                    'default' => 'origin',
                    'label' => 'Remote Name',
                    'placeholder' => 'origin'
                ],
                'remote.branch' => [
                    'type' => 'text',
                    'default' => 'master',
                    'label' => 'Remote Branch',
                    'placeholder' => 'master'
                ],
                'git.author' => [
                    'type' => 'select',
                    'default' => 'gituser',
                    'label' => 'Commits Author',
                    'options' => [
                        'gituser' => 'Use Git User Name',
                        'gitsync' => 'Use GitSync Committer Name',
                        'gravuser' => 'Use Grav User Name',
                        'gravfull' => 'Use Grav User Full Name'
                    ]
                ],
                'git.message' => [
                    'type' => 'text',
                    'default' => '(Grav GitSync) Automatic Commit',
                    'label' => 'Commit message',
                    'placeholder' => '(Grav GitSync) Automatic Commit',
                    'help' => 'You can use {{pageTitle}} or {{pageRoute}} in your message as placeholders for the title or route of the page being saved'
                ],
                'git.name' => [
                    'type' => 'text',
                    'default' => 'GitSync',
                    'label' => 'Committer Name',
                    'placeholder' => 'GitSync'
                ],
                'git.email' => [
                    'type' => 'text',
                    'default' => 'git-sync@trilby.media',
                    'label' => 'Committer Email',
                    'placeholder' => 'git-sync@trilby.media'
                ],
                'git.bin' => [
                    'type' => 'text',
                    'default' => 'git',
                    'label' => 'Git Binary Path',
                    'help' => 'If the default `git` command doesn\'t work on your machine or if you want to specify a custom path, do it in here',
                    'placeholder' => '/usr/bin/git'
                ],
                'logging' => [
                    'type' => 'toggle',
                    'default' => 0,
                    'label' => 'Log Git Commands',
                    'help' => 'Logs git commands. Useful to debug and troubleshoot git execution',
                    'highlight' => 0,
                    'options' => [
                        1 => 'PLUGIN_ADMIN.YES',
                        0 => 'PLUGIN_ADMIN.NO'
                    ],
                    'validate' => [
                        'type' => 'bool'
                    ]
                ],
                'Actions' => [
                    'type' => 'section',
                    'title' => 'Actions',
                    'underline' => true
                ],
                '_wizard' => [
                    'type' => 'git-wizard',
                    'label' => 'Text Variable',
                    'help' => 'Text to add to the top of a page'
                ]
            ]
        ]
    ]
];
