This commit is contained in:
2026-02-04 17:04:00 +08:00
commit d2fb4d02f4
770 changed files with 61502 additions and 0 deletions

Binary file not shown.

403
.obsidian/plugins/copilot/data.json vendored Normal file
View File

@@ -0,0 +1,403 @@
{
"userId": "e572115e-d8b0-4e05-8429-22e068d87f08",
"isPlusUser": false,
"plusLicenseKey": "",
"openAIApiKey": "",
"openAIOrgId": "",
"huggingfaceApiKey": "",
"cohereApiKey": "",
"anthropicApiKey": "",
"azureOpenAIApiKey": "",
"azureOpenAIApiInstanceName": "",
"azureOpenAIApiDeploymentName": "",
"azureOpenAIApiVersion": "",
"azureOpenAIApiEmbeddingDeploymentName": "",
"googleApiKey": "",
"openRouterAiApiKey": "",
"xaiApiKey": "",
"mistralApiKey": "",
"deepseekApiKey": "",
"amazonBedrockApiKey": "",
"amazonBedrockRegion": "",
"siliconflowApiKey": "",
"githubCopilotAccessToken": "",
"githubCopilotToken": "",
"githubCopilotTokenExpiresAt": 0,
"defaultChainType": "llm_chain",
"defaultModelKey": "QWEN3-VL:30B|ollama",
"embeddingModelKey": "text-embedding-3-small|openai",
"temperature": 0.1,
"maxTokens": 6000,
"contextTurns": 15,
"userSystemPrompt": "",
"openAIProxyBaseUrl": "",
"openAIEmbeddingProxyBaseUrl": "",
"stream": true,
"defaultSaveFolder": "copilot/copilot-conversations",
"defaultConversationTag": "copilot-conversation",
"autosaveChat": true,
"generateAIChatTitleOnSave": true,
"autoAddActiveContentToContext": true,
"defaultOpenArea": "view",
"defaultSendShortcut": "enter",
"customPromptsFolder": "copilot/copilot-custom-prompts",
"indexVaultToVectorStore": "ON MODE SWITCH",
"qaExclusions": "copilot",
"qaInclusions": "",
"chatNoteContextPath": "",
"chatNoteContextTags": [],
"enableIndexSync": true,
"debug": false,
"enableEncryption": false,
"maxSourceChunks": 15,
"enableInlineCitations": true,
"groqApiKey": "",
"activeModels": [
{
"name": "copilot-plus-flash",
"provider": "copilot-plus",
"enabled": true,
"isBuiltIn": true,
"core": true,
"plusExclusive": true,
"projectEnabled": false,
"capabilities": [
"vision"
]
},
{
"name": "google/gemini-2.5-flash-lite",
"provider": "openrouterai",
"enabled": true,
"isBuiltIn": true,
"core": true,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "google/gemini-2.5-flash",
"provider": "openrouterai",
"enabled": true,
"isBuiltIn": true,
"core": true,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "google/gemini-2.5-pro",
"provider": "openrouterai",
"enabled": true,
"isBuiltIn": true,
"core": true,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "gpt-5",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"core": true,
"capabilities": [
"vision"
]
},
{
"name": "gpt-5-mini",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"core": true,
"capabilities": [
"vision"
]
},
{
"name": "gpt-4.1",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"core": true,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "gpt-4.1-mini",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"core": true,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "openai/gpt-4.1",
"provider": "openrouterai",
"enabled": true,
"isBuiltIn": true,
"core": false,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "openai/gpt-4.1-mini",
"provider": "openrouterai",
"enabled": true,
"isBuiltIn": true,
"core": false,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "grok-4-fast",
"provider": "xai",
"enabled": true,
"isBuiltIn": true,
"core": false,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "x-ai/grok-4-fast",
"provider": "openrouterai",
"enabled": true,
"isBuiltIn": true,
"core": false,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "claude-sonnet-4-20250514",
"provider": "anthropic",
"enabled": true,
"isBuiltIn": true,
"capabilities": [
"vision",
"reasoning"
]
},
{
"name": "gemini-2.5-flash",
"provider": "google",
"enabled": true,
"isBuiltIn": true,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "gemini-2.5-flash-lite",
"provider": "google",
"enabled": true,
"isBuiltIn": true,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "gemini-2.5-pro",
"provider": "google",
"enabled": true,
"isBuiltIn": true,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "azure-openai",
"provider": "azure openai",
"enabled": true,
"isBuiltIn": true
},
{
"name": "deepseek-chat",
"provider": "deepseek",
"enabled": true,
"isBuiltIn": true
},
{
"name": "deepseek-reasoner",
"provider": "deepseek",
"enabled": true,
"isBuiltIn": true,
"capabilities": [
"reasoning"
]
},
{
"name": "deepseek-ai/DeepSeek-V3",
"provider": "siliconflow",
"enabled": false,
"isBuiltIn": false,
"baseUrl": "https://api.siliconflow.com/v1"
},
{
"name": "deepseek-ai/DeepSeek-R1",
"provider": "siliconflow",
"enabled": false,
"isBuiltIn": false,
"baseUrl": "https://api.siliconflow.com/v1",
"capabilities": [
"reasoning"
]
},
{
"name": "QWEN3-VL:30B",
"provider": "ollama",
"baseUrl": "http://100.120.93.125:11434",
"enabled": true
}
],
"activeEmbeddingModels": [
{
"name": "copilot-plus-small",
"provider": "copilot-plus",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true,
"plusExclusive": true
},
{
"name": "copilot-plus-large",
"provider": "copilot-plus-jina",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true,
"plusExclusive": true,
"believerExclusive": true,
"dimensions": 1024
},
{
"name": "copilot-plus-multilingual",
"provider": "copilot-plus-jina",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true,
"plusExclusive": true,
"dimensions": 512
},
{
"name": "text-embedding-3-small",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true
},
{
"name": "gemini-embedding-001",
"provider": "google",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true
},
{
"name": "Qwen/Qwen3-Embedding-0.6B",
"provider": "siliconflow",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true,
"baseUrl": "https://api.siliconflow.com/v1"
},
{
"name": "text-embedding-3-large",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true
},
{
"name": "embed-multilingual-light-v3.0",
"provider": "cohereai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true
},
{
"name": "text-embedding-004",
"provider": "google",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true
},
{
"name": "azure-openai",
"provider": "azure openai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true
}
],
"embeddingRequestsPerMin": 60,
"embeddingBatchSize": 16,
"disableIndexOnMobile": true,
"showSuggestedPrompts": true,
"showRelevantNotes": true,
"numPartitions": 1,
"lexicalSearchRamLimit": 100,
"promptUsageTimestamps": {},
"promptSortStrategy": "timestamp",
"chatHistorySortStrategy": "recent",
"projectListSortStrategy": "recent",
"defaultConversationNoteName": "{$topic}@{$date}_{$time}",
"inlineEditCommands": [],
"projectList": [],
"lastDismissedVersion": null,
"passMarkdownImages": true,
"enableAutonomousAgent": true,
"enableCustomPromptTemplating": true,
"enableSemanticSearchV3": false,
"enableLexicalBoosts": true,
"suggestedDefaultCommands": false,
"autonomousAgentMaxIterations": 4,
"autonomousAgentEnabledToolIds": [
"localSearch",
"readNote",
"webSearch",
"pomodoro",
"youtubeTranscription",
"writeToFile",
"replaceInFile",
"updateMemory"
],
"reasoningEffort": "low",
"verbosity": "medium",
"memoryFolderName": "copilot/memory",
"enableRecentConversations": true,
"maxRecentConversations": 30,
"enableSavedMemory": true,
"quickCommandIncludeNoteContext": true,
"autoIncludeTextSelection": false,
"autoAddSelectionToContext": false,
"autoAcceptEdits": false,
"diffViewMode": "split",
"userSystemPromptsFolder": "copilot/system-prompts",
"defaultSystemPromptTitle": "",
"autoCompactThreshold": 128000
}

3492
.obsidian/plugins/copilot/main.js vendored Normal file

File diff suppressed because one or more lines are too long

13
.obsidian/plugins/copilot/manifest.json vendored Normal file
View File

@@ -0,0 +1,13 @@
{
"id": "copilot",
"name": "Copilot",
"version": "3.1.5",
"minAppVersion": "0.15.0",
"description": "Your AI Copilot: Chat with Your Second Brain, Learn Faster, Work Smarter.",
"author": "Logan Yang",
"authorUrl": "https://twitter.com/logancyang",
"fundingUrl": {
"Buy Me a Coffee": "https://www.buymeacoffee.com/logancyang",
"GitHub Sponsor": "https://github.com/sponsors/logancyang"
}
}

1
.obsidian/plugins/copilot/styles.css vendored Normal file

File diff suppressed because one or more lines are too long

442
.obsidian/plugins/obsidian-git/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -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.36.1"
}

View File

@@ -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"

View File

@@ -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;
}

View File

@@ -0,0 +1,159 @@
{
"remoteType": "",
"useCustomRequestHandler": false,
"couchDB_URI": "",
"couchDB_USER": "",
"couchDB_PASSWORD": "",
"couchDB_DBNAME": "",
"liveSync": true,
"syncOnSave": false,
"syncOnStart": false,
"savingDelay": 200,
"lessInformationInLog": false,
"gcDelay": 0,
"versionUpFlash": "",
"minimumChunkSize": 20,
"longLineThreshold": 250,
"showVerboseLog": false,
"suspendFileWatching": false,
"trashInsteadDelete": true,
"periodicReplication": false,
"periodicReplicationInterval": 60,
"syncOnFileOpen": false,
"encrypt": true,
"passphrase": "",
"usePathObfuscation": false,
"doNotDeleteFolder": false,
"resolveConflictsByNewerFile": false,
"batchSave": false,
"batchSaveMinimumDelay": 5,
"batchSaveMaximumDelay": 60,
"deviceAndVaultName": "",
"usePluginSettings": false,
"showOwnPlugins": false,
"showStatusOnEditor": true,
"showStatusOnStatusbar": true,
"showOnlyIconsOnEditor": false,
"hideFileWarningNotice": false,
"usePluginSync": false,
"autoSweepPlugins": false,
"autoSweepPluginsPeriodic": false,
"notifyPluginOrSettingUpdated": false,
"checkIntegrityOnSave": false,
"batch_size": 25,
"batches_limit": 25,
"useHistory": true,
"disableRequestURI": true,
"skipOlderFilesOnSync": true,
"checkConflictOnlyOnOpen": false,
"showMergeDialogOnlyOnActive": false,
"syncInternalFiles": false,
"syncInternalFilesBeforeReplication": false,
"syncInternalFilesIgnorePatterns": "\\/node_modules\\/, \\/\\.git\\/, \\/obsidian-livesync\\/",
"syncInternalFilesTargetPatterns": "",
"syncInternalFilesInterval": 60,
"additionalSuffixOfDatabaseName": "2b78761de14f9fb5",
"ignoreVersionCheck": false,
"lastReadUpdates": 25,
"deleteMetadataOfDeletedFiles": false,
"syncIgnoreRegEx": "",
"syncOnlyRegEx": "",
"customChunkSize": 0,
"readChunksOnline": true,
"watchInternalFileChanges": true,
"automaticallyDeleteMetadataOfDeletedFiles": 0,
"disableMarkdownAutoMerge": false,
"writeDocumentsIfConflicted": false,
"useDynamicIterationCount": false,
"syncAfterMerge": false,
"configPassphraseStore": "",
"encryptedPassphrase": "%$3j9ejrfvn+dXsCn2HLQ8giLieeuPxhNA/WRksI8fmCbDmblkopqq8oP7mcRch0rsz8eB7o+ho4Ui/jnyzG8M6Nh4q+OAjIkFKmdSmRFkjzQD2jyvr2D8rWQssAVz57kpEe1FNK/6f2s=",
"encryptedCouchDBConnection": "%$3j9ejrfvn+dXsCn2HLQ8giLieeuPxhNA/WRksI8fmCbiOLk0sJx7AyzNbvn8IGqQKhdrGZglqBBAqqF0d9WLJ1mDQr19HDV92BB4NAYWUc2HNZJD46mv8RjHRfWhfGIjuKi2wtHqhKyPGIB01vhInWrFepuAHNghICnIXrRnxHA7cQ0RdVkxI9hjxhBDoOB10jXAh3S9wK3YLLabIDZHqgWPI5cpDHBpW8U9vU4MsGJwcATNjNrSi3pzi4XM3vCIBzw+/lbDyggHslKboF3qdIkv3gh3zPBYBVh+lqKO1KSjksaeQWXDM2hVglWLXU5gKQhxYiT0I+/xWvjD/O05UflEQ+FlRY9UKPm8+FmCJmoblIQkyFeAbosADql0jtmaJrp21VM1j9DdqGj6twFdSTUkUX/AjAIwTXZ7YJlzTNMQEVzfxlmzgWjXaEbuoMwCYO8Q07AqZKPEo6uViV+S+kQ9ybEKelHtUKy+yl/G8zadFXDmHX5f3Q8NOGobHwRdKr+LvgL6x+z+9+jk17tLk2+3a21BQ05CmnTnag3hDpOZfx8zl0ogG3Hn3tRKczLrdcnnozNiWOPJHAu9M8I298zQhm2Sy1i8LrSjPHDoDY+atfGweqkfj4RzGxpvZYqideh3E7LqPWfgiVRoaJ4gRWL3fVijgdxEe23+xqXWATX02JPN7O7RMXSxBCjF",
"permitEmptyPassphrase": false,
"useIndexedDBAdapter": false,
"useTimeouts": false,
"writeLogToTheFile": false,
"doNotPaceReplication": false,
"hashCacheMaxCount": 300,
"hashCacheMaxAmount": 50,
"concurrencyOfReadChunksOnline": 40,
"minimumIntervalOfReadChunksOnline": 50,
"hashAlg": "xxhash64",
"suspendParseReplicationResult": false,
"doNotSuspendOnFetching": false,
"useIgnoreFiles": false,
"ignoreFiles": ".gitignore",
"syncOnEditorSave": false,
"pluginSyncExtendedSetting": {},
"syncMaxSizeInMB": 50,
"settingSyncFile": "",
"writeCredentialsForSettingSync": false,
"notifyAllSettingSyncFile": false,
"isConfigured": true,
"settingVersion": 10,
"enableCompression": false,
"accessKey": "",
"bucket": "",
"endpoint": "",
"region": "",
"secretKey": "",
"useEden": false,
"maxChunksInEden": 10,
"maxTotalLengthInEden": 1024,
"maxAgeInEden": 10,
"disableCheckingConfigMismatch": false,
"displayLanguage": "zh",
"enableChunkSplitterV2": false,
"disableWorkerForGeneratingChunks": false,
"processSmallFilesInUIThread": false,
"notifyThresholdOfRemoteStorageSize": 0,
"usePluginSyncV2": false,
"usePluginEtc": false,
"doNotUseFixedRevisionForChunks": true,
"showLongerLogInsideEditor": false,
"sendChunksBulk": false,
"sendChunksBulkMaxSize": 1,
"useSegmenter": false,
"useAdvancedMode": true,
"usePowerUserMode": true,
"useEdgeCaseMode": false,
"enableDebugTools": false,
"suppressNotifyHiddenFilesChange": false,
"syncMinimumInterval": 2000,
"P2P_Enabled": false,
"P2P_AutoAccepting": 0,
"P2P_AppID": "self-hosted-livesync",
"P2P_roomID": "",
"P2P_passphrase": "",
"P2P_relays": "wss://exp-relay.vrtmrz.net/",
"P2P_AutoBroadcast": false,
"P2P_AutoStart": false,
"P2P_AutoSyncPeers": "",
"P2P_AutoWatchPeers": "",
"P2P_SyncOnReplication": "",
"P2P_RebuildFrom": "",
"P2P_AutoAcceptingPeers": "",
"P2P_AutoDenyingPeers": "",
"P2P_IsHeadless": false,
"P2P_DevicePeerName": "",
"P2P_turnServers": "",
"P2P_turnUsername": "",
"P2P_turnCredential": "",
"doctorProcessedVersion": "0.25.27",
"bucketCustomHeaders": "",
"couchDB_CustomHeaders": "",
"useJWT": false,
"jwtAlgorithm": "",
"jwtKey": "",
"jwtKid": "",
"jwtSub": "",
"jwtExpDuration": 5,
"useRequestAPI": false,
"bucketPrefix": "",
"chunkSplitterVersion": "",
"E2EEAlgorithm": "v2",
"processSizeMismatchedFiles": false,
"forcePathStyle": true,
"syncInternalFileOverwritePatterns": "",
"useOnlyLocalChunk": false
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
{
"id": "obsidian-livesync",
"name": "Self-hosted LiveSync",
"version": "0.25.38",
"minAppVersion": "0.9.12",
"description": "Community implementation of self-hosted livesync. Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.",
"author": "vorotamoroz",
"authorUrl": "https://github.com/vrtmrz",
"isDesktopOnly": false
}

View File

@@ -0,0 +1,481 @@
.added {
color: var(--text-on-accent);
background-color: var(--text-accent);
}
.normal {
color: var(--text-normal);
}
.deleted {
color: var(--text-on-accent);
background-color: var(--text-muted);
}
.conflict-dev-name {
display: inline-block;
min-width: 5em;
}
.op-scrollable {
overflow-y: scroll;
/* min-height: 280px; */
max-height: 280px;
user-select: text;
-webkit-user-select: text;
}
.op-pre {
white-space: pre-wrap;
}
.op-warn {
border: 1px solid salmon;
padding: 2px;
border-radius: 4px;
}
.op-warn::before {
content: "Warning";
font-weight: bold;
color: salmon;
position: relative;
display: block;
}
.op-warn-info {
border: 1px solid rgb(255, 209, 81);
padding: 2px;
border-radius: 4px;
}
.op-warn-info::before {
content: "Notice";
font-weight: bold;
color: rgb(255, 209, 81);
position: relative;
display: block;
}
.syncstatusbar {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
.tcenter {
text-align: center;
}
.sls-plugins-wrap {
display: flex;
flex-grow: 1;
max-height: 50vh;
overflow-y: scroll;
}
.sls-plugins-tbl {
border: 1px solid var(--background-modifier-border);
width: 100%;
max-height: 80%;
}
.divider th {
border-top: 1px solid var(--background-modifier-border);
}
.sls-header-button {
margin-left: 2em;
}
.sls-hidden {
display: none;
}
:root {
--sls-log-text: "";
}
.sls-troubleshoot-preview {
max-width: max-content;
}
.sls-troubleshoot-preview img {
max-width: 100%;
}
.sls-setting-tab {
display: none;
}
div.sls-setting-menu-btn {
color: var(--text-normal);
background-color: var(--background-secondary-alt);
border-radius: 8px;
padding: 6px 10px;
cursor: pointer;
margin-right: 2px;
font-family: "Inter", sans-serif;
outline: none;
user-select: none;
flex-grow: 1;
text-align: center;
flex-shrink: 1;
}
.sls-setting-label.selected {
/* order: 1; */
flex-grow: 1;
/* width: 100%; */
}
.sls-setting-tab:hover~div.sls-setting-menu-btn,
.sls-setting-label.selected .sls-setting-tab:checked~div.sls-setting-menu-btn {
background-color: var(--interactive-accent);
color: var(--text-on-accent);
}
.sls-setting-menu-wrapper {
display: flex;
flex-direction: column;
flex-grow: 1;
position: sticky;
top: 0;
backdrop-filter: blur(15px);
padding: 4px;
border-radius: 10px;
z-index: 10;
}
.sls-setting-menu {
display: flex;
flex-direction: row;
overflow-x: auto;
}
body {
--sls-col-transparent: transparent;
--sls-col-warn: rgba(var(--background-modifier-error-rgb), 0.1);
--sls-col-warn-stripe1: var(--sls-col-transparent);
--sls-col-warn-stripe2: var(--sls-col-warn);
}
.sls-setting-menu-buttons {
border: 1px solid var(--sls-col-warn);
padding: 2px;
margin: 1px;
border-radius: 4px;
background-image: linear-gradient(-45deg,
var(--sls-col-warn-stripe1) 25%, var(--sls-col-warn-stripe2) 25%, var(--sls-col-warn-stripe2) 50%,
var(--sls-col-warn-stripe1) 50%, var(--sls-col-warn-stripe1) 75%, var(--sls-col-warn-stripe2) 75%, var(--sls-col-warn-stripe2));
background-size: 30px 30px;
display: flex;
flex-direction: row;
justify-content: flex-end;
padding: 0.5em 0.25em;
justify-content: center;
align-items: center;
/* transition: background-position 1s; */
animation: sls-scroll-warn 1s linear 0s infinite;
}
@keyframes sls-scroll-warn {
0% {
background-position: 0 0;
}
100% {
background-position: 30px 0;
}
}
.sls-setting-menu-buttons label {
margin-right: auto;
flex-grow: 1;
color: var(--text-warning);
}
.sls-setting-label {
flex-grow: 1;
display: inline-flex;
justify-content: center;
}
.setting-collapsed {
display: none;
}
.sls-plugins-tbl-buttons {
text-align: right;
}
.sls-plugins-tbl-buttons button {
flex-grow: 0;
padding: 6px 10px;
}
.sls-plugins-tbl-device-head {
background-color: var(--background-secondary-alt);
color: var(--text-accent);
}
.op-flex {
display: flex;
}
.op-flex input {
display: inline-flex;
flex-grow: 1;
margin-bottom: 8px;
}
.op-info {
display: inline-flex;
flex-grow: 1;
border-bottom: 1px solid var(--background-modifier-border);
width: 100%;
margin-bottom: 4px;
padding-bottom: 4px;
}
.history-added {
color: var(--text-on-accent);
background-color: var(--text-accent);
}
.history-normal {
color: var(--text-normal);
}
.history-deleted {
color: var(--text-on-accent);
background-color: var(--text-muted);
text-decoration: line-through;
}
.ob-btn-config-fix label {
margin-right: 40px;
}
.ob-btn-config-info {
border: 1px solid salmon;
padding: 2px;
margin: 1px;
border-radius: 4px;
}
.ob-btn-config-head {
padding: 2px;
margin: 1px;
border-radius: 4px;
}
.isWizard .wizardHidden {
display: none;
}
.sls-setting:not(.isWizard) .wizardOnly {
display: none;
}
.sls-item-dirty::before {
content: "✏";
}
.sls-item-dirty-help::after {
content: " ❓";
}
.sls-item-invalid-value {
background-color: rgba(var(--background-modifier-error-rgb), 0.3) !important;
}
.sls-setting-disabled input[type=text],
.sls-setting-disabled input[type=number],
.sls-setting-disabled input[type=password] {
filter: brightness(80%);
color: var(--text-muted);
}
.sls-setting-hidden {
display: none;
}
.sls-setting-obsolete {
background-image: linear-gradient(-45deg,
var(--sls-col-warn-stripe1) 25%, var(--sls-col-warn-stripe2) 25%, var(--sls-col-warn-stripe2) 50%,
var(--sls-col-warn-stripe1) 50%, var(--sls-col-warn-stripe1) 75%, var(--sls-col-warn-stripe2) 75%, var(--sls-col-warn-stripe2));
background-image: linear-gradient(-45deg,
transparent 25%, rgba(var(--background-secondary), 0.1) 25%, rgba(var(--background-secondary), 0.1) 50%, transparent 50%, transparent 75%, rgba(var(--background-secondary), 0.1) 75%, rgba(var(--background-secondary), 0.1));
background-size: 60px 60px;
}
.password-input>.setting-item-control>input {
-webkit-text-security: disc;
}
span.ls-mark-cr::after {
user-select: none;
content: "↲";
color: var(--text-muted);
font-size: 0.8em;
}
.deleted span.ls-mark-cr::after {
color: var(--text-on-accent);
}
.ls-imgdiff-wrap {
display: flex;
justify-content: center;
align-items: center;
}
.ls-imgdiff-wrap .overlay {
position: relative;
}
.ls-imgdiff-wrap .overlay .img-base {
position: relative;
top: 0;
left: 0;
}
.ls-imgdiff-wrap .overlay .img-overlay {
-webkit-filter: invert(100%) opacity(50%);
filter: invert(100%) opacity(50%);
position: absolute;
top: 0;
left: 0;
animation: ls-blink-diff 0.5s cubic-bezier(0.4, 0, 1, 1) infinite alternate;
}
@keyframes ls-blink-diff {
0% {
opacity: 0;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.livesync-status {
user-select: none;
pointer-events: none;
height: auto;
min-height: 1em;
position: absolute;
background-color: transparent;
width: 100%;
padding: 10px;
padding-right: 16px;
top: var(--header-height);
z-index: calc(var(--layer-cover) + 1);
font-variant-numeric: tabular-nums;
tab-size: 4;
text-align: right;
white-space: pre-wrap;
display: inline-block;
color: var(--text-normal);
font-size: 80%;
}
div.workspace-leaf-content[data-type=bases] .livesync-status {
top: calc(var(--bases-header-height) + var(--header-height));
padding: 5px;
padding-right: 18px;
}
.is-mobile div.workspace-leaf-content[data-type=bases] .livesync-status {
top: calc(var(--bases-header-height) + var(--view-header-height));
padding: 6px;
padding-right: 18px;
}
.livesync-status div {
opacity: 0.6;
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
.livesync-status .livesync-status-loghistory {
text-align: left;
opacity: 0.4;
}
.livesync-status div.livesync-status-messagearea:empty {
display: none;
}
.livesync-status div.livesync-status-messagearea:not(:empty) {
opacity: 0.6;
color: var(--text-on-accent);
border: 1px solid var(--background-modifier-error);
background-color: rgba(var(--background-modifier-error-rgb), 0.2);
-webkit-filter: unset;
filter: unset;
width: fit-content;
margin-left: auto;
}
.menu-setting-poweruser-disabled .sls-setting-poweruser {
display: none;
}
.menu-setting-advanced-disabled .sls-setting-advanced {
display: none;
}
.menu-setting-edgecase-disabled .sls-setting-edgecase {
display: none;
}
.sls-setting-panel-title {
position: sticky;
font-size: medium;
top: 2.5em;
background-color: var(--background-secondary-alt);
border-radius: 10px;
padding: 0.5em 1.0em;
}
.active-pane .sls-setting-panel-title {
border: 1px solid var(--interactive-accent);
}
.sls-dialogue-note-wrapper {
display: flex;
justify-content: flex-end;
align-items: center;
}
.sls-dialogue-note-countdown {
font-size: 0.8em;
}
.sls-qr {
display: flex;
justify-content: center;
align-items: center;
max-width: max-content;
}
.sls-keypair pre {
max-width: 100%;
overflow-x: auto;
white-space: pre-wrap;
word-break: break-all;
}

View File

@@ -0,0 +1,4 @@
{
"last_version": "3.0.80",
"installed_at": 1769737427898
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
{
"id": "smart-connections",
"name": "Smart Connections",
"author": "Brian Petro",
"description": "Chat with your notes & see links to related content with Local or Remote models.",
"minAppVersion": "1.1.0",
"authorUrl": "https://wfhbrian.com",
"isDesktopOnly": false,
"version": "3.0.80"
}

View File

@@ -0,0 +1,868 @@
/* deprecated positioning, use bottom bar instead */
.view-content > .sc-brand {
position: fixed;
bottom: 0;
right: 0;
background-color: var(--titlebar-background);
}
.sc-brand {
> svg,
> p {
display: inline;
margin: 0 0.1rem 0 0.3rem;
color: var(--text-muted);
font-size: var(--font-smallest);
line-height: 1;
height: 0.88rem;
width: auto;
}
> p > a {
color: var(--text-muted);
}
}
.sc-list {
padding-bottom: 20px;
.tree-item-self {
cursor: pointer;
small {
color: var(--color-gray-40);
}
}
> .sc-collapsed ul {
display: none;
}
> .sc-collapsed span svg {
transform: rotate(-90deg);
}
> :not(.sc-collapsed) span svg {
transform: rotate(0deg);
}
> div {
span svg {
height: auto;
margin: auto 0.5em auto 0;
flex: none;
}
> span {
display: inline-flex;
width: 100%;
padding-left: 0;
}
ul {
margin: 0;
padding-left: 1.3rem;
}
> a {
display: block;
}
> ul > li {
display: block;
}
}
.sc-result {
> ul {
list-style: none;
padding-left: 0;
}
}
.sc-result.sc-result-plaintext {
font-size: var(--font-ui-smaller);
line-height: var(--line-height-tight);
background-color: var(--search-result-background);
border-radius: var(--radius-s);
overflow: hidden;
margin: var(--size-4-1) 0 var(--size-4-2);
color: var(--text-muted);
box-shadow: 0 0 0 1px var(--background-modifier-border);
& > * li {
cursor: var(--cursor);
position: relative;
padding: var(--size-4-2) var(--size-4-5) var(--size-4-2) var(--size-4-3);
white-space: pre-wrap;
width: 100%;
border-bottom: 1px solid var(--background-modifier-border);
}
}
.sc-result:not(.sc-result-plaintext) {
cursor: pointer;
padding: var(--nav-item-padding);
padding-left: 10px;
margin-bottom: 1px;
align-items: baseline;
border-radius: var(--radius-s);
font-weight: var(--nav-item-weight);
&:hover {
color: var(--nav-item-color-active);
background-color: var(--nav-item-background-active);
font-weight: var(--nav-item-weight-active);
}
span {
color: var(--h5-color);
}
small {
color: var(--h5-color);
font-size: 0.8rem;
font-weight: 500;
}
p {
margin-top: 0.3rem;
margin-bottom: 0.3rem;
}
ul > li {
h1 {
font-size: 1.3rem;
}
h2 {
font-size: 1.25rem;
}
h3 {
font-size: 1.2rem;
}
h4 {
font-size: 1.15rem;
}
h5 {
font-size: 1.1rem;
}
h6 {
font-size: 1.05rem;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-block-start: calc(var(--p-spacing)/2);
margin-block-end: calc(var(--p-spacing)/2);
}
}
}
} /* end .sc-list */
/* Only on right sidebar */
.mod-right-split .sc-list .sc-result {
font-size: var(--font-text-size);
font-size: 0.88rem;
}
.sc-top-bar {
display: flex;
width: 100%;
justify-content: end;
.sc-context {
color: var(--nav-item-color);
font-size: var(--nav-item-size);
margin: 0.5em 0.5em 1em;
width: 100%;
}
}
/* Chat */
.sc-chat-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
height: 100%;
.sc-top-bar-container {
align-self: flex-end;
display: flex;
width: 100%;
.sc-chat-name-input {
flex-grow: 1;
min-width: 20px;
}
}
.sc-thread {
display: flex;
flex-direction: column;
align-items: flex-start;
height: 100%;
width: 100%;
overflow: hidden;
user-select: text;
overflow-y: auto;
.sc-message-container {
border: 1px solid var(--divider-color);
border-radius: 10px;
margin: 0.5rem 0;
display: flex;
flex-direction: column;
align-items: flex-start;
width: 100%;
height: 100%;
overflow-y: auto;
background-color: var(--background-primary-alt);
.sc-message {
max-width: 90ch;
width: 90%;
margin: 10px;
padding: 10px;
border-radius: 1.5rem;
word-break: break-word;
&.user {
align-self: flex-end;
color: var(--text-normal);
background-color: var(--background-primary);
}
&.assistant,
&.system {
background-color: var(--background-primary-alt);
color: var(--text-normal);
}
.sc-message-content {
margin: 0;
padding: 1rem;
> * p {
margin: 0;
}
}
}
}
.sc-chat-form {
display: flex;
padding: 0 10px 1rem 0;
width: 100%;
max-height: 50%;
.sc-chat-input {
flex-grow: 1;
padding: 0.88rem;
border: none;
border-radius: 1.5rem;
resize: none;
height: auto;
min-height: 4.2lh;
max-height: 100%;
background-color: var(--background-primary);
color: var(--text-normal);
margin-right: -2.7rem;
padding-right: 3rem;
}
.sc-btn-container {
width: 2rem;
height: 2rem;
margin: auto;
> button.send-button {
border-radius: 99999px;
cursor: pointer;
outline: 2px solid transparent;
padding: 0;
outline-offset: 2px;
background: none !important;
&:focus-visible {
outline-color: var(--text-faint);
box-shadow: none;
}
> svg {
> circle {
fill: var(--text-faint);
}
> path {
fill: var(--background-primary);
}
}
}
}
}
}
#settings {
display: flex;
flex-direction: column;
max-width: 100%;
width: 100%;
}
}
.sc-system {
align-self: center;
font-style: italic;
color: var(--text-faint);
}
.sc-msg-button {
cursor: pointer;
float: right;
margin-left: 5px;
opacity: 0.8;
&.cycle-branch {
float: left;
display: flex;
}
&:hover {
opacity: 1;
}
}
#sc-abort-button {
cursor: pointer;
padding: 10px;
border-radius: 5px;
&:hover {
background-color: var(--background-primary);
}
}
.markdown-source-view.mod-cm6 .cm-embed-block:not(.cm-table-widget):hover:has(.sc-change) {
overflow: unset;
box-shadow: unset;
cursor: unset;
}
.notice .sc-notice-actions {
display: flex;
justify-content: space-between;
flex-direction: row-reverse;
}
.sc-chat-container {
#settings {
display: flex;
flex-direction: column;
max-width: 100%;
width: 100%;
}
.sc-config-error-notice {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px;
background-color: #ffcccc;
border: 1px solid #ff0000;
border-radius: 5px;
margin: 10px 0;
font-size: 14px;
font-weight: bold;
color: #ff0000;
width: 100%;
span {
flex-grow: 1;
}
button {
margin-left: 10px;
}
}
}
.sc-bottom-bar {
position: absolute;
bottom: 0;
right: 0;
left: 0;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
background-color: var(--titlebar-background);
padding: 0 0.5rem;
.sc-brand {
flex-shrink: 0;
}
.sc-context {
flex-grow: 1;
font-size: var(--font-smallest);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.setting-component[data-setting*="/"][data-setting*="api_key"] {
display: none;
}
.setting-component[data-setting*="gpu"]:not([data-setting*="/"]) {
display: none;
}
/* SINCE COMPONENT PATTERN SETTINGS */
.setting-component[data-setting="smart_change.active"] {
display: none;
}
.group-header {
display: flex;
text-wrap: nowrap;
flex-wrap: wrap;
align-items: baseline;
> h2 {
width: 100%;
margin-bottom: 0;
}
> * {
flex-grow: 1;
margin-bottom: 10px;
}
}
/* SMART CHAT v2 */
.sc-context-list {
list-style: none;
margin: 0;
padding: 0 1rem 1rem;
display: none;
flex-direction: column;
gap: 0.5rem;
}
.sc-context-header[aria-expanded="true"] + .sc-context-list {
display: flex;
}
.sc-context-header[aria-expanded="false"] + .sc-context-list {
display: none;
}
.sc-context-toggle-icon {
margin-left: 0.5rem;
transition: transform 0.3s ease;
}
.sc-context-header[aria-expanded="true"] .sc-context-toggle-icon {
transform: rotate(180deg);
}
.sc-context-container {
border: 1px solid var(--divider-color);
border-radius: 10px;
margin: 0.5rem 0;
background-color: var(--background-primary-alt);
overflow: auto;
max-width: 95%;
margin: 10px;
flex-shrink: 0;
.sc-context-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.88rem 1rem;
background-color: var(--background-primary);
color: var(--text-muted);
font-weight: var(--font-medium);
cursor: pointer;
user-select: none;
&:hover {
background-color: var(--background-primary-hover);
}
&:focus {
outline: 2px solid var(--text-muted);
outline-offset: 2px;
}
}
}
.sc-context-item {
padding: 0.5rem;
border-radius: var(--radius-s);
background-color: var(--background-secondary);
color: var(--text-normal);
display: flex;
justify-content: space-between;
align-items: baseline;
font-size: var(--font-smallest);
flex-wrap: wrap;
&:hover {
background-color: var(--background-secondary-hover);
}
}
.sc-context-item-path {
font-weight: var(--font-medium);
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
max-width: 70%;
}
.sc-context-item-score {
font-size: var(--font-small);
color: var(--color-gray-40);
}
/* Tool Calls Component Styles */
.sc-tool-calls-container {
border: 1px solid var(--divider-color);
border-radius: 10px;
margin: 0.5rem 0;
background-color: var(--background-primary-alt);
overflow: auto;
max-width: 95%;
margin: 10px;
flex-shrink: 0;
}
.sc-tool-call {
margin-bottom: 0.5rem;
&:last-child {
margin-bottom: 0;
}
}
.sc-tool-call-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.88rem 1rem;
background-color: var(--background-primary);
color: var(--text-muted);
font-weight: var(--font-medium);
cursor: pointer;
user-select: none;
&:hover {
background-color: var(--background-primary-hover);
}
&:focus {
outline: 2px solid var(--text-muted);
outline-offset: 2px;
}
&[aria-expanded="true"] .sc-tool-call-toggle-icon {
transform: rotate(180deg);
}
}
.sc-tool-call-content {
padding: 0.5rem 1rem;
background-color: var(--background-secondary);
font-size: var(--font-smallest);
pre {
margin: 0;
white-space: pre-wrap;
word-break: break-word;
}
code {
font-family: var(--font-monospace);
}
}
/* Hide content when collapsed */
.sc-tool-call-header[aria-expanded="false"] + .sc-tool-call-content {
display: none;
}
/* Show content when expanded */
.sc-tool-call-header[aria-expanded="true"] + .sc-tool-call-content {
display: block;
}
/* System Message Styles */
.sc-system-message-container {
margin: 1rem 0;
border: 1px solid var(--background-modifier-border);
border-radius: 6px;
background: var(--background-secondary);
flex-shrink: 0;
}
.sc-system-message-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 1rem;
cursor: pointer;
font-weight: 500;
border-bottom: 1px solid transparent;
transition: background-color 0.2s ease;
&:hover {
background: var(--background-modifier-hover);
}
span {
display: flex;
align-items: center;
gap: 0.5rem;
}
.sc-system-message-toggle-icon {
transition: transform 0.2s ease;
}
&[aria-expanded="true"] {
border-bottom-color: var(--background-modifier-border);
}
}
.sc-system-message-content {
padding: 1rem;
position: relative;
background: var(--background-primary);
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
.sc-system-message-text {
font-family: var(--font-monospace);
white-space: pre-wrap;
word-break: break-word;
margin-right: 2rem;
}
.sc-system-message-copy {
position: absolute;
top: 1rem;
right: 1rem;
padding: 0.4rem;
background: transparent;
border: none;
cursor: pointer;
opacity: 0.6;
transition: opacity 0.2s ease;
&:hover {
opacity: 1;
}
&.sc-copied {
color: var(--text-accent);
}
}
}
.sc-chat-container {
.smart-chat-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: var(--background-primary-alt);
z-index: 100;
overflow: auto;
.smart-chat-overlay-header {
display: flex;
justify-content: flex-end;
}
.setting-item {
flex-direction: column;
align-items: flex-start;
}
}
}
.sc-typing-indicator {
display: flex;
align-items: center;
padding: 12px 16px;
display: none;
&.visible {
display: flex;
}
.sc-typing-dots {
display: flex;
gap: 4px;
.sc-typing-dot {
width: 8px;
height: 8px;
background: var(--text-muted);
border-radius: 50%;
animation: typing-bounce 1.4s infinite ease-in-out;
&:nth-child(1) {
animation-delay: 0s;
}
&:nth-child(2) {
animation-delay: 0.2s;
}
&:nth-child(3) {
animation-delay: 0.4s;
}
}
}
}
/* keyframes must be at root level */
@keyframes typing-bounce {
0%,
80%,
100% {
transform: scale(0.6);
}
40% {
transform: scale(1);
}
}
/* Lookup */
#sc-lookup-view {
.sc-container {
.sc-textarea-container {
display: flex;
padding: 0 10px 1rem 0;
width: 100%;
max-height: 50%;
> textarea {
flex-grow: 1;
padding: 0.88rem;
border: none;
border-radius: 1.5rem;
resize: none;
height: auto;
min-height: 4.2lh;
max-height: 100%;
background-color: var(--background-primary);
color: var(--text-normal);
margin-right: -2.7rem;
padding-right: 3rem;
}
.sc-textarea-btn-container {
width: 2rem;
height: 2rem;
margin: auto;
> button.send-button {
border-radius: 99999px;
cursor: pointer;
outline: 2px solid transparent;
padding: 0;
outline-offset: 2px;
background: none !important;
&:focus-visible {
outline-color: var(--text-faint);
box-shadow: none;
}
> svg {
> circle {
fill: var(--text-faint);
}
> path {
fill: var(--background-primary);
}
}
}
}
}
}
}
/* Side Panes */
div.workspace-leaf-content[data-type^="smart-"] {
> .view-content {
display: flex;
flex-direction: column;
}
}
.sc-inline-confirm-row {
margin-top: 10px;
padding: 6px;
border: 1px solid var(--interactive-normal);
}
.sc-inline-confirm-row-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 10px;
& .sc-inline-confirm-yes {
font-weight: bold;
}
& .sc-inline-confirm-cancel {
font-weight: normal;
}
}
.sc-story-modal {
width: 80% !important;
height: 80% !important;
}
.sc-story-container {
display: flex;
flex-direction: column;
height: 100%;
}
.sc-other-plugins {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 20px;
button {
padding: 10px;
border-radius: var(--radius-s);
background-color: var(--background-primary);
color: var(--text-normal);
border: none;
cursor: pointer;
font-size: var(--font-small);
&:hover {
background-color: var(--background-primary-hover);
}
}
}

View File

@@ -0,0 +1,17 @@
{
"relevanceScoreThreshold": 0.5,
"nodeSize": 6.78,
"repelForce": 206,
"linkForce": 1,
"linkDistance": 60,
"centerForce": 0.1,
"textFadeThreshold": 0.1,
"minLinkThickness": 0.76,
"maxLinkThickness": 10,
"maxLabelCharacters": 18,
"linkLabelSize": 7,
"nodeLabelSize": 6,
"connectionType": "block",
"noteFillColor": "#7c8594",
"blockFillColor": "#926ec9"
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,11 @@
{
"id": "smart-connections-visualizer",
"name": "Smart Connections Visualizer",
"version": "1.0.27",
"minAppVersion": "0.15.0",
"description": "View your Smart Connections in a visualized format.",
"author": "Evan Moscoso",
"authorUrl": "https://github.com/mossy1022",
"fundingUrl": "https://buymeacoffee.com/evansoasis",
"isDesktopOnly": true
}

View File

@@ -0,0 +1,239 @@
.smart-connections-visualizer-link {
stroke: var(--background-modifier-border);
stroke-opacity: 1;
cursor: pointer;
}
.smart-connections-visualizer-label {
pointer-events: none;
fill: var(--text-normal);
font-family: 'Inter';
}
.smart-connections-visualizer-link-label {
font-family: 'Inter';
}
.smart-connections-visualizer-node:hover {
stroke: #fff;
cursor: pointer;
stroke-width: 0.4px;
}
svg .smart-connections-visualizer-nodes circle {
cursor: pointer;
}
.smart-connections-visualizer-node {
cursor: pointer;
}
.smart-connections-visualizer-settings-icon {
position: absolute;
top: 14px;
right: 14px;
cursor: pointer;
font-size: 24px;
color: #bbb;
z-index: 999; /* Ensure the icon stays above other elements */
}
.sc-visualizer-dropdown-menu {
font-family: 'Cascadia';
display: none;
position: absolute;
top: 13px; /* Position on top of the settings icon */
right: 10px;
background-color: #333;
border: 1px solid #444;
border-radius: 5px;
padding: 10px;
width: 300px;
z-index: 1000; /* Ensure the menu stays above other elements */
}
.sc-visualizer-dropdown-menu {
background-color: rgba(51, 51, 51, 0.9) !important;
}
.sc-visualizer-dropdown-menu.visible {
display: block !important;
}
.sc-visualizer-dropdown-menu.open {
display: block !important;
}
.smart-connections-visualizer-menu-header {
display: flex;
justify-content: flex-end;
margin-bottom: 5px;
font-family: sans-serif;
}
.smart-connections-visualizer-menu-header .smart-connections-visualizer-icon {
cursor: pointer;
font-size: 19px;
color: #bbb;
margin-left: 10px;
margin-top: -2px;
}
.smart-connections-visualizer-menu-header .smart-connections-visualizer-icon:hover {
color: #fff;
}
.smart-connections-visualizer-accordion-item {
margin-bottom: 10px;
color: #a3aecb;
}
.smart-connections-visualizer-slider {
width: 100% !important;
}
.smart-connections-visualizer-slider-container {
margin-bottom: 8px;
}
.smart-connections-visualizer-score-threshold-label {
text-wrap: nowrap;
}
#smart-connections-visualizer-refresh-icon {
font-size: 28px;
margin-top: -2px;
width: 20px;
height: 20px;
display: flex;
}
.smart-connections-visualizer-lucide-x {
height: 24px !important;
width: 24px !important;
}
.smart-connections-visualizer-settings-icon {
-webkit-app-region: no-drag;
background-color: transparent;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
border-radius: 1px;
color: #7c849c;
/* opacity: var(--icon-opacity); */
transition: opacity 0.15s ease-in-out;
height: auto;
border: 1px solid #434851;
position: absolute;
padding: 8px;
top: 14px;
right: 14px;
}
.smart-connections-visualizer-accordion-header {
cursor: pointer;
background-color: #444;
color: #fff;
padding: 10px;
border-radius: 5px;
display: block;
align-items: center;
}
.smart-connections-visualizer-accordion-header:hover {
background-color: #555;
}
.smart-connections-visualizer-accordion-content {
display: none;
padding: 10px;
background-color: #333;
border-radius: 5px;
}
.smart-connections-visualizer-accordion-content.show {
display: block;
}
.smart-connections-visualizer-dropdown-indicator {
width: 16px;
height: 16px;
margin-right: 8px;
vertical-align: middle;
}
.smart-connections-visualizer-radio-container {
margin-top: 10px;
}
.smart-connections-visualizer-radio-container label {
margin-right: 10px;
color: #a3aecb;
}
.smart-connections-visualizer-settings-item-content-label {
margin-right: 20px;
}
.smart-connections-visualizer-selection-box {
stroke: #00f;
stroke-width: 1;
fill: rgba(0, 0, 255, 0.3);
}
/* Styles for the legend container */
.smart-connections-visualizer-legend-container {
width: 295px;
border-collapse: collapse;
background-color: #2d3039; /* Dark background color similar to settings menu */
color: #a3aecb; /* Light text color similar to settings menu */
position: absolute;
top: 14;
left: 10;
}
/* Styles for the legend header */
.smart-connections-visualizer-legend-header {
display: flex;
background-color: #303030; /* Darker background color for header */
text-align: left;
/* border-bottom: 1px solid #ddd; */
}
/* Styles for each header cell in the legend */
.smart-connections-visualizer-legend-header div {
padding: 8px;
}
/* Styles for each row in the legend */
.smart-connections-visualizer-legend-row {
display: flex;
align-items: center;
/* border-bottom: 1px solid #ddd; */
}
/* Alternate row coloring for better readability */
.smart-connections-visualizer-legend-row:nth-child(even) {
background-color: #3d4149; /* Slightly lighter row color for contrast */
}
.smart-connections-visualizer-legend-row:nth-child(odd) {
background-color: #2d3039; /* Same as container background color */
}
/* Styles for each cell in the row */
.smart-connections-visualizer-legend-row div {
padding: 8px;
}
/* Styles for the color picker input */
.smart-connections-visualizer-legend-color-picker {
width: 30px;
height: 30px;
border: none;
cursor: pointer;
}
.smart-connections-visualizer-variable-col {
flex: 2;
}
.smart-connections-visualizer-count-col {
flex: 1;
text-align: center;
}
.smart-connections-visualizer-color-col {
flex: 1;
text-align: center;
}