- Implemented `GET /repo-folders` to list available sub-folders in the configured repository. - Added `POST /push` to push a single page to the repository. - Introduced `POST /push-all` to push all synced pages back to the repository. - Enhanced `oribi_sync_rest_sync` to push local changes after pulling, except during dry runs. - Created `oribi_sync_push_page` and `oribi_sync_push_all` functions to handle page pushing logic. - Updated post meta on successful pushes to track last push time and SHA. - Added logging for push actions and errors. Enhance sync engine to support theme file synchronization - Added functionality to auto-apply changed theme files from the repository's theme directory. - Created `oribi_sync_apply_theme_files` to handle theme file updates during sync. - Ensured the existence of a minimal theme structure in the `ots-theme` directory. Refactor uninstall process to clean up additional post meta - Updated `uninstall.php` to remove new post meta related to push operations. - Ensured comprehensive cleanup of options and metadata upon plugin uninstallation. Introduce push client for handling page pushes to Gitea - Created `push-client.php` to encapsulate logic for pushing pages back to the Git repository. - Implemented conflict resolution by creating branches and opening pull requests when necessary. - Added helper functions for authenticated API requests to Gitea.
90 lines
1.4 KiB
CSS
90 lines
1.4 KiB
CSS
/**
|
|
* Oribi Sync — Admin styles
|
|
*/
|
|
|
|
.oribi-sync-wrap .form-table th {
|
|
width: 200px;
|
|
}
|
|
|
|
.oribi-sync-wrap .button {
|
|
margin-right: 6px;
|
|
}
|
|
|
|
.oribi-sync-wrap hr {
|
|
margin: 24px 0;
|
|
border: none;
|
|
border-top: 1px solid #ddd;
|
|
}
|
|
|
|
.oribi-sync-log td,
|
|
.oribi-sync-log th {
|
|
font-size: 13px;
|
|
padding: 6px 8px;
|
|
}
|
|
|
|
.oribi-sync-wrap details summary {
|
|
cursor: pointer;
|
|
color: #2271b1;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.oribi-sync-wrap details summary:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.oribi-sync-wrap .description code {
|
|
font-size: 12px;
|
|
}
|
|
|
|
/* ── Simplified layout ───────────────────────────────────── */
|
|
|
|
.oribi-sync-muted {
|
|
color: #646970;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.oribi-sync-error-text {
|
|
color: #d63638;
|
|
}
|
|
|
|
.oribi-sync-danger-link {
|
|
color: #d63638;
|
|
margin-left: 4px;
|
|
}
|
|
|
|
.oribi-sync-actions .button {
|
|
margin-right: 8px;
|
|
}
|
|
|
|
.oribi-sync-result-list {
|
|
list-style: disc;
|
|
padding-left: 1.5rem;
|
|
margin: 4px 0 8px;
|
|
}
|
|
|
|
.oribi-sync-pages {
|
|
max-width: 700px;
|
|
margin-top: 12px;
|
|
}
|
|
|
|
.oribi-sync-pages td form {
|
|
margin: 0;
|
|
}
|
|
|
|
.oribi-sync-pr-badge {
|
|
display: inline-block;
|
|
background: #ddf4ff;
|
|
color: #0969da;
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
padding: 1px 6px;
|
|
border-radius: 10px;
|
|
margin-left: 6px;
|
|
text-decoration: none;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.oribi-sync-pr-badge:hover {
|
|
background: #b6e3ff;
|
|
}
|