mirror of
https://github.com/devon22/obsidian-gridexplorer.git
synced 2026-07-22 05:38:16 +00:00
3.2.4
This commit is contained in:
parent
0e7e84a8fc
commit
c234852db8
5 changed files with 629 additions and 739 deletions
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "gridexplorer",
|
||||
"name": "GridExplorer",
|
||||
"version": "3.2.3",
|
||||
"version": "3.2.4",
|
||||
"minAppVersion": "1.8.7",
|
||||
"description": "Browse note files in a grid view.",
|
||||
"author": "Devon22",
|
||||
|
|
|
|||
4
package-lock.json
generated
4
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "gridexplorer",
|
||||
"version": "3.2.3",
|
||||
"version": "3.2.4",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "gridexplorer",
|
||||
"version": "3.2.3",
|
||||
"version": "3.2.4",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@types/node": "^16.11.6",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "gridexplorer",
|
||||
"version": "3.2.3",
|
||||
"version": "3.2.4",
|
||||
"description": "Browse note files in a grid view.",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
244
styles.css
244
styles.css
|
|
@ -38,6 +38,7 @@
|
|||
display: flex;
|
||||
gap: 14px;
|
||||
height: var(--grid-item-height);
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
|
|
@ -52,10 +53,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
.ge-grid-item {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
.ge-grid-item-full-height {
|
||||
height: 100%;
|
||||
}
|
||||
|
|
@ -888,7 +885,6 @@ span.ge-mode-title {
|
|||
font-size: var(--font-ui-small);
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
border: 1px solid var(--background-modifier-hover);
|
||||
background: var(--background-primary);
|
||||
|
|
@ -1047,15 +1043,17 @@ a.ge-current-folder:hover {
|
|||
|
||||
/* --------------------------------------------------------------------------- */
|
||||
|
||||
/* 搜尋對話框容器結構 */
|
||||
.ge-search-container {
|
||||
/* 搜尋 popup 容器結構 */
|
||||
.ge-popup-content .ge-search-container {
|
||||
margin-top: 0;
|
||||
margin-bottom: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.ge-search-input-wrapper {
|
||||
.ge-popup-content .ge-search-input-wrapper {
|
||||
position: relative;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
|
@ -1063,7 +1061,7 @@ a.ge-current-folder:hover {
|
|||
}
|
||||
|
||||
/* 合併式搜尋欄容器 */
|
||||
.ge-search-bar {
|
||||
.ge-popup-content .ge-search-bar {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
|
@ -1079,37 +1077,62 @@ a.ge-current-folder:hover {
|
|||
transition: box-shadow 0.15s, border-color 0.15s;
|
||||
}
|
||||
|
||||
.ge-search-bar:focus-within {
|
||||
.ge-popup-content .ge-search-bar:focus-within {
|
||||
box-shadow: 0 0 0 1px var(--background-modifier-border-focus);
|
||||
border-color: var(--background-modifier-border-focus);
|
||||
}
|
||||
|
||||
.ge-search-clear-button {
|
||||
.ge-popup-content .ge-search-input {
|
||||
color: var(--text-normal);
|
||||
font-size: var(--font-ui-medium);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.ge-popup-content .ge-search-input:hover,
|
||||
.ge-popup-content .ge-search-input:focus {
|
||||
font-size: var(--font-ui-medium);
|
||||
}
|
||||
|
||||
.ge-popup-content .ge-search-bar .ge-search-input {
|
||||
flex: 1 0 40px;
|
||||
width: 0;
|
||||
min-width: 40px;
|
||||
height: 24px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: none;
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.ge-popup-content .ge-search-clear-button {
|
||||
position: absolute;
|
||||
right: 8px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border-radius: 2px;
|
||||
color: var(--text-muted);
|
||||
cursor: pointer;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.ge-search-clear-button:hover {
|
||||
color: var(--text-accent);
|
||||
.ge-popup-content .ge-search-clear-button:hover {
|
||||
background-color: var(--background-modifier-hover);
|
||||
color: var(--text-normal);
|
||||
}
|
||||
|
||||
.ge-search-clear-button svg {
|
||||
.ge-popup-content .ge-search-clear-button svg {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
/* 標籤顯示區域 Search Tag Buttons */
|
||||
.ge-search-tag-button {
|
||||
.ge-popup-content .ge-search-tag-button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 3px 6px;
|
||||
|
|
@ -1123,16 +1146,16 @@ a.ge-current-folder:hover {
|
|||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.ge-search-tag-button:hover {
|
||||
.ge-popup-content .ge-search-tag-button:hover {
|
||||
color: var(--text-normal);
|
||||
background-color: var(--background-modifier-hover);
|
||||
}
|
||||
|
||||
.ge-search-tag-button.is-tag {
|
||||
.ge-popup-content .ge-search-tag-button.is-tag {
|
||||
color: var(--interactive-accent);
|
||||
}
|
||||
|
||||
.ge-search-tag-delete-button {
|
||||
.ge-popup-content .ge-search-tag-delete-button {
|
||||
position: absolute;
|
||||
right: 2px;
|
||||
top: 50%;
|
||||
|
|
@ -1149,74 +1172,44 @@ a.ge-current-folder:hover {
|
|||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.ge-search-tag-delete-button:hover {
|
||||
.ge-popup-content .ge-search-tag-delete-button:hover {
|
||||
background-color: rgba(255, 255, 255, 0.2);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.ge-search-tag-delete-button svg {
|
||||
.ge-popup-content .ge-search-tag-delete-button svg {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* 標籤自動完成下拉選單 Search Tag Suggestions */
|
||||
.ge-search-tag-suggestions {
|
||||
.ge-popup-content .ge-search-tag-suggestions {
|
||||
position: relative;
|
||||
margin-top: 4px;
|
||||
margin-top: 8px;
|
||||
background-color: var(--background-primary);
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
border-radius: 4px;
|
||||
max-height: 150px;
|
||||
max-height: 200px;
|
||||
overflow-y: auto;
|
||||
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
|
||||
z-index: 1000;
|
||||
font-size: var(--font-ui-small);
|
||||
}
|
||||
|
||||
.ge-search-tag-suggestion-item {
|
||||
.ge-popup-content .ge-search-tag-suggestion-item {
|
||||
padding: 4px 8px;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.ge-search-tag-suggestion-item:hover,
|
||||
.ge-search-tag-suggestion-item.is-selected {
|
||||
.ge-popup-content .ge-search-tag-suggestion-item:hover,
|
||||
.ge-popup-content .ge-search-tag-suggestion-item.is-selected {
|
||||
background-color: var(--interactive-accent);
|
||||
color: var(--text-on-accent, white);
|
||||
}
|
||||
|
||||
/* 搜尋輸入框通用樣式 */
|
||||
.ge-search-input {
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
padding: 6px 10px;
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
border-radius: var(--input-radius, 4px);
|
||||
background-color: var(--background-modifier-form-field);
|
||||
color: var(--text-normal);
|
||||
font-size: var(--font-ui-medium);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.ge-search-input:focus {
|
||||
border-color: var(--interactive-accent);
|
||||
}
|
||||
|
||||
/* 合併模式下(搜尋欄內)的輸入框微調 */
|
||||
.ge-search-bar .ge-search-input {
|
||||
flex: 1 0 40px;
|
||||
width: 0 !important;
|
||||
min-width: 40px;
|
||||
height: 24px;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
border: none !important;
|
||||
background: transparent !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
/* 搜尋選項容器 Search Options Container */
|
||||
.ge-search-options-container {
|
||||
.ge-popup-content .ge-search-options-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 2px;
|
||||
|
|
@ -1224,17 +1217,17 @@ a.ge-current-folder:hover {
|
|||
}
|
||||
|
||||
/* 搜尋範圍設定樣式 Search Scope Container */
|
||||
.ge-search-scope-container {
|
||||
.ge-popup-content .ge-search-scope-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ge-search-scope-checkbox {
|
||||
.ge-popup-content .ge-search-scope-checkbox {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ge-search-scope-label {
|
||||
.ge-popup-content .ge-search-scope-label {
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
color: var(--text-normal);
|
||||
|
|
@ -1242,17 +1235,17 @@ a.ge-current-folder:hover {
|
|||
}
|
||||
|
||||
/* 只搜尋檔案名稱設定樣式 Search Name Container */
|
||||
.ge-search-name-container {
|
||||
.ge-popup-content .ge-search-name-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ge-search-name-checkbox {
|
||||
.ge-popup-content .ge-search-name-checkbox {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ge-search-name-label {
|
||||
.ge-popup-content .ge-search-name-label {
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
color: var(--text-normal);
|
||||
|
|
@ -1260,25 +1253,25 @@ a.ge-current-folder:hover {
|
|||
}
|
||||
|
||||
/* 搜尋媒體檔案設定樣式 Search Media Files Container */
|
||||
.ge-search-media-files-container {
|
||||
.ge-popup-content .ge-search-media-files-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ge-search-media-files-checkbox {
|
||||
.ge-popup-content .ge-search-media-files-checkbox {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ge-search-scope-container:focus-visible,
|
||||
.ge-search-name-container:focus-visible,
|
||||
.ge-search-media-files-container:focus-visible {
|
||||
.ge-popup-content .ge-search-scope-container:focus-visible,
|
||||
.ge-popup-content .ge-search-name-container:focus-visible,
|
||||
.ge-popup-content .ge-search-media-files-container:focus-visible {
|
||||
outline: 2px solid var(--interactive-accent);
|
||||
outline-offset: 2px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.ge-search-media-files-label {
|
||||
.ge-popup-content .ge-search-media-files-label {
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
color: var(--text-normal);
|
||||
|
|
@ -1291,7 +1284,7 @@ a.ge-current-folder:hover {
|
|||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
/* 搜尋視窗內的按鈕容器 Search Modal Button Container */
|
||||
/* Modal 按鈕容器 Modal Button Container */
|
||||
.ge-button-container button {
|
||||
padding: 6px 12px;
|
||||
border-radius: 4px;
|
||||
|
|
@ -1326,25 +1319,6 @@ a.ge-current-folder:hover {
|
|||
transform: translateY(0);
|
||||
}
|
||||
|
||||
/* 搜尋視窗內的清除按鈕 Search Modal Clear Button */
|
||||
.ge-search-clear-button {
|
||||
color: var(--text-muted);
|
||||
border-radius: 50%;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
cursor: pointer;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.ge-search-clear-button:hover {
|
||||
color: var(--text-normal);
|
||||
background-color: var(--background-modifier-hover);
|
||||
}
|
||||
|
||||
/* 頂部欄搜尋按鈕容器 Header Search Button Container */
|
||||
.ge-search-button-container {
|
||||
display: flex;
|
||||
|
|
@ -1413,7 +1387,7 @@ a.ge-current-folder:hover {
|
|||
}
|
||||
|
||||
.ge-clear-button:hover {
|
||||
color: #FFF;
|
||||
color: #FFFFFF;
|
||||
background-color: var(--background-modifier-error-hover);
|
||||
}
|
||||
|
||||
|
|
@ -2049,82 +2023,11 @@ a.ge-current-folder:hover {
|
|||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.ge-popup-content .ge-folder-search-input {
|
||||
width: 100%;
|
||||
}
|
||||
/* 不需要額外屬性,因為它可以繼承 .ge-search-input 的基礎樣式 */
|
||||
|
||||
.ge-popup-content .ge-folder-options-container {
|
||||
max-height: 350px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
/* 搜尋 modal popup 樣式 */
|
||||
.ge-popup-content .ge-search-container {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.ge-popup-content .ge-search-input-wrapper {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.ge-popup-content .ge-search-input {
|
||||
width: 100%;
|
||||
padding: 8px 26px 8px 12px;
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
border-radius: 4px;
|
||||
background-color: var(--background-primary);
|
||||
color: var(--text-normal);
|
||||
font-size: var(--font-ui-medium);
|
||||
}
|
||||
|
||||
.ge-popup-content .ge-search-input:hover {
|
||||
font-size: var(--font-ui-medium);
|
||||
}
|
||||
|
||||
.ge-popup-content .ge-search-input:focus {
|
||||
outline: none;
|
||||
border-color: var(--interactive-accent);
|
||||
box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.2);
|
||||
font-size: var(--font-ui-medium);
|
||||
}
|
||||
|
||||
.ge-popup-content .ge-search-clear-button {
|
||||
position: absolute;
|
||||
right: 8px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 2px;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.ge-popup-content .ge-search-clear-button:hover {
|
||||
background-color: var(--background-modifier-hover);
|
||||
color: var(--text-normal);
|
||||
}
|
||||
|
||||
.ge-popup-content .ge-search-tag-suggestions {
|
||||
margin-top: 8px;
|
||||
max-height: 200px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.ge-popup-content .setting-item {
|
||||
border: none;
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
.ge-popup-content .setting-item-name {
|
||||
font-size: var(--font-ui-medium);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------- */
|
||||
|
||||
/* 筆記檢視容器 Note View Container */
|
||||
|
|
@ -2652,6 +2555,7 @@ a.ge-current-folder:hover {
|
|||
min-height: 36px;
|
||||
/* 提升最小點擊高度,可視需要調整到 40–44px */
|
||||
border-radius: var(--radius-s);
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
/* 頂層根節點 header 的外距在手機放大一點,避免項目太擠 */
|
||||
|
|
@ -2681,12 +2585,6 @@ a.ge-current-folder:hover {
|
|||
/* ↑ from 3px */
|
||||
}
|
||||
|
||||
/* 降低手機點擊的藍色高亮痕跡(可選) */
|
||||
.is-mobile .ge-explorer-folder-header,
|
||||
.is-mobile .ge-explorer-mode-item {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------- */
|
||||
/* 統一三個根節點(自訂模式/模式/Folder)的上下間距與外觀 */
|
||||
/* 頂層根節點 header:統一外距與圓角(自訂模式/模式/Folder) */
|
||||
|
|
@ -2831,6 +2729,7 @@ a.ge-current-folder:hover {
|
|||
border-radius: var(--radius-s);
|
||||
margin: 4px 0px 4px -1px;
|
||||
color: var(--text-muted);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.ge-explorer-stash-dropzone:hover {
|
||||
|
|
@ -2853,11 +2752,6 @@ a.ge-current-folder:hover {
|
|||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
/* dropzone 僅作為展示,不攔截事件(避免影響整區拖曳與點擊) */
|
||||
.ge-explorer-stash-dropzone {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.ge-explorer-stash-dropzone-clickable {
|
||||
pointer-events: auto;
|
||||
cursor: pointer;
|
||||
|
|
|
|||
Loading…
Reference in a new issue