290 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			290 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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'
 | |
|                 ]
 | |
|             ]
 | |
|         ]
 | |
|     ]
 | |
| ];
 |