...
This commit is contained in:
parent
08eb83a0a5
commit
34d27386d5
19 changed files with 9136 additions and 10496 deletions
19265
MyObsidianVault/.obsidian/plugins/calc-craft/main.js
vendored
19265
MyObsidianVault/.obsidian/plugins/calc-craft/main.js
vendored
File diff suppressed because it is too large
Load diff
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "calc-craft",
|
||||
"name": "CalcCraft",
|
||||
"version": "2.2.7",
|
||||
"version": "2.3.7",
|
||||
"minAppVersion": "0.15.0",
|
||||
"description": "have formulas like in excel a1+a2, or sum()",
|
||||
"author": "klaudyu",
|
||||
|
|
|
|||
|
|
@ -119,24 +119,26 @@ td.label-cell.row {
|
|||
|
||||
/* Hide original text when showing computed value */
|
||||
.cm-table-widget .table-cell-wrapper.calc-overlay-cell:not(:focus-within) {
|
||||
position: relative;
|
||||
color: transparent;
|
||||
position: relative;
|
||||
font-size: 0; /* Collapse the text so it doesn't affect layout */
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
|
||||
/* Base overlay - inherits color from parent cell */
|
||||
.cm-table-widget .table-cell-wrapper.calc-overlay-cell:not(:focus-within)::after {
|
||||
content: attr(data-calc-display);
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
white-space: pre;
|
||||
color: inherit; /* ← Changed from var(--text-normal) to inherit */
|
||||
pointer-events: none;
|
||||
padding: 0 4px;
|
||||
content: attr(data-calc-display);
|
||||
position: relative; /* Changed from absolute */
|
||||
display: inline-block; /* Changed to allow sizing */
|
||||
white-space: pre;
|
||||
color: inherit;
|
||||
font-size: 1rem; /* Restore normal font size */
|
||||
line-height: normal; /* Restore normal line height */
|
||||
padding: 0 4px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
|
||||
/* Formula cell overlays - inherit formula colors */
|
||||
.cm-table-widget .formula-cell-colorenabled .table-cell-wrapper.calc-overlay-cell:not(:focus-within)::after {
|
||||
color: var(--CalcCraft_formula_font_color_light);
|
||||
|
|
@ -180,4 +182,55 @@ td.label-cell.row {
|
|||
|
||||
.theme-dark .cm-table-widget .cell-children-highlight .table-cell-wrapper.calc-overlay-cell:not(:focus-within)::after {
|
||||
color: var(--CalcCraft_formula_font_children_dark);
|
||||
}
|
||||
}
|
||||
|
||||
/* Make table cells position relative for absolute positioning of labels */
|
||||
table th,
|
||||
table td {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Add padding to table to make room for labels */
|
||||
table {
|
||||
margin-left: 25px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
/* Column labels - display above th/td elements */
|
||||
th[data-col-letter]::before,
|
||||
td[data-col-letter]::before {
|
||||
content: attr(data-col-letter);
|
||||
position: absolute;
|
||||
top: -18px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
font-size: 0.75em;
|
||||
color: var(--text-muted);
|
||||
font-weight: normal;
|
||||
pointer-events: none;
|
||||
white-space: nowrap;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* Row labels - display to the left of first cell in each row */
|
||||
tr th:first-child[data-row-number]::after,
|
||||
tr td:first-child[data-row-number]::after {
|
||||
content: attr(data-row-number);
|
||||
position: absolute;
|
||||
left: -25px;
|
||||
top: 50%;
|
||||
#transform: translateY(-50%);
|
||||
font-size: 0.75em;
|
||||
color: var(--text-muted);
|
||||
font-weight: normal;
|
||||
pointer-events: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Escaped text cells - look like normal text, not formulas */
|
||||
.cm-table-widget .escaped-text-cell .table-cell-wrapper.calc-overlay-cell:not(:focus-within)::after {
|
||||
color: var(--text-normal); /* Normal text color, not formula color */
|
||||
}
|
||||
|
||||
|
|
@ -10,27 +10,53 @@ class GdscriptSyntaxPlugin extends obsidian.Plugin {
|
|||
// onload, so continue to try and define the language until it is.
|
||||
const setupInterval = setInterval(() => {
|
||||
if (CodeMirror && CodeMirror.defineSimpleMode) {
|
||||
const KEYWORDS = new Set([
|
||||
'and','as','assert','await','break','breakpoint','const','continue','elif','else','enum',
|
||||
'for','if','in','master','mastersync','match','not','null','or','pass','preload',
|
||||
'puppet','puppetsync','remote','remotesync','return','self','setget','static','tool',
|
||||
'var','while','yield'
|
||||
]);
|
||||
|
||||
const mode = {
|
||||
start: [
|
||||
{ regex: /\b0x[0-9a-f]+\b/i, token: "number" },
|
||||
{ regex: /\b-?\d+\b/, token: "number" },
|
||||
{ regex: /\b0x[0-9a-f]+\b/i, token: 'number' },
|
||||
{ regex: /\b-?\d+\b/, token: 'number' },
|
||||
{ regex: /#.+/, token: 'comment' },
|
||||
{ regex: /\s*(@onready|@export)\b/, token: 'keyword' },
|
||||
{ regex: /\b(?:and|as|assert|await|break|breakpoint|const|continue|elif|else|enum|for|if|in|is|master|mastersync|match|not|null|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|static|tool|var|while|yield)\b/, token: 'keyword' },
|
||||
{ regex: /[()\[\]{},]/, token: "meta" },
|
||||
{ regex: /[()\[\]{},]/, token: 'meta' },
|
||||
|
||||
// The words following func, class_name and class should be highlighted as attributes,
|
||||
// so push onto the definition stack
|
||||
{ regex: /\b(func|class_name|class|extends|signal)\b/, token: "keyword", push: "definition" },
|
||||
{ regex: /\b(func|class_name|class|extends|signal|is)\b/, token: 'keyword', push: 'definition' },
|
||||
|
||||
{ regex: /@?(?:("|')(?:(?!\1)[^\n\\]|\\[\s\S])*\1(?!"|')|"""(?:[^\\]|\\[\s\S])*?""")/, token: "string" },
|
||||
{ regex: /@?(?:("|')(?:(?!\1)[^\n\\]|\\[\s\S])*\1(?!"|')|"""(?:[^\\]|\\[\s\S])*?""")/, token: 'string' },
|
||||
{ regex: /\$[\w\/]+\b/, token: 'variable' },
|
||||
{ regex: /\:[\s]*$/, token: 'operator' },
|
||||
{ regex: /\:[ ]*/, token: 'meta', push: 'var_type' },
|
||||
{ regex: /\->[ ]*/, token: 'operator', push: 'definition' },
|
||||
{ regex: /\+|\*|-|\/|:=|>|<|\^|&|\||%|~|=/, token: "operator" },
|
||||
{ regex: /\+|\*|-|\/|:=|>|<|\^|&|\||%|~|=/, token: 'operator' },
|
||||
{ regex: /\b(?:false|true)\b/, token: 'number' },
|
||||
{ regex: /\b[A-Z][A-Z_\d]*\b/, token: 'operator' },
|
||||
|
||||
// Function calls on objects: object.doSomething()
|
||||
{
|
||||
regex: /(\.)([A-Za-z_]\w*)(?=\s*\()/,
|
||||
token: ['operator', 'variable'],
|
||||
},
|
||||
|
||||
// Normal function calls: doSomething()
|
||||
{
|
||||
regex: /[A-Za-z_]\w*(?=\s*\()/,
|
||||
token: 'variable',
|
||||
},
|
||||
|
||||
{
|
||||
regex: /[A-Za-z_]\w*/,
|
||||
token: (match) => {
|
||||
const word = Array.isArray(match) ? match[0] : match;
|
||||
return KEYWORDS.has(word) ? 'keyword' : null;
|
||||
}
|
||||
},
|
||||
],
|
||||
var_type: [
|
||||
{ regex: /(\w+)/, token: 'attribute', pop: true },
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@
|
|||
"isDesktopOnly": false,
|
||||
"minAppVersion": "1.5.12",
|
||||
"name": "GDScript Syntax Highlighting",
|
||||
"version": "1.0.3"
|
||||
"version": "1.1.0"
|
||||
}
|
||||
|
|
@ -1,4 +1,6 @@
|
|||
{
|
||||
"copyLinkToElemenetAnchorTo100": false,
|
||||
"copyFrameLinkByName": false,
|
||||
"disableDoubleClickTextEditing": false,
|
||||
"folder": "",
|
||||
"cropFolder": "",
|
||||
|
|
@ -39,6 +41,9 @@
|
|||
"overrideObsidianFontSize": false,
|
||||
"dynamicStyling": "colorful",
|
||||
"isLeftHanded": false,
|
||||
"desktopUIMode": "tray",
|
||||
"tabletUIMode": "compact",
|
||||
"phoneUIMode": "mobile",
|
||||
"iframeMatchExcalidrawTheme": true,
|
||||
"matchTheme": false,
|
||||
"matchThemeAlways": false,
|
||||
|
|
@ -72,6 +77,7 @@
|
|||
"focusOnFileTab": true,
|
||||
"openInMainWorkspace": true,
|
||||
"showLinkBrackets": true,
|
||||
"syncElementLinkWithText": false,
|
||||
"allowCtrlClick": true,
|
||||
"forceWrap": false,
|
||||
"pageTransclusionCharLimit": 200,
|
||||
|
|
@ -119,9 +125,7 @@
|
|||
"mdBorderColor": "Black",
|
||||
"mdCSS": "",
|
||||
"scriptEngineSettings": {},
|
||||
"defaultTrayMode": true,
|
||||
"compactModeOnTablets": true,
|
||||
"previousRelease": "2.16.1",
|
||||
"previousRelease": "2.20.5",
|
||||
"showReleaseNotes": true,
|
||||
"compareManifestToPluginVersion": true,
|
||||
"showNewVersionNotification": true,
|
||||
|
|
@ -130,6 +134,7 @@
|
|||
"taskboneEnabled": false,
|
||||
"taskboneAPIkey": "",
|
||||
"pinnedScripts": [],
|
||||
"sidepanelTabs": [],
|
||||
"customPens": [
|
||||
{
|
||||
"type": "default",
|
||||
|
|
@ -484,6 +489,7 @@
|
|||
"aiEnabled": true,
|
||||
"openAIAPIToken": "",
|
||||
"openAIDefaultTextModel": "gpt-3.5-turbo-1106",
|
||||
"openAIDefaultTextModelMaxTokens": 4096,
|
||||
"openAIDefaultVisionModel": "gpt-4o",
|
||||
"openAIDefaultImageGenerationModel": "dall-e-3",
|
||||
"openAIURL": "https://api.openai.com/v1/chat/completions",
|
||||
|
|
@ -811,6 +817,9 @@
|
|||
"alignment": "center",
|
||||
"margin": "normal"
|
||||
},
|
||||
"disableContextMenu": false,
|
||||
"defaultTrayMode": true,
|
||||
"compactModeOnTablets": true,
|
||||
"autosaveInterval": 15000,
|
||||
"mathjaxSourceURL": "https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"id": "obsidian-excalidraw-plugin",
|
||||
"name": "Excalidraw",
|
||||
"version": "2.16.1",
|
||||
"version": "2.20.5",
|
||||
"minAppVersion": "1.5.7",
|
||||
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
|
||||
"description": "Sketch Your Mind. An Obsidian plugin to edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.",
|
||||
"author": "Zsolt Viczian",
|
||||
"authorUrl": "https://excalidraw-obsidian.online",
|
||||
"fundingUrl": "https://ko-fi.com/zsolt",
|
||||
"helpUrl": "https://github.com/zsviczian/obsidian-excalidraw-plugin#readme",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue