chore: 添加 Obsidian 配置与插件
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Vendored
+1
@@ -0,0 +1 @@
|
||||
{}
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"theme": "obsidian",
|
||||
"enabledCssSnippets": [
|
||||
"bases-table-readable",
|
||||
"table-dataview",
|
||||
"table-readable-global",
|
||||
"table-styles-extended",
|
||||
"table-theme-mild"
|
||||
]
|
||||
}
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
[
|
||||
"dataview",
|
||||
"obsidian-kanban",
|
||||
"bases-kanban",
|
||||
"bases-canvas",
|
||||
"obsidian-git",
|
||||
"templater-obsidian"
|
||||
]
|
||||
Vendored
+33
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"file-explorer": true,
|
||||
"global-search": true,
|
||||
"switcher": true,
|
||||
"graph": true,
|
||||
"backlink": true,
|
||||
"canvas": true,
|
||||
"outgoing-link": true,
|
||||
"tag-pane": true,
|
||||
"footnotes": false,
|
||||
"properties": true,
|
||||
"page-preview": true,
|
||||
"daily-notes": true,
|
||||
"templates": true,
|
||||
"note-composer": true,
|
||||
"command-palette": true,
|
||||
"slash-command": false,
|
||||
"editor-status": true,
|
||||
"bookmarks": true,
|
||||
"markdown-importer": false,
|
||||
"zk-prefixer": false,
|
||||
"random-note": false,
|
||||
"outline": true,
|
||||
"word-count": true,
|
||||
"slides": false,
|
||||
"audio-recorder": false,
|
||||
"workspaces": false,
|
||||
"file-recovery": true,
|
||||
"publish": false,
|
||||
"sync": true,
|
||||
"bases": true,
|
||||
"webviewer": false
|
||||
}
|
||||
Vendored
+22
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"collapse-filter": false,
|
||||
"search": "path:bible ",
|
||||
"showTags": false,
|
||||
"showAttachments": false,
|
||||
"hideUnresolved": true,
|
||||
"showOrphans": true,
|
||||
"collapse-color-groups": true,
|
||||
"colorGroups": [],
|
||||
"collapse-display": true,
|
||||
"showArrow": false,
|
||||
"textFadeMultiplier": 0,
|
||||
"nodeSizeMultiplier": 1,
|
||||
"lineSizeMultiplier": 1,
|
||||
"collapse-forces": true,
|
||||
"centerStrength": 0.518713248970312,
|
||||
"repelStrength": 10,
|
||||
"linkStrength": 1,
|
||||
"linkDistance": 250,
|
||||
"scale": 0.999999999999998,
|
||||
"close": true
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"metadataProperty": "linkTo",
|
||||
"linkMetadataEnabled": true,
|
||||
"linkMetadataProperty": "linkto",
|
||||
"nonMarkdownPositions": {},
|
||||
"autoBackupEnabled": true,
|
||||
"autoBackupFolder": "",
|
||||
"pinnedCanvases": [],
|
||||
"pinnedNodes": {}
|
||||
}
|
||||
+21
File diff suppressed because one or more lines are too long
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "bases-canvas",
|
||||
"name": "Bases Canvas",
|
||||
"version": "0.1.0",
|
||||
"minAppVersion": "1.10.0",
|
||||
"description": "Canvas integration for Bases view.",
|
||||
"author": "boninall",
|
||||
"authorUrl": "https://github.com/quorafind",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+859
@@ -0,0 +1,859 @@
|
||||
.bases-canvas-view {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.internal-embed .bases-canvas-view {
|
||||
min-height: 400px;
|
||||
}
|
||||
|
||||
.bases-view[data-view-type^="canvas-"] {
|
||||
scrollbar-gutter: unset;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.internal-embed .bases-view {
|
||||
min-height: 400px;
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.bases-canvas-view.is-sidebar-collapsed {
|
||||
gap: 0;
|
||||
}
|
||||
|
||||
.bases-canvas-view.is-sidebar-collapsed .bases-canvas-sidebar {
|
||||
transform: translateX(-100%);
|
||||
}
|
||||
|
||||
.bases-canvas-sidebar {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 240px;
|
||||
z-index: 10;
|
||||
overflow-y: auto;
|
||||
padding: var(--size-4-2) 0;
|
||||
border-right: 1px solid var(--background-modifier-border);
|
||||
background-color: var(--background-primary);
|
||||
box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
|
||||
transition: transform 0.3s ease;
|
||||
}
|
||||
|
||||
.bases-canvas-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
gap: var(--size-4-2);
|
||||
padding: 0 var(--size-4-2) var(--size-4-2);
|
||||
}
|
||||
|
||||
.bases-canvas-control {
|
||||
padding: var(--size-4-1) var(--size-4-2);
|
||||
border-radius: var(--radius-s);
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
background-color: transparent;
|
||||
color: var(--text-normal);
|
||||
cursor: pointer;
|
||||
font-size: var(--font-ui-small);
|
||||
}
|
||||
|
||||
.bases-canvas-control:hover:not([disabled]) {
|
||||
background-color: var(--background-modifier-hover);
|
||||
}
|
||||
|
||||
.bases-canvas-control[disabled] {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.bases-canvas-entry {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: var(--size-4-2);
|
||||
padding: var(--size-4-2) var(--size-4-4);
|
||||
cursor: pointer;
|
||||
border-radius: var(--radius-s);
|
||||
min-width: 0; /* 允许 flex 子元素缩小 */
|
||||
}
|
||||
|
||||
.bases-canvas-entry-text {
|
||||
flex: 1;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
min-width: 0; /* 允许文本缩小 */
|
||||
}
|
||||
|
||||
.bases-canvas-entry:is(:hover, .is-active) {
|
||||
background-color: var(--background-modifier-hover);
|
||||
}
|
||||
|
||||
.bases-canvas-entry.is-imported {
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.bases-canvas-entry-status {
|
||||
padding: 0 var(--size-4-1);
|
||||
border-radius: var(--radius-s);
|
||||
font-size: var(--font-ui-small);
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.bases-canvas-stage {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.bases-canvas-sidebar-toggle {
|
||||
position: absolute;
|
||||
top: var(--size-4-2);
|
||||
left: var(--size-4-2);
|
||||
z-index: 15;
|
||||
padding: var(--size-4-1) var(--size-4-2);
|
||||
border-radius: var(--radius-s);
|
||||
color: var(--text-normal);
|
||||
cursor: pointer;
|
||||
font-size: var(--font-ui-small);
|
||||
background-color: var(--background-primary);
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
transition: left 0.3s ease;
|
||||
}
|
||||
|
||||
.bases-canvas-sidebar-toggle:hover {
|
||||
background-color: var(--background-modifier-hover);
|
||||
}
|
||||
|
||||
.bases-canvas-host {
|
||||
flex: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.bases-canvas-host.is-hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.bases-canvas-message {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--text-muted);
|
||||
font-size: var(--font-ui-medium);
|
||||
text-align: center;
|
||||
padding: 0 var(--size-4-4);
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.bases-canvas-message.is-hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.bases-canvas-embed {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
min-width: 600px;
|
||||
min-height: 400px;
|
||||
}
|
||||
|
||||
.bases-canvas-empty {
|
||||
color: var(--text-faint);
|
||||
font-size: var(--font-ui-small);
|
||||
padding: var(--size-4-2) var(--size-4-4);
|
||||
}
|
||||
|
||||
/* 为 Obsidian 嵌入场景添加最小尺寸约束 */
|
||||
.internal-embed.bases-embed,
|
||||
.internal-embed .bases-canvas-embed,
|
||||
.interactive-child .bases-canvas-embed {
|
||||
min-width: 600px;
|
||||
min-height: 400px;
|
||||
}
|
||||
|
||||
/* ==================== Canvas List View Styles ==================== */
|
||||
|
||||
.canvas-list-view-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.canvas-list-view-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 16px 20px;
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
flex-shrink: 0;
|
||||
background-color: var(--background-secondary);
|
||||
}
|
||||
|
||||
.canvas-list-view-header .search-input-container {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.canvas-list-view-title-container {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.canvas-list-view-title {
|
||||
margin: 0;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
color: var(--text-normal);
|
||||
}
|
||||
|
||||
.canvas-list-view-actions {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.canvas-list-view-action-btn {
|
||||
padding: 6px 10px;
|
||||
border-radius: var(--radius-s);
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
background-color: transparent;
|
||||
color: var(--text-normal);
|
||||
cursor: pointer;
|
||||
transition: background-color 0.2s ease;
|
||||
}
|
||||
|
||||
.canvas-list-view-action-btn:hover {
|
||||
background-color: var(--background-modifier-hover);
|
||||
}
|
||||
|
||||
.canvas-list-view-search {
|
||||
padding: 12px 20px;
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.canvas-list-view-content {
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.canvas-list-view-loading,
|
||||
.canvas-list-view-empty,
|
||||
.canvas-list-view-error {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 40px 20px;
|
||||
color: var(--text-muted);
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.canvas-list-view-error {
|
||||
color: var(--text-error);
|
||||
}
|
||||
|
||||
/* ==================== Canvas Node List View Styles ==================== */
|
||||
|
||||
.canvas-node-list-view {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.canvas-node-list-view-header-section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
padding: 4px 16px;
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
background-color: var(--background-secondary);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.canvas-node-list-view-search-wrapper {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.canvas-node-list-view-filter-wrapper {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.canvas-node-list-view-content {
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.canvas-node-list-container {
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* ==================== Search Bar Styles ==================== */
|
||||
|
||||
.search-bar-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 8px 12px;
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
border-radius: var(--radius-m);
|
||||
background-color: var(--background-primary);
|
||||
transition: border-color 0.2s ease;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.search-bar-container:focus-within {
|
||||
border-color: var(--interactive-accent);
|
||||
box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.search-bar-icon {
|
||||
flex-shrink: 0;
|
||||
color: var(--text-muted);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.search-bar-input {
|
||||
flex: 1;
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: var(--text-normal);
|
||||
font-size: 14px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.search-bar-input::placeholder {
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.search-bar-clear {
|
||||
flex-shrink: 0;
|
||||
cursor: pointer;
|
||||
color: var(--text-muted);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
transition: color 0.2s ease;
|
||||
}
|
||||
|
||||
.search-bar-clear:hover {
|
||||
color: var(--text-normal);
|
||||
}
|
||||
|
||||
.canvas-list-view .search-input-container {
|
||||
margin-left: var(--size-4-4);
|
||||
margin-right: var(--size-4-4);
|
||||
}
|
||||
|
||||
/* ==================== Filter Bar Styles ==================== */
|
||||
|
||||
.filter-bar-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.filter-bar-type-section {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.filter-bar-type-section button.filter-button {
|
||||
display: flex !important;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 6px 12px !important;
|
||||
border-radius: var(--radius-s);
|
||||
border: 1px solid var(--background-modifier-border) !important;
|
||||
background-color: var(--background-primary) !important;
|
||||
color: var(--text-normal) !important;
|
||||
cursor: pointer;
|
||||
font-size: 13px;
|
||||
transition: all 0.2s ease;
|
||||
white-space: nowrap;
|
||||
box-shadow: none !important;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.filter-bar-type-section button.filter-button:hover {
|
||||
background-color: var(--background-modifier-hover) !important;
|
||||
border-color: var(--interactive-accent) !important;
|
||||
}
|
||||
|
||||
.filter-bar-type-section button.filter-button.is-active {
|
||||
background-color: var(--interactive-accent) !important;
|
||||
color: var(--text-on-accent) !important;
|
||||
border-color: var(--interactive-accent) !important;
|
||||
font-weight: 500;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.filter-button-icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.filter-button-label {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* ==================== Color Filter Styles ==================== */
|
||||
|
||||
.filter-bar-color-section {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
flex-wrap: wrap;
|
||||
margin-left: 12px;
|
||||
padding-left: 12px;
|
||||
border-left: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
/* Use Obsidian's native canvas color picker styles */
|
||||
.filter-bar-color-section .canvas-color-picker-item.is-active {
|
||||
outline: 2px solid var(--interactive-accent) !important;
|
||||
outline-offset: 2px !important;
|
||||
}
|
||||
|
||||
/* ==================== Canvas Card Styles ==================== */
|
||||
|
||||
.canvas-card {
|
||||
background-color: var(--background-primary);
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
border-radius: var(--radius-m);
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.canvas-card:hover {
|
||||
border-color: var(--interactive-accent);
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.canvas-card.is-pinned {
|
||||
border-color: var(--color-accent);
|
||||
background-color: var(--background-primary-alt);
|
||||
}
|
||||
|
||||
.canvas-card-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: var(--size-2-3) var(--size-4-3);
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.canvas-card-title {
|
||||
flex: 1;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
color: var(--text-normal);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.canvas-card-pin-icon {
|
||||
opacity: 0;
|
||||
flex-shrink: 0;
|
||||
color: var(--text-muted);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 4px;
|
||||
border-radius: var(--radius-s);
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.canvas-card-pin-icon:hover {
|
||||
background-color: var(--background-modifier-hover);
|
||||
color: var(--text-normal);
|
||||
}
|
||||
|
||||
.canvas-card:hover .canvas-card-pin-icon {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.canvas-card.is-pinned .canvas-card-pin-icon {
|
||||
color: var(--color-accent);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.canvas-card-preview {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 180px;
|
||||
overflow: hidden;
|
||||
background-color: var(--background-secondary);
|
||||
|
||||
padding-top: var(--size-4-3);
|
||||
}
|
||||
|
||||
.canvas-preview-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
justify-content: stretch;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.canvas-preview-placeholder,
|
||||
.canvas-preview-error {
|
||||
color: var(--text-muted);
|
||||
font-size: 13px;
|
||||
text-align: center;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.canvas-svg-preview {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
.canvas-svg-preview-node rect {
|
||||
rx: var(--radius-s);
|
||||
ry: var(--radius-s);
|
||||
transition: transform 120ms ease, stroke 120ms ease;
|
||||
|
||||
fill: var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.canvas-svg-preview-node.is-interactive {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.canvas-svg-preview-node.is-interactive:hover rect {
|
||||
transform: translateY(-1px);
|
||||
stroke: var(--interactive-accent);
|
||||
}
|
||||
|
||||
/* Highlighted nodes (matching search query) */
|
||||
.canvas-svg-preview-node.is-highlighted rect {
|
||||
stroke: var(--interactive-accent);
|
||||
stroke-width: 3;
|
||||
filter: drop-shadow(0 0 4px var(--interactive-accent));
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.canvas-svg-preview-node-label {
|
||||
font-size: 12px;
|
||||
fill: var(--text-normal);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.canvas-svg-preview-edge {
|
||||
stroke-width: 1.5;
|
||||
opacity: 0.65;
|
||||
}
|
||||
|
||||
.canvas-svg-preview-edge-label {
|
||||
font-size: 11px;
|
||||
fill: var(--text-muted);
|
||||
text-anchor: middle;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.canvas-svg-preview-popover {
|
||||
max-width: 320px;
|
||||
max-height: 260px;
|
||||
overflow: auto;
|
||||
padding: 8px 10px;
|
||||
font-size: 12px;
|
||||
line-height: 1.4;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.canvas-svg-preview-popover.is-loading {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.canvas-svg-preview-popover-content > :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.canvas-svg-preview-popover-content > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.canvas-card-footer {
|
||||
padding: 10px 16px;
|
||||
font-size: 12px;
|
||||
color: var(--text-muted);
|
||||
background-color: var(--background-secondary);
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.canvas-card-footer-left {
|
||||
/* Left side: total node count */
|
||||
}
|
||||
|
||||
.canvas-card-footer-right {
|
||||
/* Right side: matched node count */
|
||||
color: var(--interactive-accent);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* ==================== Node Card Styles ==================== */
|
||||
|
||||
.node-card {
|
||||
background-color: var(--background-primary);
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
border-radius: var(--radius-m);
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
max-height: 600px;
|
||||
}
|
||||
|
||||
.node-card:hover {
|
||||
border-color: var(--interactive-accent);
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.node-card.is-pinned {
|
||||
border-color: var(--color-accent);
|
||||
background-color: var(--background-primary-alt);
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.node-card-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 12px;
|
||||
padding: var(--size-2-2) var(--size-4-3);
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
background-color: var(--background-secondary);
|
||||
}
|
||||
|
||||
.node-card:hover .node-card-pin-icon {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.node-card-type-badge {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 4px 8px;
|
||||
border-radius: var(--radius-s);
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.node-card-type-badge-file {
|
||||
background-color: rgba(91, 141, 239, 0.15);
|
||||
color: #5b8def;
|
||||
}
|
||||
|
||||
.node-card-type-badge-text {
|
||||
background-color: rgba(108, 191, 125, 0.15);
|
||||
color: #6cbf7d;
|
||||
}
|
||||
|
||||
.node-card-type-badge-group {
|
||||
background-color: rgba(157, 123, 230, 0.15);
|
||||
color: #9d7be6;
|
||||
}
|
||||
|
||||
.node-card-type-badge-link {
|
||||
background-color: rgba(241, 168, 91, 0.15);
|
||||
color: #f1a85b;
|
||||
}
|
||||
|
||||
.node-card-icon {
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.node-card-type-label {
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.node-card-pin-icon {
|
||||
flex-shrink: 0;
|
||||
color: var(--text-muted);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 6px;
|
||||
border-radius: var(--radius-s);
|
||||
transition: all 0.2s ease;
|
||||
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.node-card-pin-icon:hover {
|
||||
background-color: var(--background-modifier-hover);
|
||||
color: var(--text-normal);
|
||||
}
|
||||
|
||||
.node-card.is-pinned .node-card-pin-icon {
|
||||
color: var(--color-accent);
|
||||
}
|
||||
|
||||
.node-card-content {
|
||||
padding: 16px;
|
||||
flex: 1;
|
||||
min-height: 60px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.node-card-content:has(.special-node) {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.node-card-content-inner {
|
||||
color: var(--text-normal);
|
||||
font-size: 14px;
|
||||
line-height: 1.6;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.node-card-content-inner > * {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.node-card-content-inner > * + * {
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.node-card-content-inner p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.node-card-content-inner ul,
|
||||
.node-card-content-inner ol {
|
||||
margin: 0;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
.node-card-content-inner code {
|
||||
font-size: 13px;
|
||||
background-color: var(--background-secondary);
|
||||
padding: 2px 4px;
|
||||
border-radius: var(--radius-s);
|
||||
}
|
||||
|
||||
.node-card-content-inner pre {
|
||||
margin: 0;
|
||||
padding: 8px;
|
||||
background-color: var(--background-secondary);
|
||||
border-radius: var(--radius-s);
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.node-card-content-inner pre code {
|
||||
background-color: transparent;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.node-card-file-link {
|
||||
color: var(--text-accent);
|
||||
font-weight: 500;
|
||||
text-decoration: none;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.node-card-file-link:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.node-card-footer {
|
||||
padding: 10px 16px;
|
||||
font-size: 12px;
|
||||
color: var(--text-muted);
|
||||
background-color: var(--background-secondary);
|
||||
border-top: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.node-card-source {
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
/* Node type specific background accents */
|
||||
.node-card-file .node-card-content {
|
||||
background-color: rgba(91, 141, 239, 0.02);
|
||||
}
|
||||
|
||||
.node-card-text .node-card-content {
|
||||
background-color: rgba(108, 191, 125, 0.02);
|
||||
}
|
||||
|
||||
.node-card-group .node-card-content {
|
||||
background-color: rgba(157, 123, 230, 0.02);
|
||||
}
|
||||
|
||||
.node-card-link .node-card-content {
|
||||
background-color: rgba(241, 168, 91, 0.02);
|
||||
}
|
||||
|
||||
.canvas-svg-preview-popover {
|
||||
max-height: 500px;
|
||||
}
|
||||
|
||||
/* ==================== Responsive Design ==================== */
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.canvas-list-view-header,
|
||||
.canvas-node-list-view-header {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.canvas-list-view-title,
|
||||
.canvas-node-list-view-title {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.canvas-card-preview {
|
||||
height: 140px;
|
||||
}
|
||||
|
||||
.filter-bar-type-section {
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.filter-bar-type-section button.filter-button {
|
||||
padding: 5px 10px !important;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
Vendored
+20876
File diff suppressed because one or more lines are too long
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "dataview",
|
||||
"name": "Dataview",
|
||||
"version": "0.5.68",
|
||||
"minAppVersion": "0.13.11",
|
||||
"description": "Complex data views for the data-obsessed.",
|
||||
"author": "Michael Brenan <blacksmithgu@gmail.com>",
|
||||
"authorUrl": "https://github.com/blacksmithgu",
|
||||
"helpUrl": "https://blacksmithgu.github.io/obsidian-dataview/",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+141
@@ -0,0 +1,141 @@
|
||||
.block-language-dataview {
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
/*****************/
|
||||
/** Table Views **/
|
||||
/*****************/
|
||||
|
||||
/* List View Default Styling; rendered internally as a table. */
|
||||
.table-view-table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.table-view-table > thead > tr, .table-view-table > tbody > tr {
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.table-view-table > tbody > tr:hover {
|
||||
background-color: var(--table-row-background-hover);
|
||||
}
|
||||
|
||||
.table-view-table > thead > tr > th {
|
||||
font-weight: 700;
|
||||
font-size: larger;
|
||||
border-top: none;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
border-bottom: solid;
|
||||
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.table-view-table > tbody > tr > td {
|
||||
text-align: left;
|
||||
border: none;
|
||||
font-weight: 400;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.table-view-table ul, .table-view-table ol {
|
||||
margin-block-start: 0.2em !important;
|
||||
margin-block-end: 0.2em !important;
|
||||
}
|
||||
|
||||
/** Rendered value styling for any view. */
|
||||
.dataview-result-list-root-ul {
|
||||
padding: 0em !important;
|
||||
margin: 0em !important;
|
||||
}
|
||||
|
||||
.dataview-result-list-ul {
|
||||
margin-block-start: 0.2em !important;
|
||||
margin-block-end: 0.2em !important;
|
||||
}
|
||||
|
||||
/** Generic grouping styling. */
|
||||
.dataview.result-group {
|
||||
padding-left: 8px;
|
||||
}
|
||||
|
||||
/*******************/
|
||||
/** Inline Fields **/
|
||||
/*******************/
|
||||
|
||||
.dataview.inline-field-key {
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
font-family: var(--font-monospace);
|
||||
background-color: var(--background-primary-alt);
|
||||
color: var(--nav-item-color-selected);
|
||||
}
|
||||
|
||||
.dataview.inline-field-value {
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
font-family: var(--font-monospace);
|
||||
background-color: var(--background-secondary-alt);
|
||||
color: var(--nav-item-color-selected);
|
||||
}
|
||||
|
||||
.dataview.inline-field-standalone-value {
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
font-family: var(--font-monospace);
|
||||
background-color: var(--background-secondary-alt);
|
||||
color: var(--nav-item-color-selected);
|
||||
}
|
||||
|
||||
/***************/
|
||||
/** Task View **/
|
||||
/***************/
|
||||
|
||||
.dataview.task-list-item, .dataview.task-list-basic-item {
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
transition: 0.4s;
|
||||
}
|
||||
|
||||
.dataview.task-list-item:hover, .dataview.task-list-basic-item:hover {
|
||||
background-color: var(--text-selection);
|
||||
box-shadow: -40px 0 0 var(--text-selection);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/*****************/
|
||||
/** Error Views **/
|
||||
/*****************/
|
||||
|
||||
div.dataview-error-box {
|
||||
width: 100%;
|
||||
min-height: 150px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border: 4px dashed var(--background-secondary);
|
||||
}
|
||||
|
||||
.dataview-error-message {
|
||||
color: var(--text-muted);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/*************************/
|
||||
/** Additional Metadata **/
|
||||
/*************************/
|
||||
|
||||
.dataview.small-text {
|
||||
font-size: smaller;
|
||||
color: var(--text-muted);
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.dataview.small-text::before {
|
||||
content: "(";
|
||||
}
|
||||
|
||||
.dataview.small-text::after {
|
||||
content: ")";
|
||||
}
|
||||
+10
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"id": "bases-kanban",
|
||||
"name": "Bases Kanban",
|
||||
"version": "0.1.1",
|
||||
"minAppVersion": "1.10.0",
|
||||
"description": "Adds a kanban layout to Bases.",
|
||||
"author": "ewerx",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+490
@@ -0,0 +1,490 @@
|
||||
/*
|
||||
* Bases Kanban Plugin Styles
|
||||
*/
|
||||
|
||||
/* CSS Variables for theming */
|
||||
body {
|
||||
--kanban-column-width: 280px;
|
||||
--kanban-column-gap: var(--size-4-3);
|
||||
--kanban-card-gap: var(--size-4-2);
|
||||
--kanban-column-bg: var(--background-secondary);
|
||||
--kanban-card-bg: var(--background-primary);
|
||||
--kanban-card-border: var(--background-modifier-border);
|
||||
--kanban-header-color: var(--text-muted);
|
||||
}
|
||||
|
||||
/* Main container - no vertical overflow, only horizontal */
|
||||
.bases-kanban-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
padding: var(--size-4-3);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
/* Placeholder message */
|
||||
.bases-kanban-placeholder {
|
||||
color: var(--text-muted);
|
||||
font-style: italic;
|
||||
padding: var(--size-4-4);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Kanban board - horizontal scroll only */
|
||||
.bases-kanban-board {
|
||||
display: flex;
|
||||
gap: var(--kanban-column-gap);
|
||||
height: 100%;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
padding-bottom: var(--size-4-3);
|
||||
flex: 1;
|
||||
min-height: 0; /* Important for flex children to shrink */
|
||||
}
|
||||
|
||||
/* Individual column - fixed height, internal scroll */
|
||||
.bases-kanban-column {
|
||||
flex: 0 0 var(--kanban-column-width);
|
||||
min-width: var(--kanban-column-width);
|
||||
max-width: var(--kanban-column-width);
|
||||
background-color: var(--kanban-column-bg);
|
||||
border-radius: var(--radius-m);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Column header - always visible at top */
|
||||
.bases-kanban-column-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: var(--size-4-2) var(--size-4-3);
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
background-color: var(--kanban-column-bg);
|
||||
border-radius: var(--radius-m) var(--radius-m) 0 0;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.bases-kanban-header-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--size-4-2);
|
||||
min-width: 0;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.bases-kanban-header-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--size-2-1);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.bases-kanban-column-header h3 {
|
||||
margin: 0;
|
||||
font-size: var(--font-ui-medium);
|
||||
font-weight: var(--font-semibold);
|
||||
color: var(--text-normal);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.bases-kanban-no-value-title {
|
||||
color: var(--text-muted);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.bases-kanban-column-count {
|
||||
font-size: var(--font-ui-smaller);
|
||||
color: var(--kanban-header-color);
|
||||
background-color: var(--background-modifier-hover);
|
||||
padding: 2px 8px;
|
||||
border-radius: var(--radius-s);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* Header action buttons */
|
||||
.bases-kanban-add-card-btn,
|
||||
.bases-kanban-set-property-btn {
|
||||
padding: var(--size-2-1);
|
||||
border-radius: var(--radius-s);
|
||||
opacity: 0.7;
|
||||
transition: opacity 0.15s ease, background-color 0.15s ease;
|
||||
}
|
||||
|
||||
.bases-kanban-add-card-btn:hover,
|
||||
.bases-kanban-set-property-btn:hover {
|
||||
opacity: 1;
|
||||
background-color: var(--background-modifier-hover);
|
||||
}
|
||||
|
||||
.bases-kanban-set-property-btn {
|
||||
color: var(--text-accent);
|
||||
}
|
||||
|
||||
/* Cards container - scrolls independently */
|
||||
.bases-kanban-cards {
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
padding: var(--size-4-2);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--kanban-card-gap);
|
||||
min-height: 0; /* Important for scroll to work */
|
||||
}
|
||||
|
||||
/* Individual card */
|
||||
.bases-kanban-card {
|
||||
background-color: var(--kanban-card-bg);
|
||||
border: 1px solid var(--kanban-card-border);
|
||||
border-radius: var(--radius-s);
|
||||
padding: var(--size-4-2) var(--size-4-3);
|
||||
cursor: pointer;
|
||||
transition: box-shadow 0.15s ease, border-color 0.15s ease;
|
||||
}
|
||||
|
||||
.bases-kanban-card:hover {
|
||||
border-color: var(--background-modifier-border-hover);
|
||||
box-shadow: var(--shadow-s);
|
||||
}
|
||||
|
||||
/* Card title */
|
||||
.bases-kanban-card-title {
|
||||
font-size: var(--font-ui-small);
|
||||
font-weight: var(--font-medium);
|
||||
color: var(--text-normal);
|
||||
}
|
||||
|
||||
.bases-kanban-card-title a {
|
||||
color: var(--text-normal);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.bases-kanban-card-title a:hover {
|
||||
color: var(--text-accent);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* Card properties */
|
||||
.bases-kanban-card-properties {
|
||||
margin-top: var(--size-4-2);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--size-2-1);
|
||||
}
|
||||
|
||||
.bases-kanban-property-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--size-2-2);
|
||||
font-size: var(--font-ui-smaller);
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.bases-kanban-property-icon {
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
--icon-size: 14px;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.bases-kanban-property-value {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
/* Add column button */
|
||||
.bases-kanban-add-column {
|
||||
flex: 0 0 var(--kanban-column-width);
|
||||
min-width: var(--kanban-column-width);
|
||||
max-width: var(--kanban-column-width);
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: center;
|
||||
padding-top: var(--size-4-2);
|
||||
}
|
||||
|
||||
.bases-kanban-add-column-btn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--size-2-2);
|
||||
padding: var(--size-4-2) var(--size-4-3);
|
||||
border-radius: var(--radius-m);
|
||||
background-color: transparent;
|
||||
border: 2px dashed var(--background-modifier-border);
|
||||
color: var(--text-muted);
|
||||
cursor: pointer;
|
||||
transition: all 0.15s ease;
|
||||
font-size: var(--font-ui-small);
|
||||
width: 100%;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.bases-kanban-add-column-btn:hover {
|
||||
background-color: var(--background-modifier-hover);
|
||||
border-color: var(--text-muted);
|
||||
color: var(--text-normal);
|
||||
}
|
||||
|
||||
/* View container styling for Bases */
|
||||
.bases-view[data-view-type="kanban"] {
|
||||
--bases-view-padding: 0;
|
||||
}
|
||||
|
||||
/* Embedded view height */
|
||||
.bases-embed .bases-kanban-container,
|
||||
.block-language-base .bases-kanban-container {
|
||||
min-height: 300px;
|
||||
max-height: 500px;
|
||||
}
|
||||
|
||||
/* Full page view */
|
||||
.workspace-leaf-content[data-type="bases"] .bases-kanban-container {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* Scrollbar styling for cards container */
|
||||
.bases-kanban-cards::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.bases-kanban-cards::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.bases-kanban-cards::-webkit-scrollbar-thumb {
|
||||
background-color: var(--scrollbar-thumb-bg);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.bases-kanban-cards::-webkit-scrollbar-thumb:hover {
|
||||
background-color: var(--scrollbar-active-thumb-bg);
|
||||
}
|
||||
|
||||
/* Scrollbar for board horizontal scroll */
|
||||
.bases-kanban-board::-webkit-scrollbar {
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
.bases-kanban-board::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.bases-kanban-board::-webkit-scrollbar-thumb {
|
||||
background-color: var(--scrollbar-thumb-bg);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.bases-kanban-board::-webkit-scrollbar-thumb:hover {
|
||||
background-color: var(--scrollbar-active-thumb-bg);
|
||||
}
|
||||
|
||||
/* Modal styles */
|
||||
.bases-kanban-modal {
|
||||
max-width: 400px;
|
||||
}
|
||||
|
||||
.bases-kanban-modal h3 {
|
||||
margin: 0 0 var(--size-4-3) 0;
|
||||
}
|
||||
|
||||
.bases-kanban-modal h4 {
|
||||
margin: var(--size-4-3) 0 var(--size-4-2) 0;
|
||||
font-size: var(--font-ui-small);
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.bases-kanban-add-column-modal {
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
.bases-kanban-file-list {
|
||||
max-height: 300px;
|
||||
overflow-y: auto;
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
border-radius: var(--radius-s);
|
||||
padding: var(--size-4-2);
|
||||
margin-bottom: var(--size-4-3);
|
||||
}
|
||||
|
||||
.bases-kanban-file-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--size-4-2);
|
||||
padding: var(--size-2-2) 0;
|
||||
}
|
||||
|
||||
.bases-kanban-file-item:not(:last-child) {
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.bases-kanban-file-item label {
|
||||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.bases-kanban-file-item input[type="checkbox"] {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* ==================== Drag & Drop Styles ==================== */
|
||||
|
||||
/* Drag handle in column header */
|
||||
.bases-kanban-drag-handle {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
--icon-size: 14px;
|
||||
color: var(--text-faint);
|
||||
opacity: 0;
|
||||
cursor: grab;
|
||||
transition: opacity 0.15s ease, color 0.15s ease;
|
||||
flex-shrink: 0;
|
||||
margin-right: var(--size-2-1);
|
||||
}
|
||||
|
||||
.bases-kanban-column-header:hover .bases-kanban-drag-handle {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.bases-kanban-drag-handle:hover {
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.bases-kanban-drag-handle:active {
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
/* Draggable elements */
|
||||
.bases-kanban-draggable {
|
||||
cursor: grab;
|
||||
}
|
||||
|
||||
.bases-kanban-draggable:active {
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
/* Element being dragged */
|
||||
.bases-kanban-dragging {
|
||||
opacity: 0.5;
|
||||
transform: scale(0.98);
|
||||
box-shadow: var(--shadow-l);
|
||||
}
|
||||
|
||||
.bases-kanban-column.bases-kanban-dragging {
|
||||
background-color: var(--background-secondary-alt);
|
||||
}
|
||||
|
||||
.bases-kanban-card.bases-kanban-dragging {
|
||||
background-color: var(--background-primary-alt);
|
||||
}
|
||||
|
||||
/* Drag over state for columns */
|
||||
.bases-kanban-column.bases-kanban-drag-over {
|
||||
background-color: var(--background-modifier-hover);
|
||||
outline: 2px dashed var(--interactive-accent);
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
/* Cards container drop zone active */
|
||||
.bases-kanban-cards.bases-kanban-drop-zone-active {
|
||||
background-color: var(--background-modifier-hover);
|
||||
outline: 2px dashed var(--interactive-accent);
|
||||
outline-offset: -4px;
|
||||
border-radius: var(--radius-s);
|
||||
}
|
||||
|
||||
/* Drop indicator line */
|
||||
.bases-kanban-drop-indicator {
|
||||
position: absolute;
|
||||
background-color: var(--interactive-accent);
|
||||
border-radius: 2px;
|
||||
pointer-events: none;
|
||||
z-index: 100;
|
||||
transition: top 0.1s ease, left 0.1s ease;
|
||||
display: none;
|
||||
/* Positioning via CSS custom properties */
|
||||
top: var(--indicator-top);
|
||||
left: var(--indicator-left);
|
||||
width: var(--indicator-width);
|
||||
height: var(--indicator-height);
|
||||
}
|
||||
|
||||
.bases-kanban-drop-indicator.is-visible {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Column drop indicator - vertical line */
|
||||
.bases-kanban-drop-indicator-column {
|
||||
width: 4px;
|
||||
box-shadow: 0 0 8px var(--interactive-accent);
|
||||
}
|
||||
|
||||
/* Card drop indicator - horizontal line */
|
||||
.bases-kanban-drop-indicator-card {
|
||||
height: 4px;
|
||||
box-shadow: 0 0 8px var(--interactive-accent);
|
||||
}
|
||||
|
||||
/* Make board position relative for absolute positioning of drop indicator */
|
||||
.bases-kanban-board {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Make cards container position relative for card drop indicators */
|
||||
.bases-kanban-cards {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Card draggable cursor */
|
||||
.bases-kanban-card {
|
||||
cursor: grab;
|
||||
}
|
||||
|
||||
.bases-kanban-card:active {
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
/* Prevent text selection during drag */
|
||||
.bases-kanban-board.dragging-active {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/* Smooth transitions for cards and columns moving */
|
||||
.bases-kanban-column {
|
||||
transition: transform 0.2s ease, opacity 0.2s ease;
|
||||
}
|
||||
|
||||
.bases-kanban-card {
|
||||
transition: transform 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease,
|
||||
border-color 0.15s ease;
|
||||
}
|
||||
|
||||
/* Highlight effect when card/column is dropped */
|
||||
@keyframes kanban-drop-highlight {
|
||||
0% {
|
||||
box-shadow: 0 0 0 3px var(--interactive-accent);
|
||||
}
|
||||
100% {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
.bases-kanban-just-dropped {
|
||||
animation: kanban-drop-highlight 0.5s ease-out;
|
||||
}
|
||||
+452
File diff suppressed because one or more lines are too long
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"author": "Vinzent",
|
||||
"authorUrl": "https://github.com/Vinzent03",
|
||||
"id": "obsidian-git",
|
||||
"name": "Git",
|
||||
"description": "Integrate Git version control with automatic backup and other advanced features.",
|
||||
"isDesktopOnly": false,
|
||||
"fundingUrl": "https://ko-fi.com/vinzent",
|
||||
"version": "2.37.1"
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
|
||||
PROMPT="$1"
|
||||
TEMP_FILE="$OBSIDIAN_GIT_CREDENTIALS_INPUT"
|
||||
|
||||
cleanup() {
|
||||
rm -f "$TEMP_FILE" "$TEMP_FILE.response"
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
echo "$PROMPT" > "$TEMP_FILE"
|
||||
|
||||
while [ ! -e "$TEMP_FILE.response" ]; do
|
||||
if [ ! -e "$TEMP_FILE" ]; then
|
||||
echo "Trigger file got removed: Abort" >&2
|
||||
exit 1
|
||||
fi
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
RESPONSE=$(cat "$TEMP_FILE.response")
|
||||
|
||||
echo "$RESPONSE"
|
||||
+705
@@ -0,0 +1,705 @@
|
||||
@keyframes loading {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.git-signs-gutter {
|
||||
.cm-gutterElement {
|
||||
/* Needed to align the sign properly for different line heigts. Such as
|
||||
* when having a heading or list item.
|
||||
*/
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="git-view"] .button-border {
|
||||
border: 2px solid var(--interactive-accent);
|
||||
border-radius: var(--radius-s);
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="git-view"] .view-content {
|
||||
padding-left: 0;
|
||||
padding-top: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="git-history-view"] .view-content {
|
||||
padding-left: 0;
|
||||
padding-top: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.loading {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.loading > svg {
|
||||
animation: 2s linear infinite loading;
|
||||
transform-origin: 50% 50%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.obsidian-git-center {
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.obsidian-git-textarea {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.obsidian-git-disabled {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.obsidian-git-center-button {
|
||||
display: block;
|
||||
margin: 20px auto;
|
||||
}
|
||||
|
||||
.tooltip.mod-left {
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
.tooltip.mod-right {
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
/* Limits the scrollbar to the view body */
|
||||
.git-view {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.git-tools {
|
||||
display: flex;
|
||||
margin-left: auto;
|
||||
}
|
||||
.git-tools .type {
|
||||
padding-left: var(--size-2-1);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 11px;
|
||||
}
|
||||
|
||||
.git-tools .type[data-type="M"] {
|
||||
color: orange;
|
||||
}
|
||||
.git-tools .type[data-type="D"] {
|
||||
color: red;
|
||||
}
|
||||
.git-tools .buttons {
|
||||
display: flex;
|
||||
}
|
||||
.git-tools .buttons > * {
|
||||
padding: 0 0;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="git-view"] .tree-item-self,
|
||||
.workspace-leaf-content[data-type="git-history-view"] .tree-item-self {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="git-view"]
|
||||
.tree-item-self:hover
|
||||
.clickable-icon,
|
||||
.workspace-leaf-content[data-type="git-history-view"]
|
||||
.tree-item-self:hover
|
||||
.clickable-icon {
|
||||
color: var(--icon-color-hover);
|
||||
}
|
||||
|
||||
/* Highlight an item as active if it's diff is currently opened */
|
||||
.is-active .git-tools .buttons > * {
|
||||
color: var(--nav-item-color-active);
|
||||
}
|
||||
|
||||
.git-author {
|
||||
color: var(--text-accent);
|
||||
}
|
||||
|
||||
.git-date {
|
||||
color: var(--text-accent);
|
||||
}
|
||||
|
||||
.git-ref {
|
||||
color: var(--text-accent);
|
||||
}
|
||||
|
||||
/* ====== diff2html ======
|
||||
The following styles are adapted from the obsidian-version-history plugin by
|
||||
@kometenstaub https://github.com/kometenstaub/obsidian-version-history-diff/blob/main/src/styles.scss
|
||||
which itself is adapted from the diff2html library with the following original license:
|
||||
|
||||
https://github.com/rtfpessoa/diff2html/blob/master/LICENSE.md
|
||||
|
||||
Copyright 2014-2016 Rodrigo Fernandes https://rtfpessoa.github.io/
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
||||
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
|
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
|
||||
Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
.theme-dark,
|
||||
.theme-light {
|
||||
--git-delete-bg: #ff475040;
|
||||
--git-delete-hl: #96050a75;
|
||||
--git-insert-bg: #68d36840;
|
||||
--git-insert-hl: #23c02350;
|
||||
--git-change-bg: #ffd55840;
|
||||
--git-selected: #3572b0;
|
||||
|
||||
--git-delete: #c33;
|
||||
--git-insert: #399839;
|
||||
--git-change: #d0b44c;
|
||||
--git-move: #3572b0;
|
||||
}
|
||||
|
||||
.git-diff {
|
||||
.d2h-d-none {
|
||||
display: none;
|
||||
}
|
||||
.d2h-wrapper {
|
||||
text-align: left;
|
||||
border-radius: 0.25em;
|
||||
overflow: auto;
|
||||
}
|
||||
.d2h-file-header.d2h-file-header {
|
||||
background-color: var(--background-secondary);
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
font-family:
|
||||
Source Sans Pro,
|
||||
Helvetica Neue,
|
||||
Helvetica,
|
||||
Arial,
|
||||
sans-serif;
|
||||
height: 35px;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.d2h-file-header,
|
||||
.d2h-file-stats {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
}
|
||||
.d2h-file-header {
|
||||
display: none;
|
||||
}
|
||||
.d2h-file-stats {
|
||||
font-size: 14px;
|
||||
margin-left: auto;
|
||||
}
|
||||
.d2h-lines-added {
|
||||
border: 1px solid var(--color-green);
|
||||
border-radius: 5px 0 0 5px;
|
||||
color: var(--color-green);
|
||||
padding: 2px;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.d2h-lines-deleted {
|
||||
border: 1px solid var(--color-red);
|
||||
border-radius: 0 5px 5px 0;
|
||||
color: var(--color-red);
|
||||
margin-left: 1px;
|
||||
padding: 2px;
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.d2h-file-name-wrapper {
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
font-size: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
.d2h-file-name {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
color: var(--text-normal);
|
||||
font-size: var(--h5-size);
|
||||
}
|
||||
.d2h-file-wrapper {
|
||||
border: 1px solid var(--background-secondary-alt);
|
||||
border-radius: 3px;
|
||||
margin-bottom: 1em;
|
||||
max-height: 100%;
|
||||
}
|
||||
.d2h-file-collapse {
|
||||
-webkit-box-pack: end;
|
||||
-ms-flex-pack: end;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
border: 1px solid var(--background-secondary-alt);
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
display: none;
|
||||
font-size: 12px;
|
||||
justify-content: flex-end;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
.d2h-file-collapse.d2h-selected {
|
||||
background-color: var(--git-selected);
|
||||
}
|
||||
.d2h-file-collapse-input {
|
||||
margin: 0 4px 0 0;
|
||||
}
|
||||
.d2h-diff-table {
|
||||
border-collapse: collapse;
|
||||
font-family: var(--font-monospace);
|
||||
font-size: var(--code-size);
|
||||
width: 100%;
|
||||
}
|
||||
.d2h-files-diff {
|
||||
width: 100%;
|
||||
}
|
||||
.d2h-file-diff {
|
||||
/*
|
||||
overflow-y: scroll;
|
||||
*/
|
||||
border-radius: 5px;
|
||||
font-size: var(--font-text-size);
|
||||
line-height: var(--line-height-normal);
|
||||
}
|
||||
.d2h-file-side-diff {
|
||||
display: inline-block;
|
||||
margin-bottom: -8px;
|
||||
margin-right: -4px;
|
||||
overflow-x: scroll;
|
||||
overflow-y: hidden;
|
||||
width: 50%;
|
||||
}
|
||||
.d2h-code-line {
|
||||
padding-left: 6em;
|
||||
padding-right: 1.5em;
|
||||
}
|
||||
.d2h-code-line,
|
||||
.d2h-code-side-line {
|
||||
display: inline-block;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
white-space: nowrap;
|
||||
width: 100%;
|
||||
}
|
||||
.d2h-code-side-line {
|
||||
/* needed to be changed */
|
||||
padding-left: 0.5em;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
.d2h-code-line-ctn {
|
||||
word-wrap: normal;
|
||||
background: none;
|
||||
display: inline-block;
|
||||
padding: 0;
|
||||
-webkit-user-select: text;
|
||||
-moz-user-select: text;
|
||||
-ms-user-select: text;
|
||||
user-select: text;
|
||||
vertical-align: middle;
|
||||
width: 100%;
|
||||
/* only works for line-by-line */
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
.d2h-code-line del,
|
||||
.d2h-code-side-line del {
|
||||
background-color: var(--git-delete-hl);
|
||||
color: var(--text-normal);
|
||||
}
|
||||
.d2h-code-line del,
|
||||
.d2h-code-line ins,
|
||||
.d2h-code-side-line del,
|
||||
.d2h-code-side-line ins {
|
||||
border-radius: 0.2em;
|
||||
display: inline-block;
|
||||
margin-top: -1px;
|
||||
text-decoration: none;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.d2h-code-line ins,
|
||||
.d2h-code-side-line ins {
|
||||
background-color: var(--git-insert-hl);
|
||||
text-align: left;
|
||||
}
|
||||
.d2h-code-line-prefix {
|
||||
word-wrap: normal;
|
||||
background: none;
|
||||
display: inline;
|
||||
padding: 0;
|
||||
white-space: pre;
|
||||
}
|
||||
.line-num1 {
|
||||
float: left;
|
||||
}
|
||||
.line-num1,
|
||||
.line-num2 {
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
/*
|
||||
padding: 0 0.5em;
|
||||
*/
|
||||
text-overflow: ellipsis;
|
||||
width: 2.5em;
|
||||
padding-left: 0;
|
||||
}
|
||||
.line-num2 {
|
||||
float: right;
|
||||
}
|
||||
.d2h-code-linenumber {
|
||||
background-color: var(--background-primary);
|
||||
border: solid var(--background-modifier-border);
|
||||
border-width: 0 1px;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
color: var(--text-faint);
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
text-align: right;
|
||||
width: 5.5em;
|
||||
}
|
||||
.d2h-code-linenumber:after {
|
||||
content: "\200b";
|
||||
}
|
||||
.d2h-code-side-linenumber {
|
||||
background-color: var(--background-primary);
|
||||
border: solid var(--background-modifier-border);
|
||||
border-width: 0 1px;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
color: var(--text-faint);
|
||||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
padding: 0 0.5em;
|
||||
text-align: right;
|
||||
text-overflow: ellipsis;
|
||||
width: 4em;
|
||||
/* needed to be changed */
|
||||
display: table-cell;
|
||||
position: relative;
|
||||
}
|
||||
.d2h-code-side-linenumber:after {
|
||||
content: "\200b";
|
||||
}
|
||||
.d2h-code-side-emptyplaceholder,
|
||||
.d2h-emptyplaceholder {
|
||||
background-color: var(--background-primary);
|
||||
border-color: var(--background-modifier-border);
|
||||
}
|
||||
.d2h-code-line-prefix,
|
||||
.d2h-code-linenumber,
|
||||
.d2h-code-side-linenumber,
|
||||
.d2h-emptyplaceholder {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.d2h-code-linenumber,
|
||||
.d2h-code-side-linenumber {
|
||||
direction: rtl;
|
||||
}
|
||||
.d2h-del {
|
||||
background-color: var(--git-delete-bg);
|
||||
border-color: var(--git-delete-hl);
|
||||
}
|
||||
.d2h-ins {
|
||||
background-color: var(--git-insert-bg);
|
||||
border-color: var(--git-insert-hl);
|
||||
}
|
||||
.d2h-info {
|
||||
background-color: var(--background-primary);
|
||||
border-color: var(--background-modifier-border);
|
||||
color: var(--text-faint);
|
||||
}
|
||||
.d2h-del,
|
||||
.d2h-ins,
|
||||
.d2h-file-diff .d2h-change {
|
||||
color: var(--text-normal);
|
||||
}
|
||||
.d2h-file-diff .d2h-del.d2h-change {
|
||||
background-color: var(--git-change-bg);
|
||||
}
|
||||
.d2h-file-diff .d2h-ins.d2h-change {
|
||||
background-color: var(--git-insert-bg);
|
||||
}
|
||||
.d2h-file-list-wrapper {
|
||||
a {
|
||||
text-decoration: none;
|
||||
cursor: default;
|
||||
-webkit-user-drag: none;
|
||||
}
|
||||
|
||||
svg {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.d2h-file-list-header {
|
||||
text-align: left;
|
||||
}
|
||||
.d2h-file-list-title {
|
||||
display: none;
|
||||
}
|
||||
.d2h-file-list-line {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
text-align: left;
|
||||
}
|
||||
.d2h-file-list {
|
||||
}
|
||||
.d2h-file-list > li {
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
margin: 0;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.d2h-file-list > li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
.d2h-file-switch {
|
||||
cursor: pointer;
|
||||
display: none;
|
||||
font-size: 10px;
|
||||
}
|
||||
.d2h-icon {
|
||||
fill: currentColor;
|
||||
margin-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.d2h-deleted {
|
||||
color: var(--git-delete);
|
||||
}
|
||||
.d2h-added {
|
||||
color: var(--git-insert);
|
||||
}
|
||||
.d2h-changed {
|
||||
color: var(--git-change);
|
||||
}
|
||||
.d2h-moved {
|
||||
color: var(--git-move);
|
||||
}
|
||||
.d2h-tag {
|
||||
background-color: var(--background-secondary);
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
font-size: 10px;
|
||||
margin-left: 5px;
|
||||
padding: 0 2px;
|
||||
}
|
||||
.d2h-deleted-tag {
|
||||
border: 1px solid var(--git-delete);
|
||||
}
|
||||
.d2h-added-tag {
|
||||
border: 1px solid var(--git-insert);
|
||||
}
|
||||
.d2h-changed-tag {
|
||||
border: 1px solid var(--git-change);
|
||||
}
|
||||
.d2h-moved-tag {
|
||||
border: 1px solid var(--git-move);
|
||||
}
|
||||
|
||||
/* needed for line-by-line*/
|
||||
|
||||
.d2h-diff-tbody {
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
/* ====================== Line Authoring Information ====================== */
|
||||
|
||||
.cm-gutterElement.obs-git-blame-gutter {
|
||||
/* Add background color to spacing inbetween and around the gutter for better aesthetics */
|
||||
border-width: 0px 2px 0.2px 2px;
|
||||
border-style: solid;
|
||||
border-color: var(--background-secondary);
|
||||
background-color: var(--background-secondary);
|
||||
}
|
||||
|
||||
.cm-gutterElement.obs-git-blame-gutter > div,
|
||||
.line-author-settings-preview {
|
||||
/* delegate text color to settings */
|
||||
color: var(--obs-git-gutter-text);
|
||||
font-family: monospace;
|
||||
height: 100%; /* ensure, that age-based background color occupies entire parent */
|
||||
text-align: right;
|
||||
padding: 0px 6px 0px 6px;
|
||||
white-space: pre; /* Keep spaces and do not collapse them. */
|
||||
}
|
||||
|
||||
@media (max-width: 800px) {
|
||||
/* hide git blame gutter not to superpose text */
|
||||
.cm-gutterElement.obs-git-blame-gutter {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.git-unified-diff-view,
|
||||
.git-split-diff-view .cm-deletedLine .cm-changedText {
|
||||
background-color: #ee443330;
|
||||
}
|
||||
|
||||
.git-unified-diff-view,
|
||||
.git-split-diff-view .cm-insertedLine .cm-changedText {
|
||||
background-color: #22bb2230;
|
||||
}
|
||||
|
||||
.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after {
|
||||
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg>');
|
||||
}
|
||||
|
||||
.git-obscure-prompt[git-is-obscured="false"] #git-show-password:after {
|
||||
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye-off"><path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"></path><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"></path><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"></path><path d="m2 2 20 20"></path></svg>');
|
||||
}
|
||||
|
||||
/* Override styling of Codemirror merge view "collapsed lines" indicator */
|
||||
.git-split-diff-view .ͼ2 .cm-collapsedLines {
|
||||
background: var(--interactive-normal);
|
||||
border-radius: var(--radius-m);
|
||||
color: var(--text-accent);
|
||||
font-size: var(--font-small);
|
||||
padding: var(--size-4-1) var(--size-4-1);
|
||||
}
|
||||
.git-split-diff-view .ͼ2 .cm-collapsedLines:hover {
|
||||
background: var(--interactive-hover);
|
||||
color: var(--text-accent-hover);
|
||||
}
|
||||
|
||||
.git-signs-gutter {
|
||||
.cm-gutterElement {
|
||||
display: grid;
|
||||
}
|
||||
}
|
||||
|
||||
.git-gutter-marker:hover {
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.git-gutter-marker.git-add {
|
||||
background-color: var(--color-green);
|
||||
justify-self: center;
|
||||
height: inherit;
|
||||
width: 0.2rem;
|
||||
}
|
||||
|
||||
.git-gutter-marker.git-change {
|
||||
background-color: var(--color-yellow);
|
||||
justify-self: center;
|
||||
height: inherit;
|
||||
width: 0.2rem;
|
||||
}
|
||||
|
||||
.git-gutter-marker.git-changedelete {
|
||||
color: var(--color-yellow);
|
||||
font-weight: var(--font-bold);
|
||||
font-size: 1rem;
|
||||
justify-self: center;
|
||||
height: inherit;
|
||||
}
|
||||
|
||||
.git-gutter-marker.git-delete {
|
||||
background-color: var(--color-red);
|
||||
height: 0.2rem;
|
||||
width: 0.8rem;
|
||||
align-self: end;
|
||||
}
|
||||
|
||||
.git-gutter-marker.git-topdelete {
|
||||
background-color: var(--color-red);
|
||||
height: 0.2rem;
|
||||
width: 0.8rem;
|
||||
align-self: start;
|
||||
}
|
||||
|
||||
div:hover > .git-gutter-marker.git-change {
|
||||
width: 0.6rem;
|
||||
}
|
||||
|
||||
div:hover > .git-gutter-marker.git-add {
|
||||
width: 0.6rem;
|
||||
}
|
||||
|
||||
div:hover > .git-gutter-marker.git-delete {
|
||||
height: 0.6rem;
|
||||
}
|
||||
|
||||
div:hover > .git-gutter-marker.git-topdelete {
|
||||
height: 0.6rem;
|
||||
}
|
||||
|
||||
div:hover > .git-gutter-marker.git-changedelete {
|
||||
font-weight: var(--font-bold);
|
||||
}
|
||||
|
||||
.git-gutter-marker.staged {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.git-diff {
|
||||
.cm-merge-revert {
|
||||
width: 4em;
|
||||
}
|
||||
/* Ensure that merge revert markers are positioned correctly */
|
||||
.cm-merge-revert > * {
|
||||
position: absolute;
|
||||
background-color: var(--background-secondary);
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
|
||||
/* Prevent shifting of the editor when git signs gutter is the only gutter present */
|
||||
.cm-gutters.cm-gutters-before:has(> .git-signs-gutter:only-child) {
|
||||
margin-inline-end: 0;
|
||||
.git-signs-gutter {
|
||||
margin-inline-start: -1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.git-changes-status-bar-colored {
|
||||
.git-add {
|
||||
color: var(--color-green);
|
||||
}
|
||||
.git-change {
|
||||
color: var(--color-yellow);
|
||||
}
|
||||
.git-delete {
|
||||
color: var(--color-red);
|
||||
}
|
||||
}
|
||||
|
||||
.git-changes-status-bar .git-add {
|
||||
margin-right: 0.3em;
|
||||
}
|
||||
|
||||
.git-changes-status-bar .git-change {
|
||||
margin-right: 0.3em;
|
||||
}
|
||||
+153
File diff suppressed because one or more lines are too long
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "obsidian-kanban",
|
||||
"name": "Kanban",
|
||||
"version": "2.0.51",
|
||||
"minAppVersion": "1.0.0",
|
||||
"description": "Create markdown-backed Kanban boards in Obsidian.",
|
||||
"author": "mgmeyers",
|
||||
"authorUrl": "https://github.com/mgmeyers/obsidian-kanban",
|
||||
"helpUrl": "https://publish.obsidian.md/kanban/Obsidian+Kanban+Plugin",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"templater_folder": "template"
|
||||
}
|
||||
+45
File diff suppressed because one or more lines are too long
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "templater-obsidian",
|
||||
"name": "Templater",
|
||||
"version": "2.18.1",
|
||||
"description": "Create and use templates",
|
||||
"minAppVersion": "1.5.0",
|
||||
"author": "SilentVoid",
|
||||
"authorUrl": "https://github.com/SilentVoid13",
|
||||
"helpUrl": "https://silentvoid13.github.io/Templater/",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+226
@@ -0,0 +1,226 @@
|
||||
.templater_search {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
.templater_div {
|
||||
border-top: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.templater_div > .setting-item {
|
||||
border-top: none !important;
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
.templater_div > .setting-item > .setting-item-control {
|
||||
justify-content: space-around;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.templater_div
|
||||
> .setting-item
|
||||
> .setting-item-control
|
||||
> .setting-editor-extra-setting-button {
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
.templater_donating {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.templater_title {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
margin-top: 5px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.templater_template {
|
||||
align-self: center;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.templater_cmd {
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
font-size: 14px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.templater_div2 > .setting-item {
|
||||
align-content: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.templater-prompt-div,
|
||||
.templater-multisuggester-div {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.templater-prompt-form {
|
||||
display: flex;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.templater-prompt-input,
|
||||
.templater-multisuggester-input {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.templater-button-div {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
textarea.templater-prompt-input {
|
||||
height: 10rem;
|
||||
}
|
||||
|
||||
textarea.templater-prompt-input:focus {
|
||||
border-color: var(--interactive-accent);
|
||||
}
|
||||
|
||||
.templater-multisuggester-list {
|
||||
margin: 1.5em 0;
|
||||
}
|
||||
|
||||
.cm-s-obsidian .templater-command-bg {
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
background-color: var(--background-primary-alt);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command {
|
||||
font-size: 0.85em;
|
||||
font-family: var(--font-monospace);
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.cm-s-obsidian .templater-inline .cm-templater-command {
|
||||
background-color: var(--background-primary-alt);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-templater-opening-tag {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-templater-closing-tag {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-templater-interpolation-tag {
|
||||
color: var(--code-property, #008bff);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-templater-execution-tag {
|
||||
color: var(--code-function, #c0d700);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-keyword {
|
||||
color: var(--code-keyword, #00a7aa);
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-atom {
|
||||
color: var(--code-normal, #f39b35);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-value,
|
||||
.cm-s-obsidian .cm-templater-command.cm-number,
|
||||
.cm-s-obsidian .cm-templater-command.cm-type {
|
||||
color: var(--code-value, #a06fca);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-def,
|
||||
.cm-s-obsidian .cm-templater-command.cm-type.cm-def {
|
||||
color: var(--code-normal, var(--text-normal));
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-property,
|
||||
.cm-s-obsidian .cm-templater-command.cm-property.cm-def,
|
||||
.cm-s-obsidian .cm-templater-command.cm-attribute {
|
||||
color: var(--code-function, #98e342);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-variable,
|
||||
.cm-s-obsidian .cm-templater-command.cm-variable-2,
|
||||
.cm-s-obsidian .cm-templater-command.cm-variable-3,
|
||||
.cm-s-obsidian .cm-templater-command.cm-meta {
|
||||
color: var(--code-property, #d4d4d4);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-callee,
|
||||
.cm-s-obsidian .cm-templater-command.cm-operator,
|
||||
.cm-s-obsidian .cm-templater-command.cm-qualifier,
|
||||
.cm-s-obsidian .cm-templater-command.cm-builtin {
|
||||
color: var(--code-operator, #fc4384);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-tag {
|
||||
color: var(--code-tag, #fc4384);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-comment,
|
||||
.cm-s-obsidian .cm-templater-command.cm-comment.cm-tag,
|
||||
.cm-s-obsidian .cm-templater-command.cm-comment.cm-attribute {
|
||||
color: var(--code-comment, #696d70);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-string,
|
||||
.cm-s-obsidian .cm-templater-command.cm-string-2 {
|
||||
color: var(--code-string, #e6db74);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-header,
|
||||
.cm-s-obsidian .cm-templater-command.cm-hr {
|
||||
color: var(--code-keyword, #da7dae);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-link {
|
||||
color: var(--code-normal, #696d70);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-error {
|
||||
border-bottom: 1px solid #c42412;
|
||||
}
|
||||
|
||||
.CodeMirror-hints {
|
||||
position: absolute;
|
||||
z-index: 10;
|
||||
overflow: hidden;
|
||||
list-style: none;
|
||||
|
||||
margin: 0;
|
||||
padding: 2px;
|
||||
|
||||
-webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
|
||||
-moz-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
|
||||
border-radius: 3px;
|
||||
border: 1px solid silver;
|
||||
|
||||
background: white;
|
||||
font-size: 90%;
|
||||
font-family: monospace;
|
||||
|
||||
max-height: 20em;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.CodeMirror-hint {
|
||||
margin: 0;
|
||||
padding: 0 4px;
|
||||
border-radius: 2px;
|
||||
white-space: pre;
|
||||
color: black;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
li.CodeMirror-hint-active {
|
||||
background: #08f;
|
||||
color: white;
|
||||
}
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
/* ========== Bases 表格可读性优化 ========== */
|
||||
/* 适用:Bases 独立窗口 + 嵌入到笔记中的 Base */
|
||||
/* 使用 Obsidian 主题变量,兼容深/浅色主题 */
|
||||
|
||||
/* ---- 作用域:Bases 独立窗口(data-type="bases")---- */
|
||||
.workspace-leaf-content[data-type="bases"],
|
||||
|
||||
/* ---- 作用域:嵌入的 Base ---- */
|
||||
.bases-embed,
|
||||
.block-language-base {
|
||||
|
||||
/* 使用 Obsidian 内置表格变量,覆盖主题对 Bases 的干扰 */
|
||||
--table-border-width: 1px;
|
||||
--table-border-color: var(--background-modifier-border);
|
||||
--table-header-background: var(--background-modifier-border);
|
||||
--table-header-background-hover: var(--background-modifier-hover);
|
||||
--table-header-color: var(--text-normal);
|
||||
--table-row-alt-background: var(--background-secondary);
|
||||
--table-row-alt-background-hover: var(--background-modifier-hover);
|
||||
--table-row-background-hover: var(--background-modifier-hover);
|
||||
}
|
||||
|
||||
/* ---- 表格视图专用(Table View)---- */
|
||||
.workspace-leaf-content[data-type="bases"] .bases-view[data-view-type="table"],
|
||||
.bases-embed .bases-view[data-view-type="table"],
|
||||
.block-language-base .bases-view[data-view-type="table"] {
|
||||
--table-row-alt-background: var(--background-secondary);
|
||||
}
|
||||
|
||||
/* ---- 直接作用于 Bases 容器内的 table ---- */
|
||||
.workspace-leaf-content[data-type="bases"] table,
|
||||
.bases-embed table,
|
||||
.block-language-base table {
|
||||
border-collapse: collapse;
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="bases"] thead,
|
||||
.bases-embed thead,
|
||||
.block-language-base thead {
|
||||
background-color: var(--table-header-background) !important;
|
||||
border-bottom: 2px solid var(--background-modifier-border-focus);
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="bases"] thead th,
|
||||
.bases-embed thead th,
|
||||
.block-language-base thead th {
|
||||
font-weight: 600;
|
||||
padding: 8px 12px !important;
|
||||
color: var(--table-header-color);
|
||||
text-align: left;
|
||||
border-right: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="bases"] thead th:last-child,
|
||||
.bases-embed thead th:last-child,
|
||||
.block-language-base thead th:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
/* 斑马纹 */
|
||||
.workspace-leaf-content[data-type="bases"] tbody tr:nth-child(even),
|
||||
.bases-embed tbody tr:nth-child(even),
|
||||
.block-language-base tbody tr:nth-child(even) {
|
||||
background-color: var(--table-row-alt-background) !important;
|
||||
}
|
||||
|
||||
/* 悬停高亮 */
|
||||
.workspace-leaf-content[data-type="bases"] tbody tr:hover td,
|
||||
.bases-embed tbody tr:hover td,
|
||||
.block-language-base tbody tr:hover td,
|
||||
.workspace-leaf-content[data-type="bases"] tbody tr:hover td a,
|
||||
.bases-embed tbody tr:hover td a,
|
||||
.block-language-base tbody tr:hover td a {
|
||||
background-color: var(--table-row-background-hover) !important;
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="bases"] tbody td,
|
||||
.bases-embed tbody td,
|
||||
.block-language-base tbody td {
|
||||
padding: 6px 12px !important;
|
||||
border-right: 1px solid var(--background-modifier-border);
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.workspace-leaf-content[data-type="bases"] tbody td:last-child,
|
||||
.bases-embed tbody td:last-child,
|
||||
.block-language-base tbody td:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
/* ========== Dataview 表格专用样式 ========== */
|
||||
/* 针对 block-language-dataview 和 table-view-table */
|
||||
|
||||
.block-language-dataview table,
|
||||
table.table-view-table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.block-language-dataview thead th,
|
||||
table.table-view-table thead th {
|
||||
padding: 8px 12px !important;
|
||||
font-weight: 600;
|
||||
background-color: var(--background-modifier-border) !important;
|
||||
border-bottom: 2px solid var(--background-modifier-border-focus);
|
||||
}
|
||||
|
||||
.block-language-dataview tbody tr:nth-child(odd),
|
||||
table.table-view-table tbody tr:nth-child(odd) {
|
||||
background-color: var(--background-primary);
|
||||
}
|
||||
|
||||
.block-language-dataview tbody tr:nth-child(even),
|
||||
table.table-view-table tbody tr:nth-child(even) {
|
||||
background-color: var(--background-secondary) !important;
|
||||
}
|
||||
|
||||
.block-language-dataview tbody tr:hover td,
|
||||
table.table-view-table tbody tr:hover td {
|
||||
background-color: var(--background-modifier-hover) !important;
|
||||
}
|
||||
|
||||
.block-language-dataview td,
|
||||
table.table-view-table td {
|
||||
padding: 6px 12px !important;
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
/* ========== Obsidian 表格通用可读性优化 ========== */
|
||||
/* 全局生效,适配 Markdown 原生表 & Dataview 表,使用主题变量 */
|
||||
|
||||
/* 使用 Obsidian 内置表格变量,兼容深浅主题 */
|
||||
.markdown-rendered table,
|
||||
.table-view-table {
|
||||
--table-border-width: 1px;
|
||||
--table-border-color: var(--background-modifier-border);
|
||||
--table-header-background: var(--background-modifier-border);
|
||||
--table-header-background-hover: var(--background-modifier-hover);
|
||||
--table-header-color: var(--text-normal);
|
||||
--table-row-alt-background: var(--background-modifier-cover);
|
||||
--table-row-alt-background-hover: var(--background-modifier-hover);
|
||||
--table-row-background-hover: var(--background-modifier-hover);
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.markdown-rendered thead th,
|
||||
.table-view-table thead th {
|
||||
font-weight: 600;
|
||||
padding: 8px 12px !important;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.markdown-rendered tbody td,
|
||||
.table-view-table tbody td {
|
||||
padding: 6px 12px !important;
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
/* 斑马纹 - 奇偶行区分 */
|
||||
.markdown-rendered tbody tr:nth-child(even),
|
||||
.table-view-table tbody tr:nth-child(even) {
|
||||
background-color: var(--table-row-alt-background) !important;
|
||||
}
|
||||
|
||||
.markdown-rendered tbody tr:hover td,
|
||||
.table-view-table tbody tr:hover td,
|
||||
.markdown-rendered tbody tr:hover td a,
|
||||
.table-view-table tbody tr:hover td a {
|
||||
background-color: var(--table-row-background-hover) !important;
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
/* ========== Obsidian 表格扩展样式 ========== */
|
||||
/* 来源: https://github.com/Mehraddev/obsidian-custom-table (简化并去除外部字体) */
|
||||
/*
|
||||
* 使用:在笔记 frontmatter 添加
|
||||
* ---
|
||||
* cssclasses: wideTable, fixedFc, leftAlign
|
||||
* ---
|
||||
*
|
||||
* 可选 class:
|
||||
* - wideTable : 表格占满笔记宽度
|
||||
* - fixedFc : 第一列固定窄宽,第二列大字
|
||||
* - wideFc : 第一列宽,适合主内容在前
|
||||
* - leftAlign : 左对齐
|
||||
*/
|
||||
|
||||
/* 表头默认左对齐 */
|
||||
table thead tr th {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* 表格占满笔记宽度 */
|
||||
.wideTable table {
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
/* 左对齐 */
|
||||
.leftAlign th,
|
||||
.leftAlign td {
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
/* 第一列固定 8em,第二列大字 */
|
||||
.fixedFc thead tr th:first-child,
|
||||
.fixedFc tbody tr td:first-child {
|
||||
width: 8em;
|
||||
min-width: 8em;
|
||||
max-width: 8em;
|
||||
word-break: break-all;
|
||||
}
|
||||
.fixedFc th:nth-child(2) {
|
||||
padding: 9px 20px;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.fixedFc td:nth-child(2),
|
||||
.fixedFc tr > td:last-of-type {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 17em;
|
||||
}
|
||||
|
||||
/* 第一列宽,第二列窄 */
|
||||
.wideFc td:nth-child(1),
|
||||
.wideFc tr > td:last-of-type {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 36em;
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
/* ========== 温和配色表格主题 ========== */
|
||||
/* 适合日常阅读:斑马纹、悬停高亮、圆角,浅色系 */
|
||||
/* 使用 cssclasses: mildTable 启用 */
|
||||
|
||||
.mildTable table {
|
||||
border-collapse: collapse;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
font-size: 0.95em;
|
||||
}
|
||||
|
||||
.mildTable thead {
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
rgba(var(--color-accent-rgb), 0.15) 0%,
|
||||
rgba(var(--color-accent-rgb), 0.08) 100%
|
||||
) !important;
|
||||
}
|
||||
|
||||
.mildTable thead th {
|
||||
padding: 10px 14px !important;
|
||||
font-weight: 600;
|
||||
color: var(--text-normal);
|
||||
border-bottom: 2px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.mildTable tbody tr:nth-child(odd) {
|
||||
background-color: var(--background-primary);
|
||||
}
|
||||
|
||||
.mildTable tbody tr:nth-child(even) {
|
||||
background-color: rgba(var(--color-accent-rgb), 0.04) !important;
|
||||
}
|
||||
|
||||
.mildTable tbody tr:hover td,
|
||||
.mildTable tbody tr:hover td a {
|
||||
background-color: rgba(var(--color-accent-rgb), 0.12) !important;
|
||||
}
|
||||
|
||||
.mildTable td {
|
||||
padding: 8px 14px !important;
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"types": {
|
||||
"aliases": "aliases",
|
||||
"cssclasses": "multitext",
|
||||
"tags": "tags",
|
||||
"reveals": "multitext"
|
||||
}
|
||||
}
|
||||
Vendored
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"workspaces": {},
|
||||
"active": ""
|
||||
}
|
||||
Reference in New Issue
Block a user