diff --git a/docs/API/ExcalidrawAutomate.d.ts b/docs/API/ExcalidrawAutomate.d.ts
index 2813b4a..9093a37 100644
--- a/docs/API/ExcalidrawAutomate.d.ts
+++ b/docs/API/ExcalidrawAutomate.d.ts
@@ -1,16 +1,16 @@
///
-import ExcalidrawPlugin from "src/Core/main";
+import ExcalidrawPlugin from "src/core/main";
import { FillStyle, StrokeStyle, ExcalidrawElement, ExcalidrawBindableElement, FileId, NonDeletedExcalidrawElement, ExcalidrawImageElement, StrokeRoundness, RoundnessType } from "@zsviczian/excalidraw/types/excalidraw/element/types";
import { Editor, OpenViewState, TFile, WorkspaceLeaf } from "obsidian";
import * as obsidian_module from "obsidian";
-import ExcalidrawView, { ExportSettings } from "src/View/ExcalidrawView";
+import ExcalidrawView, { ExportSettings } from "src/view/ExcalidrawView";
import { AppState, BinaryFileData, DataURL, ExcalidrawImperativeAPI, Point } from "@zsviczian/excalidraw/types/excalidraw/types";
import { EmbeddedFilesLoader } from "src/EmbeddedFileLoader";
-import { ConnectionPoint, DeviceType } from "src/Types/Types";
+import { ConnectionPoint, DeviceType } from "src/types/types";
import { ColorMaster } from "colormaster";
import { TInput } from "colormaster/types";
import { ClipboardData } from "@zsviczian/excalidraw/types/excalidraw/clipboard";
-import { PaneTarget } from "src/Utils/ModifierkeyHelper";
+import { PaneTarget } from "src/utils/modifierkeyHelper";
export declare class ExcalidrawAutomate {
/**
* Utility function that returns the Obsidian Module object.
diff --git a/docs/API/attributes_functions_overview.md b/docs/API/attributes_functions_overview.md
index 3e56fe8..f29623d 100644
--- a/docs/API/attributes_functions_overview.md
+++ b/docs/API/attributes_functions_overview.md
@@ -17,7 +17,7 @@ import { ConnectionPoint, DeviceType } from "src/types";
import { ColorMaster } from "colormaster";
import { TInput } from "colormaster/types";
import { ClipboardData } from "@zsviczian/excalidraw/types/clipboard";
-import { PaneTarget } from "src/utils/ModifierkeyHelper";
+import { PaneTarget } from "src/utils/modifierkeyHelper";
export declare class ExcalidrawAutomate {
/**
* Utility function that returns the Obsidian Module object.
diff --git a/rollup.config.js b/rollup.config.js
index a9d83b5..b9c6d4b 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -48,7 +48,7 @@ function minifyCode(code) {
}
function compressLanguageFile(lang) {
- const inputDir = "./src/Lang/Locale";
+ const inputDir = "./src/lang/locale";
const filePath = `${inputDir}/${lang}.ts`;
let content = fs.readFileSync(filePath, "utf-8");
content = trimLastSemicolon(content.split("export default")[1].trim());
@@ -102,7 +102,7 @@ const packageString = isLib
'const PLUGIN_VERSION="' + manifest.version + '";';
const BASE_CONFIG = {
- input: 'src/Core/main.ts',
+ input: 'src/core/main.ts',
external: [
'@codemirror/autocomplete',
'@codemirror/collab',
@@ -141,7 +141,12 @@ const BUILD_CONFIG = {
exports: 'default',
},
plugins: getRollupPlugins(
- {tsconfig: isProd ? "tsconfig.json" : "tsconfig.dev.json"},
+ {
+ tsconfig: isProd ? "tsconfig.json" : "tsconfig.dev.json",
+ sourcemap: !isProd,
+ clean: true,
+ verbosity: isProd ? 1 : 2,
+ },
...(isProd ? [
terser({
toplevel: false,
@@ -166,10 +171,10 @@ const BUILD_CONFIG = {
const LIB_CONFIG = {
...BASE_CONFIG,
- input: "src/Core/index.ts",
+ input: "src/core/index.ts",
output: {
dir: "lib",
- sourcemap: true,
+ sourcemap: false,
format: "cjs",
name: "Excalidraw (Library)",
},
diff --git a/src/View/Components/Menu/ActionIcons.tsx b/src/constants/actionIcons.tsx
similarity index 99%
rename from src/View/Components/Menu/ActionIcons.tsx
rename to src/constants/actionIcons.tsx
index a043140..8243e69 100644
--- a/src/View/Components/Menu/ActionIcons.tsx
+++ b/src/constants/actionIcons.tsx
@@ -1,6 +1,6 @@
import { Copy, Crop, Globe, RotateCcw, Scan, Settings, TextSelect } from "lucide-react";
import * as React from "react";
-import { PenStyle } from "src/Types/PenTypes";
+import { PenStyle } from "src/types/penTypes";
export const ICONS = {
ExportImage: (
diff --git a/src/constants/Assets/startupScript.md b/src/constants/assets/startupScript.md
similarity index 100%
rename from src/constants/Assets/startupScript.md
rename to src/constants/assets/startupScript.md
diff --git a/src/constants/constants.ts b/src/constants/constants.ts
index 8c7b74b..9f5709e 100644
--- a/src/constants/constants.ts
+++ b/src/constants/constants.ts
@@ -1,8 +1,8 @@
import { customAlphabet } from "nanoid";
-import { DeviceType } from "../Types/Types";
-import { ExcalidrawLib } from "../Types/ExcalidrawLib";
+import { ExcalidrawLib } from "../types/excalidrawLib";
import { moment } from "obsidian";
-import ExcalidrawPlugin from "src/Core/main";
+import ExcalidrawPlugin from "src/core/main";
+import { DeviceType } from "src/types/types";
//This is only for backward compatibility because an early version of obsidian included an encoding to avoid fantom links from littering Obsidian graph view
declare const PLUGIN_VERSION:string;
export let EXCALIDRAW_PLUGIN: ExcalidrawPlugin = null;
diff --git a/src/Core/CodeMirrorExtension/EditorHandler.ts b/src/core/editor/EditorHandler.ts
similarity index 94%
rename from src/Core/CodeMirrorExtension/EditorHandler.ts
rename to src/core/editor/EditorHandler.ts
index d53af3d..1a4fd3e 100644
--- a/src/Core/CodeMirrorExtension/EditorHandler.ts
+++ b/src/core/editor/EditorHandler.ts
@@ -1,7 +1,7 @@
import { Extension } from "@codemirror/state";
-import ExcalidrawPlugin from "src/Core/main";
+import ExcalidrawPlugin from "src/core/main";
import { HideTextBetweenCommentsExtension } from "./Fadeout";
-import { debug, DEBUGGING } from "src/Utils/DebugHelper";
+import { debug, DEBUGGING } from "src/utils/debugHelper";
export const EDITOR_FADEOUT = "fadeOutExcalidrawMarkup";
const editorExtensions: {[key:string]:Extension}= {
diff --git a/src/Core/CodeMirrorExtension/Fadeout.ts b/src/core/editor/Fadeout.ts
similarity index 100%
rename from src/Core/CodeMirrorExtension/Fadeout.ts
rename to src/core/editor/Fadeout.ts
diff --git a/src/Core/index.ts b/src/core/index.ts
similarity index 92%
rename from src/Core/index.ts
rename to src/core/index.ts
index 24feded..9bd4dac 100644
--- a/src/Core/index.ts
+++ b/src/core/index.ts
@@ -3,7 +3,7 @@ import "obsidian";
//export ExcalidrawAutomate from "./ExcalidrawAutomate";
//export {ExcalidrawAutomate} from "./ExcaildrawAutomate";
export type { ExcalidrawBindableElement, ExcalidrawElement, FileId, FillStyle, StrokeRoundness, StrokeStyle } from "@zsviczian/excalidraw/types/excalidraw/element/types";
-export type { Point } from "src/Types/Types";
+export type { Point } from "src/types/types";
export const getEA = (view?:any): any => {
try {
return window.ExcalidrawAutomate.getAPI(view);
diff --git a/src/Core/main.ts b/src/core/main.ts
similarity index 96%
rename from src/Core/main.ts
rename to src/core/main.ts
index 0a978ba..2024528 100644
--- a/src/Core/main.ts
+++ b/src/core/main.ts
@@ -38,18 +38,18 @@ import {
updateExcalidrawLib,
loadMermaid,
setRootElementSize,
-} from "../Constants/Constants";
+} from "../constants/constants";
import { ExcalidrawSettings, DEFAULT_SETTINGS, ExcalidrawSettingTab } from "./settings";
-import { initExcalidrawAutomate, ExcalidrawAutomate } from "../Shared/ExcalidrawAutomate";
+import { initExcalidrawAutomate, ExcalidrawAutomate } from "../shared/ExcalidrawAutomate";
import { around, dedupe } from "monkey-around";
-import { t } from "../Lang/Helpers";
+import { t } from "../lang/helpers";
import {
checkAndCreateFolder,
fileShouldDefaultAsExcalidraw,
getDrawingFilename,
getIMGFilename,
getNewUniqueFilepath,
-} from "../Utils/FileUtils";
+} from "../utils/fileUtils";
import {
getFontDataURL,
errorlog,
@@ -59,35 +59,35 @@ import {
isCallerFromTemplaterPlugin,
versionUpdateCheckTimer,
getFontMetrics,
-} from "../Utils/Utils";
-import { foldExcalidrawSection, getExcalidrawViews, setExcalidrawView } from "../Utils/ObsidianUtils";
+} from "../utils/utils";
+import { foldExcalidrawSection, getExcalidrawViews, setExcalidrawView } from "../utils/obsidianUtils";
import { FileId } from "@zsviczian/excalidraw/types/excalidraw/element/types";
-import { ScriptEngine } from "../Shared/Scripts";
-import { hoverEvent, initializeMarkdownPostProcessor, markdownPostProcessor, legacyExcalidrawPopoverObserver } from "./Managers/MarkdownPostProcessor";
-import { FieldSuggester } from "../Shared/Suggesters/FieldSuggester";
-import { ReleaseNotes } from "../Shared/Dialogs/ReleaseNotes";
-import { Packages } from "../Types/Types";
-import { PreviewImageType } from "../Utils/UtilTypes";
-import { emulateCTRLClickForLinks, linkClickModifierType, PaneTarget } from "../Utils/ModifierkeyHelper";
-import { imageCache } from "../Utils/ImageCache";
-import { StylesManager } from "../Utils/StylesManager";
-import { CustomMutationObserver, debug, log, DEBUGGING, setDebugging, ts } from "../Utils/DebugHelper";
-import { ExcalidrawConfig } from "../Utils/ExcalidrawConfig";
-import { EditorHandler } from "./CodeMirrorExtension/EditorHandler";
-import { ExcalidrawLib } from "../Types/ExcalidrawLib";
-import { Rank, SwordColors } from "../View/Components/Menu/ActionIcons";
-import { RankMessage } from "../Shared/Dialogs/RankMessage";
-import { initCompressionWorker, terminateCompressionWorker } from "../Shared/Workers/compression-worker";
-import { WeakArray } from "../Utils/WeakArray";
-import { getCJKDataURLs } from "../Utils/CJKLoader";
-import { ExcalidrawLoading, switchToExcalidraw } from "../View/ExcalidrawLoading";
-import { clearMathJaxVariables } from "../Shared/LaTeX";
-import { PluginFileManager } from "./Managers/FileManager";
-import { ObserverManager } from "./Managers/ObserverManager";
-import { PackageManager } from "./Managers/PackageManager";
-import ExcalidrawView from "../View/ExcalidrawView";
-import { CommandManager } from "./Managers/CommandManager";
-import { EventManager } from "./Managers/EventManager";
+import { ScriptEngine } from "../shared/Scripts";
+import { hoverEvent, initializeMarkdownPostProcessor, markdownPostProcessor, legacyExcalidrawPopoverObserver } from "./managers/MarkdownPostProcessor";
+import { FieldSuggester } from "../shared/Suggesters/FieldSuggester";
+import { ReleaseNotes } from "../shared/Dialogs/ReleaseNotes";
+import { Packages } from "../types/types";
+import { PreviewImageType } from "../types/utilTypes";
+import { emulateCTRLClickForLinks, linkClickModifierType, PaneTarget } from "../utils/modifierkeyHelper";
+import { imageCache } from "../shared/ImageCache";
+import { StylesManager } from "./managers/StylesManager";
+import { CustomMutationObserver, debug, log, DEBUGGING, setDebugging, ts } from "../utils/debugHelper";
+import { ExcalidrawConfig } from "../shared/ExcalidrawConfig";
+import { EditorHandler } from "./editor/EditorHandler";
+import { ExcalidrawLib } from "../types/excalidrawLib";
+import { Rank, SwordColors } from "../constants/actionIcons";
+import { RankMessage } from "../shared/Dialogs/RankMessage";
+import { initCompressionWorker, terminateCompressionWorker } from "../shared/Workers/compression-worker";
+import { WeakArray } from "../shared/WeakArray";
+import { getCJKDataURLs } from "../utils/CJKLoader";
+import { ExcalidrawLoading, switchToExcalidraw } from "../view/ExcalidrawLoading";
+import { clearMathJaxVariables } from "../shared/LaTeX";
+import { PluginFileManager } from "./managers/FileManager";
+import { ObserverManager } from "./managers/ObserverManager";
+import { PackageManager } from "./managers/PackageManager";
+import ExcalidrawView from "../view/ExcalidrawView";
+import { CommandManager } from "./managers/CommandManager";
+import { EventManager } from "./managers/EventManager";
declare const PLUGIN_VERSION:string;
declare const INITIAL_TIMESTAMP: number;
diff --git a/src/Core/Managers/CommandManager.ts b/src/core/managers/CommandManager.ts
similarity index 97%
rename from src/Core/Managers/CommandManager.ts
rename to src/core/managers/CommandManager.ts
index 8e0ea44..9d4a0d9 100644
--- a/src/Core/Managers/CommandManager.ts
+++ b/src/core/managers/CommandManager.ts
@@ -16,25 +16,25 @@ import {
IMAGE_TYPES,
DEVICE,
sceneCoordsToViewportCoords,
-} from "../../Constants/Constants";
-import ExcalidrawView, { TextMode } from "../../View/ExcalidrawView";
+} from "../../constants/constants";
+import ExcalidrawView, { TextMode } from "../../view/ExcalidrawView";
import {
REGEX_LINK,
-} from "../../Shared/ExcalidrawData";
+} from "../../shared/ExcalidrawData";
import { ExcalidrawSettings } from "../settings";
-import { openDialogAction, OpenFileDialog } from "../../Shared/Dialogs/OpenDrawing";
-import { InsertLinkDialog } from "../../Shared/Dialogs/InsertLinkDialog";
-import { InsertCommandDialog } from "../../Shared/Dialogs/InsertCommandDialog";
-import { InsertImageDialog } from "../../Shared/Dialogs/InsertImageDialog";
-import { ImportSVGDialog } from "../../Shared/Dialogs/ImportSVGDialog";
-import { InsertMDDialog } from "../../Shared/Dialogs/InsertMDDialog";
+import { openDialogAction, OpenFileDialog } from "../../shared/Dialogs/OpenDrawing";
+import { InsertLinkDialog } from "../../shared/Dialogs/InsertLinkDialog";
+import { InsertCommandDialog } from "../../shared/Dialogs/InsertCommandDialog";
+import { InsertImageDialog } from "../../shared/Dialogs/InsertImageDialog";
+import { ImportSVGDialog } from "../../shared/Dialogs/ImportSVGDialog";
+import { InsertMDDialog } from "../../shared/Dialogs/InsertMDDialog";
import {
ExcalidrawAutomate,
insertLaTeXToView,
search,
-} from "../../Shared/ExcalidrawAutomate";
-import { templatePromt } from "../../Shared/Dialogs/Prompt";
-import { t } from "../../Lang/Helpers";
+} from "../../shared/ExcalidrawAutomate";
+import { templatePromt } from "../../shared/Dialogs/Prompt";
+import { t } from "../../lang/helpers";
import {
getAliasWithSize,
getAnnotationFileNameAndFolder,
@@ -45,32 +45,32 @@ import {
getLink,
getListOfTemplateFiles,
getURLImageExtension,
-} from "../../Utils/FileUtils";
+} from "../../utils/fileUtils";
import {
setLeftHandedMode,
sleep,
decompress,
getImageSize,
-} from "../../Utils/Utils";
-import { extractSVGPNGFileName, getActivePDFPageNumberFromPDFView, getAttachmentsFolderAndFilePath, isObsidianThemeDark, mergeMarkdownFiles, setExcalidrawView } from "../../Utils/ObsidianUtils";
+} from "../../utils/utils";
+import { extractSVGPNGFileName, getActivePDFPageNumberFromPDFView, getAttachmentsFolderAndFilePath, isObsidianThemeDark, mergeMarkdownFiles, setExcalidrawView } from "../../utils/obsidianUtils";
import { ExcalidrawElement, ExcalidrawEmbeddableElement, ExcalidrawImageElement, ExcalidrawTextElement } from "@zsviczian/excalidraw/types/excalidraw/element/types";
-import { ReleaseNotes } from "../../Shared/Dialogs/ReleaseNotes";
-import { ScriptInstallPrompt } from "../../Shared/Dialogs/ScriptInstallPrompt";
-import Taskbone from "../../Shared/OCR/Taskbone";
-import { emulateCTRLClickForLinks, linkClickModifierType, PaneTarget } from "../../Utils/ModifierkeyHelper";
-import { InsertPDFModal } from "../../Shared/Dialogs/InsertPDFModal";
-import { ExportDialog } from "../../Shared/Dialogs/ExportDialog";
-import { UniversalInsertFileModal } from "../../Shared/Dialogs/UniversalInsertFileModal";
-import { PublishOutOfDateFilesDialog } from "../../Shared/Dialogs/PublishOutOfDateFiles";
-import { EmbeddableSettings } from "../../Shared/Dialogs/EmbeddableSettings";
-import { processLinkText } from "../../Utils/CustomEmbeddableUtils";
-import { getEA } from "src/Core";
+import { ReleaseNotes } from "../../shared/Dialogs/ReleaseNotes";
+import { ScriptInstallPrompt } from "../../shared/Dialogs/ScriptInstallPrompt";
+import Taskbone from "../../shared/OCR/Taskbone";
+import { emulateCTRLClickForLinks, linkClickModifierType, PaneTarget } from "../../utils/modifierkeyHelper";
+import { InsertPDFModal } from "../../shared/Dialogs/InsertPDFModal";
+import { ExportDialog } from "../../shared/Dialogs/ExportDialog";
+import { UniversalInsertFileModal } from "../../shared/Dialogs/UniversalInsertFileModal";
+import { PublishOutOfDateFilesDialog } from "../../shared/Dialogs/PublishOutOfDateFiles";
+import { EmbeddableSettings } from "../../shared/Dialogs/EmbeddableSettings";
+import { processLinkText } from "../../utils/customEmbeddableUtils";
+import { getEA } from "src/core";
import { ExcalidrawImperativeAPI } from "@zsviczian/excalidraw/types/excalidraw/types";
import { Mutable } from "@zsviczian/excalidraw/types/excalidraw/utility-types";
-import { carveOutImage, carveOutPDF, createImageCropperFile } from "../../Utils/CarveOut";
-import { showFrameSettings } from "../../Shared/Dialogs/FrameSettings";
-import { insertImageToView } from "../../Utils/ExcalidrawViewUtils";
-import ExcalidrawPlugin from "src/Core/main";
+import { carveOutImage, carveOutPDF, createImageCropperFile } from "../../utils/carveout";
+import { showFrameSettings } from "../../shared/Dialogs/FrameSettings";
+import { insertImageToView } from "../../utils/excalidrawViewUtils";
+import ExcalidrawPlugin from "src/core/main";
declare const PLUGIN_VERSION:string;
diff --git a/src/Core/Managers/EventManager.ts b/src/core/managers/EventManager.ts
similarity index 96%
rename from src/Core/Managers/EventManager.ts
rename to src/core/managers/EventManager.ts
index 2582c0f..7503840 100644
--- a/src/Core/Managers/EventManager.ts
+++ b/src/core/managers/EventManager.ts
@@ -1,13 +1,13 @@
import { WorkspaceLeaf, TFile, Editor, MarkdownView, MarkdownFileInfo, MetadataCache, App, EventRef, Menu, FileView } from "obsidian";
import { ExcalidrawElement } from "@zsviczian/excalidraw/types/excalidraw/element/types";
-import { getLink } from "../../Utils/FileUtils";
-import { editorInsertText, getParentOfClass, setExcalidrawView } from "../../Utils/ObsidianUtils";
-import ExcalidrawPlugin from "src/Core/main";
-import { DEBUGGING, debug } from "src/Utils/DebugHelper";
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
-import { DEVICE, FRONTMATTER_KEYS, ICON_NAME, VIEW_TYPE_EXCALIDRAW } from "src/Constants/Constants";
-import ExcalidrawView from "src/View/ExcalidrawView";
-import { t } from "src/Lang/Helpers";
+import { getLink } from "../../utils/fileUtils";
+import { editorInsertText, getParentOfClass, setExcalidrawView } from "../../utils/obsidianUtils";
+import ExcalidrawPlugin from "src/core/main";
+import { DEBUGGING, debug } from "src/utils/debugHelper";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
+import { DEVICE, FRONTMATTER_KEYS, ICON_NAME, VIEW_TYPE_EXCALIDRAW } from "src/constants/constants";
+import ExcalidrawView from "src/view/ExcalidrawView";
+import { t } from "src/lang/helpers";
/**
* Registers event listeners for the plugin
diff --git a/src/Core/Managers/FileManager.ts b/src/core/managers/FileManager.ts
similarity index 96%
rename from src/Core/Managers/FileManager.ts
rename to src/core/managers/FileManager.ts
index d9bdf2c..661cf0c 100644
--- a/src/Core/Managers/FileManager.ts
+++ b/src/core/managers/FileManager.ts
@@ -1,15 +1,15 @@
-import { debug } from "src/Utils/DebugHelper";
+import { debug } from "src/utils/debugHelper";
import { App, FrontMatterCache, MarkdownView, MetadataCache, normalizePath, Notice, TAbstractFile, TFile, WorkspaceLeaf } from "obsidian";
-import { BLANK_DRAWING, DARK_BLANK_DRAWING, DEVICE, EXPORT_TYPES, FRONTMATTER, FRONTMATTER_KEYS, JSON_parse, nanoid, VIEW_TYPE_EXCALIDRAW } from "src/Constants/Constants";
-import { Prompt, templatePromt } from "src/Shared/Dialogs/Prompt";
-import { changeThemeOfExcalidrawMD, ExcalidrawData, getMarkdownDrawingSection } from "../../Shared/ExcalidrawData";
-import ExcalidrawView, { getTextMode } from "src/View/ExcalidrawView";
-import ExcalidrawPlugin from "src/Core/main";
-import { DEBUGGING } from "src/Utils/DebugHelper";
-import { checkAndCreateFolder, download, getIMGFilename, getLink, getListOfTemplateFiles, getNewUniqueFilepath } from "src/Utils/FileUtils";
-import { PaneTarget } from "src/Utils/ModifierkeyHelper";
-import { getExcalidrawViews, getNewOrAdjacentLeaf, isObsidianThemeDark, openLeaf } from "src/Utils/ObsidianUtils";
-import { errorlog, getExportTheme } from "src/Utils/Utils";
+import { BLANK_DRAWING, DARK_BLANK_DRAWING, DEVICE, EXPORT_TYPES, FRONTMATTER, FRONTMATTER_KEYS, JSON_parse, nanoid, VIEW_TYPE_EXCALIDRAW } from "src/constants/constants";
+import { Prompt, templatePromt } from "src/shared/Dialogs/Prompt";
+import { changeThemeOfExcalidrawMD, ExcalidrawData, getMarkdownDrawingSection } from "../../shared/ExcalidrawData";
+import ExcalidrawView, { getTextMode } from "src/view/ExcalidrawView";
+import ExcalidrawPlugin from "src/core/main";
+import { DEBUGGING } from "src/utils/debugHelper";
+import { checkAndCreateFolder, download, getIMGFilename, getLink, getListOfTemplateFiles, getNewUniqueFilepath } from "src/utils/fileUtils";
+import { PaneTarget } from "src/utils/modifierkeyHelper";
+import { getExcalidrawViews, getNewOrAdjacentLeaf, isObsidianThemeDark, openLeaf } from "src/utils/obsidianUtils";
+import { errorlog, getExportTheme } from "src/utils/utils";
export class PluginFileManager {
private plugin: ExcalidrawPlugin;
diff --git a/src/Core/Managers/MarkdownPostProcessor.ts b/src/core/managers/MarkdownPostProcessor.ts
similarity index 97%
rename from src/Core/Managers/MarkdownPostProcessor.ts
rename to src/core/managers/MarkdownPostProcessor.ts
index 4f8bf98..b472b17 100644
--- a/src/Core/Managers/MarkdownPostProcessor.ts
+++ b/src/core/managers/MarkdownPostProcessor.ts
@@ -6,12 +6,12 @@ import {
TFile,
Vault,
} from "obsidian";
-import { DEVICE, RERENDER_EVENT } from "../../Constants/Constants";
-import { EmbeddedFilesLoader } from "../../Shared/EmbeddedFileLoader";
-import { createPNG, createSVG } from "../../Shared/ExcalidrawAutomate";
-import { ExportSettings } from "../../View/ExcalidrawView";
+import { DEVICE, RERENDER_EVENT } from "../../constants/constants";
+import { EmbeddedFilesLoader } from "../../shared/EmbeddedFileLoader";
+import { createPNG, createSVG } from "../../shared/ExcalidrawAutomate";
+import { ExportSettings } from "../../view/ExcalidrawView";
import ExcalidrawPlugin from "../main";
-import {getIMGFilename,} from "../../Utils/FileUtils";
+import {getIMGFilename,} from "../../utils/fileUtils";
import {
getEmbeddedFilenameParts,
getExportTheme,
@@ -21,15 +21,15 @@ import {
hasExportTheme,
convertSVGStringToElement,
isMaskFile,
-} from "../../Utils/Utils";
-import { getParentOfClass, isObsidianThemeDark, getFileCSSClasses } from "../../Utils/ObsidianUtils";
-import { linkClickModifierType } from "../../Utils/ModifierkeyHelper";
-import { ImageKey, imageCache } from "../../Utils/ImageCache";
-import { FILENAMEPARTS, PreviewImageType } from "../../Utils/UtilTypes";
-import { CustomMutationObserver, debug, DEBUGGING } from "../../Utils/DebugHelper";
-import { getExcalidrawFileForwardLinks } from "../../Utils/ExcalidrawViewUtils";
-import { linkPrompt } from "../../Shared/Dialogs/Prompt";
-import { isHTMLElement } from "../../Utils/Typechecks";
+} from "../../utils/utils";
+import { getParentOfClass, isObsidianThemeDark, getFileCSSClasses } from "../../utils/obsidianUtils";
+import { linkClickModifierType } from "../../utils/modifierkeyHelper";
+import { ImageKey, imageCache } from "../../shared/ImageCache";
+import { FILENAMEPARTS, PreviewImageType } from "../../types/utilTypes";
+import { CustomMutationObserver, debug, DEBUGGING } from "../../utils/debugHelper";
+import { getExcalidrawFileForwardLinks } from "../../utils/excalidrawViewUtils";
+import { linkPrompt } from "../../shared/Dialogs/Prompt";
+import { isHTMLElement } from "../../utils/typechecks";
interface imgElementAttributes {
file?: TFile;
diff --git a/src/Core/Managers/ObserverManager.ts b/src/core/managers/ObserverManager.ts
similarity index 97%
rename from src/Core/Managers/ObserverManager.ts
rename to src/core/managers/ObserverManager.ts
index ae946ca..eeb5772 100644
--- a/src/Core/Managers/ObserverManager.ts
+++ b/src/core/managers/ObserverManager.ts
@@ -1,7 +1,7 @@
-import { debug, DEBUGGING } from "src/Utils/DebugHelper";
-import ExcalidrawPlugin from "src/Core/main";
-import { CustomMutationObserver } from "src/Utils/DebugHelper";
-import { getExcalidrawViews, isObsidianThemeDark } from "src/Utils/ObsidianUtils";
+import { debug, DEBUGGING } from "src/utils/debugHelper";
+import ExcalidrawPlugin from "src/core/main";
+import { CustomMutationObserver } from "src/utils/debugHelper";
+import { getExcalidrawViews, isObsidianThemeDark } from "src/utils/obsidianUtils";
import { App, Notice, TFile } from "obsidian";
export class ObserverManager {
diff --git a/src/Core/Managers/PackageManager.ts b/src/core/managers/PackageManager.ts
similarity index 90%
rename from src/Core/Managers/PackageManager.ts
rename to src/core/managers/PackageManager.ts
index ff1dccd..196c8c1 100644
--- a/src/Core/Managers/PackageManager.ts
+++ b/src/core/managers/PackageManager.ts
@@ -1,9 +1,9 @@
-import { updateExcalidrawLib } from "src/Constants/Constants";
-import { ExcalidrawLib } from "../../Types/ExcalidrawLib";
-import { Packages } from "../../Types/Types";
-import { debug, DEBUGGING } from "../../Utils/DebugHelper";
+import { updateExcalidrawLib } from "src/constants/constants";
+import { ExcalidrawLib } from "../../types/excalidrawLib";
+import { Packages } from "../../types/types";
+import { debug, DEBUGGING } from "../../utils/debugHelper";
import { Notice } from "obsidian";
-import ExcalidrawPlugin from "src/Core/main";
+import ExcalidrawPlugin from "src/core/main";
declare let REACT_PACKAGES:string;
declare let react:any;
diff --git a/src/utils/StylesManager.ts b/src/core/managers/StylesManager.ts
similarity index 96%
rename from src/utils/StylesManager.ts
rename to src/core/managers/StylesManager.ts
index 864db46..6e35db5 100644
--- a/src/utils/StylesManager.ts
+++ b/src/core/managers/StylesManager.ts
@@ -1,7 +1,7 @@
import { WorkspaceWindow } from "obsidian";
-import ExcalidrawPlugin from "src/Core/main";
-import { getAllWindowDocuments } from "./ObsidianUtils";
-import { DEBUGGING, debug } from "./DebugHelper";
+import ExcalidrawPlugin from "src/core/main";
+import { getAllWindowDocuments } from "../../utils/obsidianUtils";
+import { DEBUGGING, debug } from "../../utils/debugHelper";
export let REM_VALUE = 16;
diff --git a/src/Core/settings.ts b/src/core/settings.ts
similarity index 98%
rename from src/Core/settings.ts
rename to src/core/settings.ts
index b15acf0..f32cd66 100644
--- a/src/Core/settings.ts
+++ b/src/core/settings.ts
@@ -10,37 +10,37 @@ import {
TextComponent,
TFile,
} from "obsidian";
-import { GITHUB_RELEASES, setRootElementSize } from "src/Constants/Constants";
-import { t } from "src/Lang/Helpers";
-import type ExcalidrawPlugin from "src/Core/main";
-import { PenStyle } from "src/Types/PenTypes";
-import { DynamicStyle, GridSettings } from "src/Types/Types";
-import { PreviewImageType } from "src/Utils/UtilTypes";
-import { setDynamicStyle } from "src/Utils/DynamicStyling";
+import { GITHUB_RELEASES, setRootElementSize } from "src/constants/constants";
+import { t } from "src/lang/helpers";
+import type ExcalidrawPlugin from "src/core/main";
+import { PenStyle } from "src/types/penTypes";
+import { DynamicStyle, GridSettings } from "src/types/types";
+import { PreviewImageType } from "src/types/utilTypes";
+import { setDynamicStyle } from "src/utils/dynamicStyling";
import {
getDrawingFilename,
getEmbedFilename,
-} from "src/Utils/FileUtils";
-import { PENS } from "src/Utils/Pens";
+} from "src/utils/fileUtils";
+import { PENS } from "src/utils/pens";
import {
addIframe,
fragWithHTML,
setLeftHandedMode,
-} from "src/Utils/Utils";
-import { imageCache } from "src/Utils/ImageCache";
-import { ConfirmationPrompt } from "src/Shared/Dialogs/Prompt";
-import { EmbeddableMDCustomProps } from "src/Shared/Dialogs/EmbeddableSettings";
-import { EmbeddalbeMDFileCustomDataSettingsComponent } from "src/Shared/Dialogs/EmbeddableMDFileCustomDataSettingsComponent";
-import { startupScript } from "src/Constants/Starutpscript";
-import { ModifierKeySet, ModifierSetType } from "src/Utils/ModifierkeyHelper";
-import { ModifierKeySettingsComponent } from "src/Shared/Dialogs/ModifierKeySettings";
-import { ANNOTATED_PREFIX, CROPPED_PREFIX } from "src/Utils/CarveOut";
-import { EDITOR_FADEOUT } from "src/Core/CodeMirrorExtension/EditorHandler";
-import { setDebugging } from "src/Utils/DebugHelper";
-import { Rank } from "src/View/Components/Menu/ActionIcons";
-import { TAG_AUTOEXPORT, TAG_MDREADINGMODE, TAG_PDFEXPORT } from "src/Constants/ConstSettingsTags";
-import { HotkeyEditor } from "src/Shared/Dialogs/HotkeyEditor";
-import { getExcalidrawViews } from "src/Utils/ObsidianUtils";
+} from "src/utils/utils";
+import { imageCache } from "src/shared/ImageCache";
+import { ConfirmationPrompt } from "src/shared/Dialogs/Prompt";
+import { EmbeddableMDCustomProps } from "src/shared/Dialogs/EmbeddableSettings";
+import { EmbeddalbeMDFileCustomDataSettingsComponent } from "src/shared/Dialogs/EmbeddableMDFileCustomDataSettingsComponent";
+import { startupScript } from "src/constants/starutpscript";
+import { ModifierKeySet, ModifierSetType } from "src/utils/modifierkeyHelper";
+import { ModifierKeySettingsComponent } from "src/shared/Dialogs/ModifierKeySettings";
+import { ANNOTATED_PREFIX, CROPPED_PREFIX } from "src/utils/carveout";
+import { EDITOR_FADEOUT } from "src/core/editor/EditorHandler";
+import { setDebugging } from "src/utils/debugHelper";
+import { Rank } from "src/constants/actionIcons";
+import { TAG_AUTOEXPORT, TAG_MDREADINGMODE, TAG_PDFEXPORT } from "src/constants/constSettingsTags";
+import { HotkeyEditor } from "src/shared/Dialogs/HotkeyEditor";
+import { getExcalidrawViews } from "src/utils/obsidianUtils";
export interface ExcalidrawSettings {
folder: string;
diff --git a/src/lang/helpers.ts b/src/lang/helpers.ts
index 5edd4ce..88cc24c 100644
--- a/src/lang/helpers.ts
+++ b/src/lang/helpers.ts
@@ -1,7 +1,7 @@
//Solution copied from obsidian-kanban: https://github.com/mgmeyers/obsidian-kanban/blob/44118e25661bff9ebfe54f71ae33805dc88ffa53/src/lang/helpers.ts
-import { LOCALE } from "src/Constants/Constants";
-import en from "./Locale/en";
+import { LOCALE } from "src/constants/constants";
+import en from "./locale/en";
declare const PLUGIN_LANGUAGES: Record;
declare var LZString: any;
diff --git a/src/lang/locale/en.ts b/src/lang/locale/en.ts
index c071596..c58733b 100644
--- a/src/lang/locale/en.ts
+++ b/src/lang/locale/en.ts
@@ -2,9 +2,9 @@ import {
DEVICE,
FRONTMATTER_KEYS,
CJK_FONTS,
-} from "src/Constants/Constants";
-import { TAG_AUTOEXPORT, TAG_MDREADINGMODE, TAG_PDFEXPORT } from "src/Constants/ConstSettingsTags";
-import { labelALT, labelCTRL, labelMETA, labelSHIFT } from "src/Utils/ModifierkeyHelper";
+} from "src/constants/constants";
+import { TAG_AUTOEXPORT, TAG_MDREADINGMODE, TAG_PDFEXPORT } from "src/constants/constSettingsTags";
+import { labelALT, labelCTRL, labelMETA, labelSHIFT } from "src/utils/modifierkeyHelper";
declare const PLUGIN_VERSION:string;
@@ -975,7 +975,7 @@ FILENAME_HEAD: "Filename",
UPDATE_AVAILABLE: `A newer version of Excalidraw is available in Community Plugins.\n\nYou are using ${PLUGIN_VERSION}.\nThe latest is`,
ERROR_PNG_TOO_LARGE: "Error exporting PNG - PNG too large, try a smaller resolution",
- //ModifierkeyHelper.ts
+ //modifierkeyHelper.ts
// WebBrowserDragAction
WEB_DRAG_IMPORT_IMAGE: "Import Image to Vault",
WEB_DRAG_IMAGE_URL: "Insert Image or YouTube Thumbnail with URL",
diff --git a/src/lang/locale/ru.ts b/src/lang/locale/ru.ts
index b15f9e2..8293244 100644
--- a/src/lang/locale/ru.ts
+++ b/src/lang/locale/ru.ts
@@ -1,6 +1,6 @@
-import { DEVICE, FRONTMATTER_KEYS, CJK_FONTS } from "src/Constants/Constants";
-import { TAG_AUTOEXPORT, TAG_MDREADINGMODE, TAG_PDFEXPORT } from "src/Constants/ConstSettingsTags";
-import { labelALT, labelCTRL, labelMETA, labelSHIFT } from "src/Utils/ModifierkeyHelper";
+import { DEVICE, FRONTMATTER_KEYS, CJK_FONTS } from "src/constants/constants";
+import { TAG_AUTOEXPORT, TAG_MDREADINGMODE, TAG_PDFEXPORT } from "src/constants/constSettingsTags";
+import { labelALT, labelCTRL, labelMETA, labelSHIFT } from "src/utils/modifierkeyHelper";
// русский
export default {
diff --git a/src/lang/locale/zh-cn.ts b/src/lang/locale/zh-cn.ts
index 8c0d02e..2be38fc 100644
--- a/src/lang/locale/zh-cn.ts
+++ b/src/lang/locale/zh-cn.ts
@@ -2,9 +2,9 @@ import {
DEVICE,
FRONTMATTER_KEYS,
CJK_FONTS
-} from "src/Constants/Constants";
-import { TAG_AUTOEXPORT, TAG_MDREADINGMODE, TAG_PDFEXPORT } from "src/Constants/ConstSettingsTags";
-import { labelALT, labelCTRL, labelMETA, labelSHIFT } from "src/Utils/ModifierkeyHelper";
+} from "src/constants/constants";
+import { TAG_AUTOEXPORT, TAG_MDREADINGMODE, TAG_PDFEXPORT } from "src/constants/constSettingsTags";
+import { labelALT, labelCTRL, labelMETA, labelSHIFT } from "src/utils/modifierkeyHelper";
declare const PLUGIN_VERSION:string;
diff --git a/src/utils/CropImage.ts b/src/shared/CropImage.ts
similarity index 96%
rename from src/utils/CropImage.ts
rename to src/shared/CropImage.ts
index bcfd45b..b119d15 100644
--- a/src/utils/CropImage.ts
+++ b/src/shared/CropImage.ts
@@ -3,11 +3,11 @@ import { BinaryFileData } from "@zsviczian/excalidraw/types/excalidraw/types";
import { Mutable } from "@zsviczian/excalidraw/types/excalidraw/utility-types";
import { Notice } from "obsidian";
-import { getEA } from "src/Core";
-import { ExcalidrawAutomate, cloneElement } from "src/Shared/ExcalidrawAutomate";
-import { ExportSettings } from "src/View/ExcalidrawView";
-import { nanoid } from "src/Constants/Constants";
-import { svgToBase64 } from "./Utils";
+import { getEA } from "src/core";
+import { ExcalidrawAutomate, cloneElement } from "src/shared/ExcalidrawAutomate";
+import { ExportSettings } from "src/view/ExcalidrawView";
+import { nanoid } from "src/constants/constants";
+import { svgToBase64 } from "../utils/utils";
export class CropImage {
private imageEA: ExcalidrawAutomate;
diff --git a/src/Shared/Dialogs/EmbeddableMDFileCustomDataSettingsComponent.ts b/src/shared/Dialogs/EmbeddableMDFileCustomDataSettingsComponent.ts
similarity index 98%
rename from src/Shared/Dialogs/EmbeddableMDFileCustomDataSettingsComponent.ts
rename to src/shared/Dialogs/EmbeddableMDFileCustomDataSettingsComponent.ts
index b2ff041..24d4e86 100644
--- a/src/Shared/Dialogs/EmbeddableMDFileCustomDataSettingsComponent.ts
+++ b/src/shared/Dialogs/EmbeddableMDFileCustomDataSettingsComponent.ts
@@ -1,7 +1,7 @@
import { Setting, ToggleComponent } from "obsidian";
import { EmbeddableMDCustomProps } from "./EmbeddableSettings";
-import { fragWithHTML } from "src/Utils/Utils";
-import { t } from "src/Lang/Helpers";
+import { fragWithHTML } from "src/utils/utils";
+import { t } from "src/lang/helpers";
export class EmbeddalbeMDFileCustomDataSettingsComponent {
constructor (
diff --git a/src/Shared/Dialogs/EmbeddableSettings.ts b/src/shared/Dialogs/EmbeddableSettings.ts
similarity index 94%
rename from src/Shared/Dialogs/EmbeddableSettings.ts
rename to src/shared/Dialogs/EmbeddableSettings.ts
index 8a8119f..508b808 100644
--- a/src/Shared/Dialogs/EmbeddableSettings.ts
+++ b/src/shared/Dialogs/EmbeddableSettings.ts
@@ -1,16 +1,16 @@
import { ExcalidrawEmbeddableElement } from "@zsviczian/excalidraw/types/excalidraw/element/types";
import { Mutable } from "@zsviczian/excalidraw/types/excalidraw/utility-types";
import { Modal, Notice, Setting, TFile, ToggleComponent } from "obsidian";
-import { getEA } from "src/Core";
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
-import ExcalidrawView from "src/View/ExcalidrawView";
-import { t } from "src/Lang/Helpers";
-import ExcalidrawPlugin from "src/Core/main";
-import { getNewUniqueFilepath, getPathWithoutExtension, splitFolderAndFilename } from "src/Utils/FileUtils";
-import { addAppendUpdateCustomData, fragWithHTML } from "src/Utils/Utils";
-import { getYouTubeStartAt, isValidYouTubeStart, isYouTube, updateYouTubeStartTime } from "src/Utils/YoutTubeUtils";
+import { getEA } from "src/core";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
+import ExcalidrawView from "src/view/ExcalidrawView";
+import { t } from "src/lang/helpers";
+import ExcalidrawPlugin from "src/core/main";
+import { getNewUniqueFilepath, getPathWithoutExtension, splitFolderAndFilename } from "src/utils/fileUtils";
+import { addAppendUpdateCustomData, fragWithHTML } from "src/utils/utils";
+import { getYouTubeStartAt, isValidYouTubeStart, isYouTube, updateYouTubeStartTime } from "src/utils/YoutTubeUtils";
import { EmbeddalbeMDFileCustomDataSettingsComponent } from "./EmbeddableMDFileCustomDataSettingsComponent";
-import { isWinCTRLorMacCMD } from "src/Utils/ModifierkeyHelper";
+import { isWinCTRLorMacCMD } from "src/utils/modifierkeyHelper";
import { ExcalidrawImperativeAPI } from "@zsviczian/excalidraw/types/excalidraw/types";
export type EmbeddableMDCustomProps = {
diff --git a/src/Shared/Dialogs/ExportDialog.ts b/src/shared/Dialogs/ExportDialog.ts
similarity index 96%
rename from src/Shared/Dialogs/ExportDialog.ts
rename to src/shared/Dialogs/ExportDialog.ts
index 1c76eda..6c5770f 100644
--- a/src/Shared/Dialogs/ExportDialog.ts
+++ b/src/shared/Dialogs/ExportDialog.ts
@@ -1,11 +1,11 @@
import { ExcalidrawImperativeAPI } from "@zsviczian/excalidraw/types/excalidraw/types";
import { Modal, Setting, TFile } from "obsidian";
-import { getEA } from "src/Core";
-import { DEVICE } from "src/Constants/Constants";
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
-import ExcalidrawView from "src/View/ExcalidrawView";
-import ExcalidrawPlugin from "src/Core/main";
-import { fragWithHTML, getExportPadding, getExportTheme, getPNGScale, getWithBackground, shouldEmbedScene } from "src/Utils/Utils";
+import { getEA } from "src/core";
+import { DEVICE } from "src/constants/constants";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
+import ExcalidrawView from "src/view/ExcalidrawView";
+import ExcalidrawPlugin from "src/core/main";
+import { fragWithHTML, getExportPadding, getExportTheme, getPNGScale, getWithBackground, shouldEmbedScene } from "src/utils/utils";
export class ExportDialog extends Modal {
private ea: ExcalidrawAutomate;
diff --git a/src/Shared/Dialogs/FrameSettings.ts b/src/shared/Dialogs/FrameSettings.ts
similarity index 96%
rename from src/Shared/Dialogs/FrameSettings.ts
rename to src/shared/Dialogs/FrameSettings.ts
index 57a2dbf..7f289c7 100644
--- a/src/Shared/Dialogs/FrameSettings.ts
+++ b/src/shared/Dialogs/FrameSettings.ts
@@ -1,5 +1,5 @@
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
-import { t } from "src/Lang/Helpers";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
+import { t } from "src/lang/helpers";
export const showFrameSettings = (ea: ExcalidrawAutomate) => {
const {enabled, clip, name, outline} = ea.getExcalidrawAPI().getAppState().frameRendering;
diff --git a/src/Shared/Dialogs/HotkeyEditor.ts b/src/shared/Dialogs/HotkeyEditor.ts
similarity index 94%
rename from src/Shared/Dialogs/HotkeyEditor.ts
rename to src/shared/Dialogs/HotkeyEditor.ts
index 54ef7ff..75e037a 100644
--- a/src/Shared/Dialogs/HotkeyEditor.ts
+++ b/src/shared/Dialogs/HotkeyEditor.ts
@@ -1,9 +1,9 @@
import { BaseComponent, Setting, Modifier } from 'obsidian';
-import { DEVICE } from 'src/Constants/Constants';
-import { t } from 'src/Lang/Helpers';
-import { ExcalidrawSettings } from 'src/Core/settings';
-import { modifierLabel } from 'src/Utils/ModifierkeyHelper';
-import { fragWithHTML } from 'src/Utils/Utils';
+import { DEVICE } from 'src/constants/constants';
+import { t } from 'src/lang/helpers';
+import { ExcalidrawSettings } from 'src/core/settings';
+import { modifierLabel } from 'src/utils/modifierkeyHelper';
+import { fragWithHTML } from 'src/utils/utils';
export class HotkeyEditor extends BaseComponent {
private settings: ExcalidrawSettings;
diff --git a/src/Shared/Dialogs/ImportSVGDialog.ts b/src/shared/Dialogs/ImportSVGDialog.ts
similarity index 83%
rename from src/Shared/Dialogs/ImportSVGDialog.ts
rename to src/shared/Dialogs/ImportSVGDialog.ts
index 8d7f3e2..f28b423 100644
--- a/src/Shared/Dialogs/ImportSVGDialog.ts
+++ b/src/shared/Dialogs/ImportSVGDialog.ts
@@ -1,10 +1,10 @@
import { App, FuzzySuggestModal, TFile } from "obsidian";
-import { REG_LINKINDEX_INVALIDCHARS } from "../../Constants/Constants";
-import ExcalidrawView from "../../View/ExcalidrawView";
-import { t } from "../../Lang/Helpers";
-import ExcalidrawPlugin from "../../Core/main";
-import { getEA } from "src/Core";
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
+import { REG_LINKINDEX_INVALIDCHARS } from "../../constants/constants";
+import ExcalidrawView from "../../view/ExcalidrawView";
+import { t } from "../../lang/helpers";
+import ExcalidrawPlugin from "../../core/main";
+import { getEA } from "src/core";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
export class ImportSVGDialog extends FuzzySuggestModal {
public plugin: ExcalidrawPlugin;
diff --git a/src/Shared/Dialogs/InsertCommandDialog.ts b/src/shared/Dialogs/InsertCommandDialog.ts
similarity index 91%
rename from src/Shared/Dialogs/InsertCommandDialog.ts
rename to src/shared/Dialogs/InsertCommandDialog.ts
index f1f1ba1..21380d1 100644
--- a/src/Shared/Dialogs/InsertCommandDialog.ts
+++ b/src/shared/Dialogs/InsertCommandDialog.ts
@@ -1,6 +1,6 @@
import { App, FuzzySuggestModal, TFile } from "obsidian";
-import { REG_LINKINDEX_INVALIDCHARS } from "../../Constants/Constants";
-import { t } from "../../Lang/Helpers";
+import { REG_LINKINDEX_INVALIDCHARS } from "../../constants/constants";
+import { t } from "../../lang/helpers";
export class InsertCommandDialog extends FuzzySuggestModal {
private addText: Function;
diff --git a/src/Shared/Dialogs/InsertImageDialog.ts b/src/shared/Dialogs/InsertImageDialog.ts
similarity index 89%
rename from src/Shared/Dialogs/InsertImageDialog.ts
rename to src/shared/Dialogs/InsertImageDialog.ts
index debe1f2..b2d9862 100644
--- a/src/Shared/Dialogs/InsertImageDialog.ts
+++ b/src/shared/Dialogs/InsertImageDialog.ts
@@ -1,10 +1,10 @@
import { FuzzySuggestModal, TFile } from "obsidian";
-import { scaleToFullsizeModifier } from "src/Utils/ModifierkeyHelper";
-import { DEVICE, IMAGE_TYPES, REG_LINKINDEX_INVALIDCHARS } from "../../Constants/Constants";
-import ExcalidrawView from "../../View/ExcalidrawView";
-import { t } from "../../Lang/Helpers";
-import ExcalidrawPlugin from "../../Core/main";
-import { getEA } from "src/Core";
+import { scaleToFullsizeModifier } from "src/utils/modifierkeyHelper";
+import { DEVICE, IMAGE_TYPES, REG_LINKINDEX_INVALIDCHARS } from "../../constants/constants";
+import ExcalidrawView from "../../view/ExcalidrawView";
+import { t } from "../../lang/helpers";
+import ExcalidrawPlugin from "../../core/main";
+import { getEA } from "src/core";
export class InsertImageDialog extends FuzzySuggestModal {
public plugin: ExcalidrawPlugin;
diff --git a/src/Shared/Dialogs/InsertLinkDialog.ts b/src/shared/Dialogs/InsertLinkDialog.ts
similarity index 94%
rename from src/Shared/Dialogs/InsertLinkDialog.ts
rename to src/shared/Dialogs/InsertLinkDialog.ts
index a92b4da..04c2fca 100644
--- a/src/Shared/Dialogs/InsertLinkDialog.ts
+++ b/src/shared/Dialogs/InsertLinkDialog.ts
@@ -1,9 +1,9 @@
import { FuzzyMatch, FuzzySuggestModal, setIcon } from "obsidian";
-import { AUDIO_TYPES, CODE_TYPES, ICON_NAME, IMAGE_TYPES, REG_LINKINDEX_INVALIDCHARS, VIDEO_TYPES } from "../../Constants/Constants";
-import { t } from "../../Lang/Helpers";
-import ExcalidrawPlugin from "src/Core/main";
-import { getLink } from "src/Utils/FileUtils";
-import { LinkSuggestion } from "src/Types/Types";
+import { AUDIO_TYPES, CODE_TYPES, ICON_NAME, IMAGE_TYPES, REG_LINKINDEX_INVALIDCHARS, VIDEO_TYPES } from "../../constants/constants";
+import { t } from "../../lang/helpers";
+import ExcalidrawPlugin from "src/core/main";
+import { getLink } from "src/utils/fileUtils";
+import { LinkSuggestion } from "src/types/types";
export class InsertLinkDialog extends FuzzySuggestModal {
diff --git a/src/Shared/Dialogs/InsertMDDialog.ts b/src/shared/Dialogs/InsertMDDialog.ts
similarity index 87%
rename from src/Shared/Dialogs/InsertMDDialog.ts
rename to src/shared/Dialogs/InsertMDDialog.ts
index 9f2f8b0..0a6bd76 100644
--- a/src/Shared/Dialogs/InsertMDDialog.ts
+++ b/src/shared/Dialogs/InsertMDDialog.ts
@@ -1,8 +1,8 @@
import { FuzzySuggestModal, TFile } from "obsidian";
-import ExcalidrawView from "../../View/ExcalidrawView";
-import { t } from "../../Lang/Helpers";
-import ExcalidrawPlugin from "../../Core/main";
-import { getEA } from "src/Core";
+import ExcalidrawView from "../../view/ExcalidrawView";
+import { t } from "../../lang/helpers";
+import ExcalidrawPlugin from "../../core/main";
+import { getEA } from "src/core";
export class InsertMDDialog extends FuzzySuggestModal {
public plugin: ExcalidrawPlugin;
diff --git a/src/Shared/Dialogs/InsertPDFModal.ts b/src/shared/Dialogs/InsertPDFModal.ts
similarity index 98%
rename from src/Shared/Dialogs/InsertPDFModal.ts
rename to src/shared/Dialogs/InsertPDFModal.ts
index 44bc4b7..d2f024f 100644
--- a/src/Shared/Dialogs/InsertPDFModal.ts
+++ b/src/shared/Dialogs/InsertPDFModal.ts
@@ -1,13 +1,13 @@
import { ButtonComponent, TFile, ToggleComponent } from "obsidian";
-import ExcalidrawView from "../../View/ExcalidrawView";
-import ExcalidrawPlugin from "../../Core/main";
-import { getPDFDoc } from "src/Utils/FileUtils";
+import ExcalidrawView from "../../view/ExcalidrawView";
+import ExcalidrawPlugin from "../../core/main";
+import { getPDFDoc } from "src/utils/fileUtils";
import { Modal, Setting, TextComponent } from "obsidian";
import { FileSuggestionModal } from "../Suggesters/FileSuggestionModal";
-import { getEA } from "src/Core";
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
+import { getEA } from "src/core";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
import { ExcalidrawImperativeAPI } from "@zsviczian/excalidraw/types/excalidraw/types";
-import { t } from "src/Lang/Helpers";
+import { t } from "src/lang/helpers";
export class InsertPDFModal extends Modal {
private borderBox: boolean = true;
diff --git a/src/Shared/Dialogs/Messages.ts b/src/shared/Dialogs/Messages.ts
similarity index 100%
rename from src/Shared/Dialogs/Messages.ts
rename to src/shared/Dialogs/Messages.ts
diff --git a/src/Shared/Dialogs/ModifierKeySettings.ts b/src/shared/Dialogs/ModifierKeySettings.ts
similarity index 95%
rename from src/Shared/Dialogs/ModifierKeySettings.ts
rename to src/shared/Dialogs/ModifierKeySettings.ts
index 47623ff..559edbe 100644
--- a/src/Shared/Dialogs/ModifierKeySettings.ts
+++ b/src/shared/Dialogs/ModifierKeySettings.ts
@@ -1,7 +1,7 @@
import { Setting } from "obsidian";
-import { DEVICE } from "src/Constants/Constants";
-import { t } from "src/Lang/Helpers";
-import { ModifierKeySet, ModifierSetType, modifierKeyTooltipMessages } from "src/Utils/ModifierkeyHelper";
+import { DEVICE } from "src/constants/constants";
+import { t } from "src/lang/helpers";
+import { ModifierKeySet, ModifierSetType, modifierKeyTooltipMessages } from "src/utils/modifierkeyHelper";
type ModifierKeyCategories = Partial<{
[modifierSetType in ModifierSetType]: string;
diff --git a/src/Shared/Dialogs/OpenDrawing.ts b/src/shared/Dialogs/OpenDrawing.ts
similarity index 93%
rename from src/Shared/Dialogs/OpenDrawing.ts
rename to src/shared/Dialogs/OpenDrawing.ts
index 9dd444a..9d8bef3 100644
--- a/src/Shared/Dialogs/OpenDrawing.ts
+++ b/src/shared/Dialogs/OpenDrawing.ts
@@ -1,7 +1,7 @@
import { App, FuzzySuggestModal, TFile } from "obsidian";
-import ExcalidrawPlugin from "../../Core/main";
-import { EMPTY_MESSAGE } from "../../Constants/Constants";
-import { t } from "../../Lang/Helpers";
+import ExcalidrawPlugin from "../../core/main";
+import { EMPTY_MESSAGE } from "../../constants/constants";
+import { t } from "../../lang/helpers";
export enum openDialogAction {
openFile,
diff --git a/src/Shared/Dialogs/PenSettingsModal.ts b/src/shared/Dialogs/PenSettingsModal.ts
similarity index 98%
rename from src/Shared/Dialogs/PenSettingsModal.ts
rename to src/shared/Dialogs/PenSettingsModal.ts
index 592aa04..bb97575 100644
--- a/src/Shared/Dialogs/PenSettingsModal.ts
+++ b/src/shared/Dialogs/PenSettingsModal.ts
@@ -1,13 +1,13 @@
import { ExcalidrawImperativeAPI } from "@zsviczian/excalidraw/types/excalidraw/types";
import { ColorComponent, Modal, Setting, TextComponent, ToggleComponent } from "obsidian";
-import { COLOR_NAMES } from "src/Constants/Constants";
-import ExcalidrawView from "src/View/ExcalidrawView";
-import ExcalidrawPlugin from "src/Core/main";
-import { setPen } from "src/View/Components/Menu/ObsidianMenu";
-import { ExtendedFillStyle, PenType } from "src/Types/PenTypes";
-import { getExcalidrawViews } from "src/Utils/ObsidianUtils";
-import { PENS } from "src/Utils/Pens";
-import { fragWithHTML } from "src/Utils/Utils";
+import { COLOR_NAMES } from "src/constants/constants";
+import ExcalidrawView from "src/view/ExcalidrawView";
+import ExcalidrawPlugin from "src/core/main";
+import { setPen } from "src/view/components/menu/ObsidianMenu";
+import { ExtendedFillStyle, PenType } from "src/types/penTypes";
+import { getExcalidrawViews } from "src/utils/obsidianUtils";
+import { PENS } from "src/utils/pens";
+import { fragWithHTML } from "src/utils/utils";
import { __values } from "tslib";
const EASINGFUNCTIONS: Record = {
diff --git a/src/Shared/Dialogs/Prompt.ts b/src/shared/Dialogs/Prompt.ts
similarity index 98%
rename from src/Shared/Dialogs/Prompt.ts
rename to src/shared/Dialogs/Prompt.ts
index c2c8d22..d8c1a83 100644
--- a/src/Shared/Dialogs/Prompt.ts
+++ b/src/shared/Dialogs/Prompt.ts
@@ -9,19 +9,19 @@ import {
Notice,
TextAreaComponent,
} from "obsidian";
-import ExcalidrawView from "../../View/ExcalidrawView";
-import ExcalidrawPlugin from "../../Core/main";
-import { escapeRegExp, getLinkParts, sleep } from "../../Utils/Utils";
-import { getLeaf, openLeaf } from "../../Utils/ObsidianUtils";
-import { checkAndCreateFolder, splitFolderAndFilename } from "src/Utils/FileUtils";
-import { KeyEvent, isWinCTRLorMacCMD } from "src/Utils/ModifierkeyHelper";
-import { t } from "src/Lang/Helpers";
-import { ExcalidrawElement, getEA } from "src/Core";
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
-import { MAX_IMAGE_SIZE, REG_LINKINDEX_INVALIDCHARS } from "src/Constants/Constants";
+import ExcalidrawView from "../../view/ExcalidrawView";
+import ExcalidrawPlugin from "../../core/main";
+import { escapeRegExp, getLinkParts, sleep } from "../../utils/utils";
+import { getLeaf, openLeaf } from "../../utils/obsidianUtils";
+import { checkAndCreateFolder, splitFolderAndFilename } from "src/utils/fileUtils";
+import { KeyEvent, isWinCTRLorMacCMD } from "src/utils/modifierkeyHelper";
+import { t } from "src/lang/helpers";
+import { ExcalidrawElement, getEA } from "src/core";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
+import { MAX_IMAGE_SIZE, REG_LINKINDEX_INVALIDCHARS } from "src/constants/constants";
import { REGEX_LINK, REGEX_TAGS } from "../ExcalidrawData";
import { ScriptEngine } from "../Scripts";
-import { openExternalLink, openTagSearch, parseObsidianLink } from "src/Utils/ExcalidrawViewUtils";
+import { openExternalLink, openTagSearch, parseObsidianLink } from "src/utils/excalidrawViewUtils";
export type ButtonDefinition = { caption: string; tooltip?:string; action: Function };
diff --git a/src/Shared/Dialogs/PublishOutOfDateFiles.ts b/src/shared/Dialogs/PublishOutOfDateFiles.ts
similarity index 97%
rename from src/Shared/Dialogs/PublishOutOfDateFiles.ts
rename to src/shared/Dialogs/PublishOutOfDateFiles.ts
index c479ee1..128bc20 100644
--- a/src/Shared/Dialogs/PublishOutOfDateFiles.ts
+++ b/src/shared/Dialogs/PublishOutOfDateFiles.ts
@@ -1,7 +1,7 @@
import { Modal, Setting, TFile } from "obsidian";
-import ExcalidrawPlugin from "src/Core/main";
-import { getIMGFilename } from "src/Utils/FileUtils";
-import { addIframe } from "src/Utils/Utils";
+import ExcalidrawPlugin from "src/core/main";
+import { getIMGFilename } from "src/utils/fileUtils";
+import { addIframe } from "src/utils/utils";
const haveLinkedFilesChanged = (depth: number, mtime: number, path: string, sourceList: Set, plugin: ExcalidrawPlugin):boolean => {
if(depth++ > 5) return false;
diff --git a/src/Shared/Dialogs/RankMessage.ts b/src/shared/Dialogs/RankMessage.ts
similarity index 98%
rename from src/Shared/Dialogs/RankMessage.ts
rename to src/shared/Dialogs/RankMessage.ts
index d798e29..8988f99 100644
--- a/src/Shared/Dialogs/RankMessage.ts
+++ b/src/shared/Dialogs/RankMessage.ts
@@ -1,6 +1,6 @@
import { App, MarkdownRenderer, Modal } from "obsidian";
-import ExcalidrawPlugin from "../../Core/main";
-import { Rank, SwordColors } from "src/View/Components/Menu/ActionIcons";
+import ExcalidrawPlugin from "../../core/main";
+import { Rank, SwordColors } from "src/constants/actionIcons";
export class RankMessage extends Modal {
diff --git a/src/Shared/Dialogs/ReleaseNotes.ts b/src/shared/Dialogs/ReleaseNotes.ts
similarity index 93%
rename from src/Shared/Dialogs/ReleaseNotes.ts
rename to src/shared/Dialogs/ReleaseNotes.ts
index 32ef306..64a5dc9 100644
--- a/src/Shared/Dialogs/ReleaseNotes.ts
+++ b/src/shared/Dialogs/ReleaseNotes.ts
@@ -1,6 +1,6 @@
import { App, MarkdownRenderer, Modal } from "obsidian";
-import { isVersionNewerThanOther } from "src/Utils/Utils";
-import ExcalidrawPlugin from "../../Core/main";
+import { isVersionNewerThanOther } from "src/utils/utils";
+import ExcalidrawPlugin from "../../core/main";
import { FIRST_RUN, RELEASE_NOTES } from "./Messages";
declare const PLUGIN_VERSION:string;
diff --git a/src/Shared/Dialogs/ScriptInstallPrompt.ts b/src/shared/Dialogs/ScriptInstallPrompt.ts
similarity index 97%
rename from src/Shared/Dialogs/ScriptInstallPrompt.ts
rename to src/shared/Dialogs/ScriptInstallPrompt.ts
index 63d57ff..dc47df8 100644
--- a/src/Shared/Dialogs/ScriptInstallPrompt.ts
+++ b/src/shared/Dialogs/ScriptInstallPrompt.ts
@@ -1,7 +1,7 @@
import { MarkdownRenderer, Modal, Notice, request } from "obsidian";
-import ExcalidrawPlugin from "../../Core/main";
-import { errorlog, escapeRegExp } from "../../Utils/Utils";
-import { log } from "src/Utils/DebugHelper";
+import ExcalidrawPlugin from "../../core/main";
+import { errorlog, escapeRegExp } from "../../utils/utils";
+import { log } from "src/utils/debugHelper";
const URL =
"https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/index-new.md";
diff --git a/src/Shared/Dialogs/SelectCard.ts b/src/shared/Dialogs/SelectCard.ts
similarity index 82%
rename from src/Shared/Dialogs/SelectCard.ts
rename to src/shared/Dialogs/SelectCard.ts
index 42e015b..7530c01 100644
--- a/src/Shared/Dialogs/SelectCard.ts
+++ b/src/shared/Dialogs/SelectCard.ts
@@ -1,10 +1,10 @@
import { App, FuzzySuggestModal, Notice, TFile } from "obsidian";
-import { t } from "../../Lang/Helpers";
-import ExcalidrawView from "src/View/ExcalidrawView";
-import { getEA } from "src/Core";
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
-import { MD_EX_SECTIONS } from "src/Constants/Constants";
-import { addBackOfTheNoteCard } from "src/Utils/ExcalidrawViewUtils";
+import { t } from "../../lang/helpers";
+import ExcalidrawView from "src/view/ExcalidrawView";
+import { getEA } from "src/core";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
+import { MD_EX_SECTIONS } from "src/constants/constants";
+import { addBackOfTheNoteCard } from "src/utils/excalidrawViewUtils";
export class SelectCard extends FuzzySuggestModal {
diff --git a/src/Shared/Dialogs/SuggesterInfo.ts b/src/shared/Dialogs/SuggesterInfo.ts
similarity index 100%
rename from src/Shared/Dialogs/SuggesterInfo.ts
rename to src/shared/Dialogs/SuggesterInfo.ts
diff --git a/src/Shared/Dialogs/UniversalInsertFileModal.ts b/src/shared/Dialogs/UniversalInsertFileModal.ts
similarity index 96%
rename from src/Shared/Dialogs/UniversalInsertFileModal.ts
rename to src/shared/Dialogs/UniversalInsertFileModal.ts
index 5547bc3..d40b7fb 100644
--- a/src/Shared/Dialogs/UniversalInsertFileModal.ts
+++ b/src/shared/Dialogs/UniversalInsertFileModal.ts
@@ -1,15 +1,15 @@
import { ButtonComponent, DropdownComponent, TFile, ToggleComponent } from "obsidian";
-import ExcalidrawView from "../../View/ExcalidrawView";
-import ExcalidrawPlugin from "../../Core/main";
+import ExcalidrawView from "../../view/ExcalidrawView";
+import ExcalidrawPlugin from "../../core/main";
import { Modal, Setting, TextComponent } from "obsidian";
import { FileSuggestionModal } from "../Suggesters/FileSuggestionModal";
-import { IMAGE_TYPES, sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, MAX_IMAGE_SIZE, ANIMATED_IMAGE_TYPES, MD_EX_SECTIONS } from "src/Constants/Constants";
-import { insertEmbeddableToView, insertImageToView } from "src/Utils/ExcalidrawViewUtils";
-import { getEA } from "src/Core";
+import { IMAGE_TYPES, sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, MAX_IMAGE_SIZE, ANIMATED_IMAGE_TYPES, MD_EX_SECTIONS } from "src/constants/constants";
+import { insertEmbeddableToView, insertImageToView } from "src/utils/excalidrawViewUtils";
+import { getEA } from "src/core";
import { InsertPDFModal } from "./InsertPDFModal";
import { ExcalidrawImperativeAPI } from "@zsviczian/excalidraw/types/excalidraw/types";
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
-import { cleanSectionHeading } from "src/Utils/ObsidianUtils";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
+import { cleanSectionHeading } from "src/utils/obsidianUtils";
export class UniversalInsertFileModal extends Modal {
private center: { x: number, y: number } = { x: 0, y: 0 };
diff --git a/src/Shared/EmbeddedFileLoader.ts b/src/shared/EmbeddedFileLoader.ts
similarity index 98%
rename from src/Shared/EmbeddedFileLoader.ts
rename to src/shared/EmbeddedFileLoader.ts
index 8ffa256..c385e9b 100644
--- a/src/Shared/EmbeddedFileLoader.ts
+++ b/src/shared/EmbeddedFileLoader.ts
@@ -12,14 +12,14 @@ import {
THEME_FILTER,
FRONTMATTER_KEYS,
getCSSFontDefinition,
-} from "../Constants/Constants";
+} from "../constants/constants";
import { createSVG } from "./ExcalidrawAutomate";
import { ExcalidrawData, getTransclusion } from "./ExcalidrawData";
-import { ExportSettings } from "../View/ExcalidrawView";
-import { t } from "../Lang/Helpers";
+import { ExportSettings } from "../view/ExcalidrawView";
+import { t } from "../lang/helpers";
import { tex2dataURL } from "./LaTeX";
-import ExcalidrawPlugin from "../Core/main";
-import { blobToBase64, getDataURLFromURL, getMimeType, getPDFDoc, getURLImageExtension, hasExcalidrawEmbeddedImagesTreeChanged, readLocalFileBinary } from "../Utils/FileUtils";
+import ExcalidrawPlugin from "../core/main";
+import { blobToBase64, getDataURLFromURL, getMimeType, getPDFDoc, getURLImageExtension, hasExcalidrawEmbeddedImagesTreeChanged, readLocalFileBinary } from "../utils/fileUtils";
import {
errorlog,
getDataURL,
@@ -38,12 +38,12 @@ import {
cropCanvas,
promiseTry,
PromisePool,
-} from "../Utils/Utils";
-import { ValueOf } from "../Types/Types";
-import { getMermaidImageElements, getMermaidText, shouldRenderMermaid } from "../Utils/MermaidUtils";
-import { mermaidToExcalidraw } from "src/Constants/Constants";
-import { ImageKey, imageCache } from "../Utils/ImageCache";
-import { FILENAMEPARTS, PreviewImageType } from "../Utils/UtilTypes";
+} from "../utils/utils";
+import { ValueOf } from "../types/types";
+import { getMermaidImageElements, getMermaidText, shouldRenderMermaid } from "../utils/mermaidUtils";
+import { mermaidToExcalidraw } from "src/constants/constants";
+import { ImageKey, imageCache } from "./ImageCache";
+import { FILENAMEPARTS, PreviewImageType } from "../types/utilTypes";
//An ugly workaround for the following situation.
//File A is a markdown file that has an embedded Excalidraw file B
diff --git a/src/Shared/ExcalidrawAutomate.ts b/src/shared/ExcalidrawAutomate.ts
similarity index 99%
rename from src/Shared/ExcalidrawAutomate.ts
rename to src/shared/ExcalidrawAutomate.ts
index 2ec8cc2..3d913ce 100644
--- a/src/Shared/ExcalidrawAutomate.ts
+++ b/src/shared/ExcalidrawAutomate.ts
@@ -1,4 +1,4 @@
-import ExcalidrawPlugin from "src/Core/main";
+import ExcalidrawPlugin from "src/core/main";
import {
FillStyle,
StrokeStyle,
@@ -16,7 +16,7 @@ import {
import { MimeType } from "./EmbeddedFileLoader";
import { Editor, normalizePath, Notice, OpenViewState, RequestUrlResponse, TFile, TFolder, WorkspaceLeaf } from "obsidian";
import * as obsidian_module from "obsidian";
-import ExcalidrawView, { ExportSettings, TextMode, getTextMode } from "src/View/ExcalidrawView";
+import ExcalidrawView, { ExportSettings, TextMode, getTextMode } from "src/view/ExcalidrawView";
import { ExcalidrawData, getExcalidrawMarkdownHeaderSection, getMarkdownDrawingSection, REGEX_LINK } from "./ExcalidrawData";
import {
FRONTMATTER,
@@ -39,8 +39,8 @@ import {
refreshTextDimensions,
getFontFamilyString,
EXCALIDRAW_PLUGIN,
-} from "src/Constants/Constants";
-import { blobToBase64, checkAndCreateFolder, getDrawingFilename, getExcalidrawEmbeddedFilesFiletree, getListOfTemplateFiles, getNewUniqueFilepath, hasExcalidrawEmbeddedImagesTreeChanged, } from "src/Utils/FileUtils";
+} from "src/constants/constants";
+import { blobToBase64, checkAndCreateFolder, getDrawingFilename, getExcalidrawEmbeddedFilesFiletree, getListOfTemplateFiles, getNewUniqueFilepath, hasExcalidrawEmbeddedImagesTreeChanged, } from "src/utils/fileUtils";
import {
//debug,
errorlog,
@@ -54,15 +54,15 @@ import {
scaleLoadedImage,
wrapTextAtCharLength,
arrayToMap,
-} from "src/Utils/Utils";
-import { getAttachmentsFolderAndFilePath, getExcalidrawViews, getLeaf, getNewOrAdjacentLeaf, isObsidianThemeDark, mergeMarkdownFiles, openLeaf } from "src/Utils/ObsidianUtils";
+} from "src/utils/utils";
+import { getAttachmentsFolderAndFilePath, getExcalidrawViews, getLeaf, getNewOrAdjacentLeaf, isObsidianThemeDark, mergeMarkdownFiles, openLeaf } from "src/utils/obsidianUtils";
import { AppState, BinaryFileData, DataURL, ExcalidrawImperativeAPI } from "@zsviczian/excalidraw/types/excalidraw/types";
import { EmbeddedFile, EmbeddedFilesLoader, FileData } from "./EmbeddedFileLoader";
import { tex2dataURL } from "./LaTeX";
-import { GenericInputPrompt, NewFileActions } from "src/Shared/Dialogs/Prompt";
-import { t } from "src/Lang/Helpers";
+import { GenericInputPrompt, NewFileActions } from "src/shared/Dialogs/Prompt";
+import { t } from "src/lang/helpers";
import { ScriptEngine } from "./Scripts";
-import { ConnectionPoint, DeviceType, Point } from "src/Types/Types";
+import { ConnectionPoint, DeviceType, Point } from "src/types/types";
import CM, { ColorMaster, extendPlugins } from "@zsviczian/colormaster";
import HarmonyPlugin from "@zsviczian/colormaster/plugins/harmony";
import MixPlugin from "@zsviczian/colormaster/plugins/mix"
@@ -78,10 +78,10 @@ import HSVPlugin from "@zsviczian/colormaster/plugins/hsv";
import RYBPlugin from "@zsviczian/colormaster/plugins/ryb";
import CMYKPlugin from "@zsviczian/colormaster/plugins/cmyk";
import { TInput } from "@zsviczian/colormaster/types";
-import {ConversionResult, svgToExcalidraw} from "src/Shared/svgToExcalidraw/parser"
-import { ROUNDNESS } from "src/Constants/Constants";
+import {ConversionResult, svgToExcalidraw} from "src/shared/svgToExcalidraw/parser"
+import { ROUNDNESS } from "src/constants/constants";
import { ClipboardData } from "@zsviczian/excalidraw/types/excalidraw/clipboard";
-import { emulateKeysForLinkClick, PaneTarget } from "src/Utils/ModifierkeyHelper";
+import { emulateKeysForLinkClick, PaneTarget } from "src/utils/modifierkeyHelper";
import { Mutable } from "@zsviczian/excalidraw/types/excalidraw/utility-types";
import PolyBool from "polybooljs";
import { EmbeddableMDCustomProps } from "./Dialogs/EmbeddableSettings";
@@ -89,11 +89,11 @@ import {
AIRequest,
postOpenAI as _postOpenAI,
extractCodeBlocks as _extractCodeBlocks,
-} from "../Utils/AIUtils";
+} from "../utils/AIUtils";
import { EXCALIDRAW_AUTOMATE_INFO, EXCALIDRAW_SCRIPTENGINE_INFO } from "./Dialogs/SuggesterInfo";
-import { addBackOfTheNoteCard, getFrameBasedOnFrameNameOrId } from "../Utils/ExcalidrawViewUtils";
-import { log } from "../Utils/DebugHelper";
-import { ExcalidrawLib } from "../Types/ExcalidrawLib";
+import { addBackOfTheNoteCard, getFrameBasedOnFrameNameOrId } from "../utils/excalidrawViewUtils";
+import { log } from "../utils/debugHelper";
+import { ExcalidrawLib } from "../types/excalidrawLib";
import { GlobalPoint } from "@zsviczian/excalidraw/types/math/types";
extendPlugins([
diff --git a/src/utils/ExcalidrawConfig.ts b/src/shared/ExcalidrawConfig.ts
similarity index 83%
rename from src/utils/ExcalidrawConfig.ts
rename to src/shared/ExcalidrawConfig.ts
index c0296dd..6df168a 100644
--- a/src/utils/ExcalidrawConfig.ts
+++ b/src/shared/ExcalidrawConfig.ts
@@ -1,5 +1,5 @@
-import { DEVICE } from "src/Constants/Constants";
-import ExcalidrawPlugin from "src/Core/main";
+import { DEVICE } from "src/constants/constants";
+import ExcalidrawPlugin from "src/core/main";
export class ExcalidrawConfig {
public areaLimit: number = 16777216;
diff --git a/src/Shared/ExcalidrawData.ts b/src/shared/ExcalidrawData.ts
similarity index 99%
rename from src/Shared/ExcalidrawData.ts
rename to src/shared/ExcalidrawData.ts
index 7140f53..c3592f1 100644
--- a/src/Shared/ExcalidrawData.ts
+++ b/src/shared/ExcalidrawData.ts
@@ -18,9 +18,9 @@ import {
refreshTextDimensions,
getContainerElement,
loadSceneFonts,
-} from "../Constants/Constants";
-import ExcalidrawPlugin from "../Core/main";
-import { TextMode } from "../View/ExcalidrawView";
+} from "../constants/constants";
+import ExcalidrawPlugin from "../core/main";
+import { TextMode } from "../view/ExcalidrawView";
import {
addAppendUpdateCustomData,
compress,
@@ -37,8 +37,8 @@ import {
wrapTextAtCharLength,
arrayToMap,
compressAsync,
-} from "../Utils/Utils";
-import { cleanBlockRef, cleanSectionHeading, getAttachmentsFolderAndFilePath, isObsidianThemeDark } from "../Utils/ObsidianUtils";
+} from "../utils/utils";
+import { cleanBlockRef, cleanSectionHeading, getAttachmentsFolderAndFilePath, isObsidianThemeDark } from "../utils/obsidianUtils";
import {
ExcalidrawElement,
ExcalidrawImageElement,
@@ -48,14 +48,14 @@ import {
import { BinaryFiles, DataURL, SceneData } from "@zsviczian/excalidraw/types/excalidraw/types";
import { EmbeddedFile, MimeType } from "./EmbeddedFileLoader";
import { ConfirmationPrompt } from "./Dialogs/Prompt";
-import { getMermaidImageElements, getMermaidText, shouldRenderMermaid } from "../Utils/MermaidUtils";
-import { DEBUGGING, debug } from "../Utils/DebugHelper";
+import { getMermaidImageElements, getMermaidText, shouldRenderMermaid } from "../utils/mermaidUtils";
+import { DEBUGGING, debug } from "../utils/debugHelper";
import { Mutable } from "@zsviczian/excalidraw/types/excalidraw/utility-types";
-import { updateElementIdsInScene } from "../Utils/ExcalidrawSceneUtils";
-import { getNewUniqueFilepath } from "../Utils/FileUtils";
-import { t } from "../Lang/Helpers";
-import { displayFontMessage } from "../Utils/ExcalidrawViewUtils";
-import { getPDFRect } from "../Utils/PDFUtils";
+import { updateElementIdsInScene } from "../utils/excalidrawSceneUtils";
+import { getNewUniqueFilepath } from "../utils/fileUtils";
+import { t } from "../lang/helpers";
+import { displayFontMessage } from "../utils/excalidrawViewUtils";
+import { getPDFRect } from "../utils/PDFUtils";
type SceneDataWithFiles = SceneData & { files: BinaryFiles };
diff --git a/src/utils/Frontmatter.ts b/src/shared/Frontmatter.ts
similarity index 100%
rename from src/utils/Frontmatter.ts
rename to src/shared/Frontmatter.ts
diff --git a/src/utils/ImageCache.ts b/src/shared/ImageCache.ts
similarity index 98%
rename from src/utils/ImageCache.ts
rename to src/shared/ImageCache.ts
index f8de8d8..318b83a 100644
--- a/src/utils/ImageCache.ts
+++ b/src/shared/ImageCache.ts
@@ -1,8 +1,8 @@
import { App, Notice, TFile } from "obsidian";
-import ExcalidrawPlugin from "src/Core/main";
-import { convertSVGStringToElement } from "./Utils";
-import { FILENAMEPARTS, PreviewImageType } from "./UtilTypes";
-import { hasExcalidrawEmbeddedImagesTreeChanged } from "./FileUtils";
+import ExcalidrawPlugin from "src/core/main";
+import { convertSVGStringToElement } from "../utils/utils";
+import { FILENAMEPARTS, PreviewImageType } from "../types/utilTypes";
+import { hasExcalidrawEmbeddedImagesTreeChanged } from "../utils/fileUtils";
//@ts-ignore
const DB_NAME = "Excalidraw " + app.appId;
diff --git a/src/Shared/LaTeX.ts b/src/shared/LaTeX.ts
similarity index 97%
rename from src/Shared/LaTeX.ts
rename to src/shared/LaTeX.ts
index 3c9c87c..c326bff 100644
--- a/src/Shared/LaTeX.ts
+++ b/src/shared/LaTeX.ts
@@ -1,6 +1,6 @@
// LaTeX.ts
import { DataURL } from "@zsviczian/excalidraw/types/excalidraw/types";
-import ExcalidrawView from "../View/ExcalidrawView";
+import ExcalidrawView from "../view/ExcalidrawView";
import { FileData, MimeType } from "./EmbeddedFileLoader";
import { FileId } from "@zsviczian/excalidraw/types/excalidraw/element/types";
import { App } from "obsidian";
diff --git a/src/Shared/OCR/Taskbone.ts b/src/shared/OCR/Taskbone.ts
similarity index 94%
rename from src/Shared/OCR/Taskbone.ts
rename to src/shared/OCR/Taskbone.ts
index 004af5f..958a34c 100644
--- a/src/Shared/OCR/Taskbone.ts
+++ b/src/shared/OCR/Taskbone.ts
@@ -1,13 +1,13 @@
import { ExcalidrawAutomate } from "../ExcalidrawAutomate";
import {Notice, requestUrl} from "obsidian"
-import ExcalidrawPlugin from "../../Core/main"
-import ExcalidrawView, { ExportSettings } from "../../View/ExcalidrawView"
-import FrontmatterEditor from "src/Utils/Frontmatter";
+import ExcalidrawPlugin from "../../core/main"
+import ExcalidrawView, { ExportSettings } from "../../view/ExcalidrawView"
+import FrontmatterEditor from "src/shared/Frontmatter";
import { ExcalidrawElement } from "@zsviczian/excalidraw/types/excalidraw/element/types";
import { EmbeddedFilesLoader } from "../EmbeddedFileLoader";
-import { blobToBase64 } from "src/Utils/FileUtils";
-import { getEA } from "src/Core";
-import { log } from "src/Utils/DebugHelper";
+import { blobToBase64 } from "src/utils/fileUtils";
+import { getEA } from "src/core";
+import { log } from "src/utils/debugHelper";
const TASKBONE_URL = "https://api.taskbone.com/"; //"https://excalidraw-preview.onrender.com/";
const TASKBONE_OCR_FN = "execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb";
diff --git a/src/Shared/Scripts.ts b/src/shared/Scripts.ts
similarity index 95%
rename from src/Shared/Scripts.ts
rename to src/shared/Scripts.ts
index fd83ac8..57380df 100644
--- a/src/Shared/Scripts.ts
+++ b/src/shared/Scripts.ts
@@ -5,16 +5,16 @@ import {
TAbstractFile,
TFile,
} from "obsidian";
-import { PLUGIN_ID } from "../Constants/Constants";
-import ExcalidrawView from "../View/ExcalidrawView";
-import ExcalidrawPlugin from "../Core/main";
+import { PLUGIN_ID } from "../constants/constants";
+import ExcalidrawView from "../view/ExcalidrawView";
+import ExcalidrawPlugin from "../core/main";
import { ButtonDefinition, GenericInputPrompt, GenericSuggester } from "./Dialogs/Prompt";
-import { getIMGFilename } from "../Utils/FileUtils";
-import { splitFolderAndFilename } from "../Utils/FileUtils";
-import { getEA } from "src/Core";
-import { ExcalidrawAutomate } from "../Shared/ExcalidrawAutomate";
-import { WeakArray } from "../Utils/WeakArray";
-import { getExcalidrawViews } from "../Utils/ObsidianUtils";
+import { getIMGFilename } from "../utils/fileUtils";
+import { splitFolderAndFilename } from "../utils/fileUtils";
+import { getEA } from "src/core";
+import { ExcalidrawAutomate } from "../shared/ExcalidrawAutomate";
+import { WeakArray } from "./WeakArray";
+import { getExcalidrawViews } from "../utils/obsidianUtils";
export type ScriptIconMap = {
[key: string]: { name: string; group: string; svgString: string };
diff --git a/src/Shared/Suggesters/FieldSuggester.ts b/src/shared/Suggesters/FieldSuggester.ts
similarity index 98%
rename from src/Shared/Suggesters/FieldSuggester.ts
rename to src/shared/Suggesters/FieldSuggester.ts
index ecdf140..5691711 100644
--- a/src/Shared/Suggesters/FieldSuggester.ts
+++ b/src/shared/Suggesters/FieldSuggester.ts
@@ -11,7 +11,7 @@ import {
EXCALIDRAW_AUTOMATE_INFO,
EXCALIDRAW_SCRIPTENGINE_INFO,
} from "../Dialogs/SuggesterInfo";
-import type ExcalidrawPlugin from "../../Core/main";
+import type ExcalidrawPlugin from "../../core/main";
/**
* The field suggester recommends document properties in source mode, ea and utils function and attribute names.
diff --git a/src/Shared/Suggesters/FileSuggestionModal.ts b/src/shared/Suggesters/FileSuggestionModal.ts
similarity index 96%
rename from src/Shared/Suggesters/FileSuggestionModal.ts
rename to src/shared/Suggesters/FileSuggestionModal.ts
index 5064d8b..543a436 100644
--- a/src/Shared/Suggesters/FileSuggestionModal.ts
+++ b/src/shared/Suggesters/FileSuggestionModal.ts
@@ -7,10 +7,10 @@ import {
setIcon,
} from "obsidian";
import { SuggestionModal } from "./SuggestionModal";
-import { t } from "src/Lang/Helpers";
-import { LinkSuggestion } from "src/Types/Types";
-import ExcalidrawPlugin from "src/Core/main";
-import { AUDIO_TYPES, CODE_TYPES, ICON_NAME, IMAGE_TYPES, VIDEO_TYPES } from "src/Constants/Constants";
+import { t } from "src/lang/helpers";
+import { LinkSuggestion } from "src/types/types";
+import ExcalidrawPlugin from "src/core/main";
+import { AUDIO_TYPES, CODE_TYPES, ICON_NAME, IMAGE_TYPES, VIDEO_TYPES } from "src/constants/constants";
export class FileSuggestionModal extends SuggestionModal {
text: TextComponent;
diff --git a/src/Shared/Suggesters/FolderSuggestionModal.ts b/src/shared/Suggesters/FolderSuggestionModal.ts
similarity index 100%
rename from src/Shared/Suggesters/FolderSuggestionModal.ts
rename to src/shared/Suggesters/FolderSuggestionModal.ts
diff --git a/src/Shared/Suggesters/PathSuggestionModal.ts b/src/shared/Suggesters/PathSuggestionModal.ts
similarity index 100%
rename from src/Shared/Suggesters/PathSuggestionModal.ts
rename to src/shared/Suggesters/PathSuggestionModal.ts
diff --git a/src/Shared/Suggesters/Suggester.ts b/src/shared/Suggesters/Suggester.ts
similarity index 100%
rename from src/Shared/Suggesters/Suggester.ts
rename to src/shared/Suggesters/Suggester.ts
diff --git a/src/Shared/Suggesters/SuggestionModal.ts b/src/shared/Suggesters/SuggestionModal.ts
similarity index 100%
rename from src/Shared/Suggesters/SuggestionModal.ts
rename to src/shared/Suggesters/SuggestionModal.ts
diff --git a/src/utils/WeakArray.ts b/src/shared/WeakArray.ts
similarity index 100%
rename from src/utils/WeakArray.ts
rename to src/shared/WeakArray.ts
diff --git a/src/Shared/Workers/compression-worker.ts b/src/shared/Workers/compression-worker.ts
similarity index 100%
rename from src/Shared/Workers/compression-worker.ts
rename to src/shared/Workers/compression-worker.ts
diff --git a/src/Shared/svgToExcalidraw/attributes.ts b/src/shared/svgToExcalidraw/attributes.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/attributes.ts
rename to src/shared/svgToExcalidraw/attributes.ts
diff --git a/src/Shared/svgToExcalidraw/elements/ExcalidrawElement.ts b/src/shared/svgToExcalidraw/elements/ExcalidrawElement.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/elements/ExcalidrawElement.ts
rename to src/shared/svgToExcalidraw/elements/ExcalidrawElement.ts
diff --git a/src/Shared/svgToExcalidraw/elements/ExcalidrawScene.ts b/src/shared/svgToExcalidraw/elements/ExcalidrawScene.ts
similarity index 88%
rename from src/Shared/svgToExcalidraw/elements/ExcalidrawScene.ts
rename to src/shared/svgToExcalidraw/elements/ExcalidrawScene.ts
index 9481d4e..fa78b84 100644
--- a/src/Shared/svgToExcalidraw/elements/ExcalidrawScene.ts
+++ b/src/shared/svgToExcalidraw/elements/ExcalidrawScene.ts
@@ -1,4 +1,4 @@
-import { GITHUB_RELEASES } from "src/Constants/Constants";
+import { GITHUB_RELEASES } from "src/constants/constants";
import { ExcalidrawGenericElement } from "./ExcalidrawElement";
declare const PLUGIN_VERSION:string;
diff --git a/src/Shared/svgToExcalidraw/elements/Group.ts b/src/shared/svgToExcalidraw/elements/Group.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/elements/Group.ts
rename to src/shared/svgToExcalidraw/elements/Group.ts
diff --git a/src/Shared/svgToExcalidraw/elements/index.ts b/src/shared/svgToExcalidraw/elements/index.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/elements/index.ts
rename to src/shared/svgToExcalidraw/elements/index.ts
diff --git a/src/Shared/svgToExcalidraw/elements/path/index.ts b/src/shared/svgToExcalidraw/elements/path/index.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/elements/path/index.ts
rename to src/shared/svgToExcalidraw/elements/path/index.ts
diff --git a/src/Shared/svgToExcalidraw/elements/path/utils/bezier.ts b/src/shared/svgToExcalidraw/elements/path/utils/bezier.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/elements/path/utils/bezier.ts
rename to src/shared/svgToExcalidraw/elements/path/utils/bezier.ts
diff --git a/src/Shared/svgToExcalidraw/elements/path/utils/ellipse.ts b/src/shared/svgToExcalidraw/elements/path/utils/ellipse.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/elements/path/utils/ellipse.ts
rename to src/shared/svgToExcalidraw/elements/path/utils/ellipse.ts
diff --git a/src/Shared/svgToExcalidraw/elements/path/utils/path-to-points.ts b/src/shared/svgToExcalidraw/elements/path/utils/path-to-points.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/elements/path/utils/path-to-points.ts
rename to src/shared/svgToExcalidraw/elements/path/utils/path-to-points.ts
diff --git a/src/Shared/svgToExcalidraw/elements/utils.ts b/src/shared/svgToExcalidraw/elements/utils.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/elements/utils.ts
rename to src/shared/svgToExcalidraw/elements/utils.ts
diff --git a/src/Shared/svgToExcalidraw/parser.ts b/src/shared/svgToExcalidraw/parser.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/parser.ts
rename to src/shared/svgToExcalidraw/parser.ts
diff --git a/src/Shared/svgToExcalidraw/readme.md b/src/shared/svgToExcalidraw/readme.md
similarity index 100%
rename from src/Shared/svgToExcalidraw/readme.md
rename to src/shared/svgToExcalidraw/readme.md
diff --git a/src/Shared/svgToExcalidraw/transform.ts b/src/shared/svgToExcalidraw/transform.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/transform.ts
rename to src/shared/svgToExcalidraw/transform.ts
diff --git a/src/Shared/svgToExcalidraw/types.ts b/src/shared/svgToExcalidraw/types.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/types.ts
rename to src/shared/svgToExcalidraw/types.ts
diff --git a/src/Shared/svgToExcalidraw/utils.ts b/src/shared/svgToExcalidraw/utils.ts
similarity index 100%
rename from src/Shared/svgToExcalidraw/utils.ts
rename to src/shared/svgToExcalidraw/utils.ts
diff --git a/src/Shared/svgToExcalidraw/walker.ts b/src/shared/svgToExcalidraw/walker.ts
similarity index 99%
rename from src/Shared/svgToExcalidraw/walker.ts
rename to src/shared/svgToExcalidraw/walker.ts
index 92eb2bc..61943ee 100644
--- a/src/Shared/svgToExcalidraw/walker.ts
+++ b/src/shared/svgToExcalidraw/walker.ts
@@ -25,7 +25,7 @@ import {
import { getTransformMatrix, transformPoints } from "./transform";
import { pointsOnPath } from "points-on-path";
import { randomId, getWindingOrder } from "./utils";
-import { ROUNDNESS } from "../../Constants/Constants";
+import { ROUNDNESS } from "../../constants/constants";
const SUPPORTED_TAGS = [
"svg",
diff --git a/src/types/ExcalidrawLib.d.ts b/src/types/excalidrawLib.d.ts
similarity index 100%
rename from src/types/ExcalidrawLib.d.ts
rename to src/types/excalidrawLib.d.ts
diff --git a/src/types/ExcalidrawViewTypes.ts b/src/types/excalidrawViewTypes.ts
similarity index 93%
rename from src/types/ExcalidrawViewTypes.ts
rename to src/types/excalidrawViewTypes.ts
index 774e76c..77a0da8 100644
--- a/src/types/ExcalidrawViewTypes.ts
+++ b/src/types/excalidrawViewTypes.ts
@@ -1,8 +1,8 @@
// src/types/ExcalidrawViewTypes.ts
-import { WorkspaceLeaf, TFile } from "obsidian";
-import { ExcalidrawElement, FileId } from "@zsviczian/excalidraw/types/excalidraw/element/types";
-import { ObsidianCanvasNode } from "../Utils/CanvasNodeFactory";
+import { WorkspaceLeaf } from "obsidian";
+import { FileId } from "@zsviczian/excalidraw/types/excalidraw/element/types";
+import { ObsidianCanvasNode } from "../view/managers/CanvasNodeFactory";
export interface DropData {
files?: File[];
diff --git a/src/types/PenTypes.ts b/src/types/penTypes.ts
similarity index 100%
rename from src/types/PenTypes.ts
rename to src/types/penTypes.ts
diff --git a/src/types/types.d.ts b/src/types/types.d.ts
index 1797fc5..d216250 100644
--- a/src/types/types.d.ts
+++ b/src/types/types.d.ts
@@ -1,6 +1,6 @@
import { TFile } from "obsidian";
-import { ExcalidrawAutomate } from "../Shared/ExcalidrawAutomate";
-import { ExcalidrawLib } from "./ExcalidrawLib";
+import { ExcalidrawAutomate } from "../shared/ExcalidrawAutomate";
+import { ExcalidrawLib } from "./excalidrawLib";
export type ConnectionPoint = "top" | "bottom" | "left" | "right" | null;
diff --git a/src/utils/UtilTypes.ts b/src/types/utilTypes.ts
similarity index 100%
rename from src/utils/UtilTypes.ts
rename to src/types/utilTypes.ts
diff --git a/src/utils/AIUtils.ts b/src/utils/AIUtils.ts
index 942fc86..4686320 100644
--- a/src/utils/AIUtils.ts
+++ b/src/utils/AIUtils.ts
@@ -1,5 +1,5 @@
import { Notice, RequestUrlResponse, requestUrl } from "obsidian";
-import ExcalidrawPlugin from "src/Core/main";
+import ExcalidrawPlugin from "src/core/main";
type MessageContent =
| string
diff --git a/src/utils/CJKLoader.ts b/src/utils/CJKLoader.ts
index 0beaedd..1b82909 100644
--- a/src/utils/CJKLoader.ts
+++ b/src/utils/CJKLoader.ts
@@ -1,6 +1,6 @@
-import ExcalidrawPlugin from "src/Core/main";
-import { PromisePool, promiseTry } from "./Utils";
-import { blobToBase64 } from "./FileUtils";
+import ExcalidrawPlugin from "src/core/main";
+import { PromisePool, promiseTry } from "./utils";
+import { blobToBase64 } from "./fileUtils";
interface ExcalidrawFontFaceDescriptor {
uri: string;
diff --git a/src/utils/CarveOut.ts b/src/utils/carveout.ts
similarity index 98%
rename from src/utils/CarveOut.ts
rename to src/utils/carveout.ts
index 1ce91f3..826dab6 100644
--- a/src/utils/CarveOut.ts
+++ b/src/utils/carveout.ts
@@ -1,8 +1,8 @@
import { ExcalidrawEmbeddableElement, ExcalidrawFrameElement, ExcalidrawImageElement } from "@zsviczian/excalidraw/types/excalidraw/element/types";
import { Mutable } from "@zsviczian/excalidraw/types/excalidraw/utility-types";
-import { getEA } from "src/Core";
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
-import { getCropFileNameAndFolder, getListOfTemplateFiles, splitFolderAndFilename } from "./FileUtils";
+import { getEA } from "src/core";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
+import { getCropFileNameAndFolder, getListOfTemplateFiles, splitFolderAndFilename } from "./fileUtils";
import { Notice, TFile } from "obsidian";
import { Radians } from "@zsviczian/excalidraw/types/math";
diff --git a/src/utils/CustomEmbeddableUtils.ts b/src/utils/customEmbeddableUtils.ts
similarity index 89%
rename from src/utils/CustomEmbeddableUtils.ts
rename to src/utils/customEmbeddableUtils.ts
index bfd99c8..a4d5661 100644
--- a/src/utils/CustomEmbeddableUtils.ts
+++ b/src/utils/customEmbeddableUtils.ts
@@ -1,9 +1,9 @@
import { NonDeletedExcalidrawElement } from "@zsviczian/excalidraw/types/excalidraw/element/types";
-import { DEVICE, REG_LINKINDEX_INVALIDCHARS } from "src/Constants/Constants";
-import { getParentOfClass } from "./ObsidianUtils";
+import { DEVICE, REG_LINKINDEX_INVALIDCHARS } from "src/constants/constants";
+import { getParentOfClass } from "./obsidianUtils";
import { TFile, WorkspaceLeaf } from "obsidian";
-import { getLinkParts } from "./Utils";
-import ExcalidrawView from "src/View/ExcalidrawView";
+import { getLinkParts } from "./utils";
+import ExcalidrawView from "src/view/ExcalidrawView";
export const useDefaultExcalidrawFrame = (element: NonDeletedExcalidrawElement) => {
return !(element.link.startsWith("[") || element.link.startsWith("file:") || element.link.startsWith("data:")); // && !element.link.match(TWITTER_REG);
diff --git a/src/utils/DebugHelper.ts b/src/utils/debugHelper.ts
similarity index 100%
rename from src/utils/DebugHelper.ts
rename to src/utils/debugHelper.ts
diff --git a/src/utils/DynamicStyling.ts b/src/utils/dynamicStyling.ts
similarity index 95%
rename from src/utils/DynamicStyling.ts
rename to src/utils/dynamicStyling.ts
index 64f963f..9d536c8 100644
--- a/src/utils/DynamicStyling.ts
+++ b/src/utils/dynamicStyling.ts
@@ -1,12 +1,12 @@
import { ExcalidrawImperativeAPI } from "@zsviczian/excalidraw/types/excalidraw/types";
import { ColorMaster } from "@zsviczian/colormaster";
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
-import ExcalidrawView from "src/View/ExcalidrawView";
-import { DynamicStyle } from "src/Types/Types";
-import { cloneElement } from "src/Shared/ExcalidrawAutomate";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
+import ExcalidrawView from "src/view/ExcalidrawView";
+import { DynamicStyle } from "src/types/types";
+import { cloneElement } from "src/shared/ExcalidrawAutomate";
import { ExcalidrawFrameElement } from "@zsviczian/excalidraw/types/excalidraw/element/types";
-import { addAppendUpdateCustomData } from "./Utils";
-import { mutateElement } from "src/Constants/Constants";
+import { addAppendUpdateCustomData } from "./utils";
+import { mutateElement } from "src/constants/constants";
export const setDynamicStyle = (
ea: ExcalidrawAutomate,
diff --git a/src/utils/ExcalidrawSceneUtils.ts b/src/utils/excalidrawSceneUtils.ts
similarity index 100%
rename from src/utils/ExcalidrawSceneUtils.ts
rename to src/utils/excalidrawSceneUtils.ts
diff --git a/src/utils/ExcalidrawViewUtils.ts b/src/utils/excalidrawViewUtils.ts
similarity index 96%
rename from src/utils/ExcalidrawViewUtils.ts
rename to src/utils/excalidrawViewUtils.ts
index 7b70358..7e3b8f8 100644
--- a/src/utils/ExcalidrawViewUtils.ts
+++ b/src/utils/excalidrawViewUtils.ts
@@ -1,17 +1,17 @@
-import { MAX_IMAGE_SIZE, IMAGE_TYPES, ANIMATED_IMAGE_TYPES, MD_EX_SECTIONS } from "src/Constants/Constants";
+import { MAX_IMAGE_SIZE, IMAGE_TYPES, ANIMATED_IMAGE_TYPES, MD_EX_SECTIONS } from "src/constants/constants";
import { App, Modal, Notice, TFile, WorkspaceLeaf } from "obsidian";
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
-import { REGEX_LINK, REG_LINKINDEX_HYPERLINK, getExcalidrawMarkdownHeaderSection, REGEX_TAGS } from "../Shared/ExcalidrawData";
-import ExcalidrawView from "src/View/ExcalidrawView";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
+import { REGEX_LINK, REG_LINKINDEX_HYPERLINK, getExcalidrawMarkdownHeaderSection, REGEX_TAGS } from "../shared/ExcalidrawData";
+import ExcalidrawView from "src/view/ExcalidrawView";
import { ExcalidrawElement, ExcalidrawFrameElement } from "@zsviczian/excalidraw/types/excalidraw/element/types";
-import { getEmbeddedFilenameParts, getLinkParts, isImagePartRef } from "./Utils";
-import { cleanSectionHeading } from "./ObsidianUtils";
-import { getEA } from "src/Core";
+import { getEmbeddedFilenameParts, getLinkParts, isImagePartRef } from "./utils";
+import { cleanSectionHeading } from "./obsidianUtils";
+import { getEA } from "src/core";
import { ExcalidrawImperativeAPI } from "@zsviczian/excalidraw/types/excalidraw/types";
-import { EmbeddableMDCustomProps } from "src/Shared/Dialogs/EmbeddableSettings";
+import { EmbeddableMDCustomProps } from "src/shared/Dialogs/EmbeddableSettings";
import { nanoid } from "nanoid";
-import { t } from "src/Lang/Helpers";
+import { t } from "src/lang/helpers";
export async function insertImageToView(
ea: ExcalidrawAutomate,
diff --git a/src/utils/FileUtils.ts b/src/utils/fileUtils.ts
similarity index 94%
rename from src/utils/FileUtils.ts
rename to src/utils/fileUtils.ts
index 0aa9d3a..e4e80b2 100644
--- a/src/utils/FileUtils.ts
+++ b/src/utils/fileUtils.ts
@@ -1,12 +1,12 @@
import { DataURL } from "@zsviczian/excalidraw/types/excalidraw/types";
import { App, loadPdfJs, normalizePath, Notice, requestUrl, RequestUrlResponse, TAbstractFile, TFile, TFolder, Vault } from "obsidian";
-import { DEVICE, EXCALIDRAW_PLUGIN, FRONTMATTER_KEYS, URLFETCHTIMEOUT } from "src/Constants/Constants";
-import { IMAGE_MIME_TYPES, MimeType } from "../Shared/EmbeddedFileLoader";
-import { ExcalidrawSettings } from "src/Core/settings";
-import { errorlog, getDataURL } from "./Utils";
-import ExcalidrawPlugin from "src/Core/main";
-import { ANNOTATED_PREFIX, CROPPED_PREFIX } from "./CarveOut";
-import { getAttachmentsFolderAndFilePath } from "./ObsidianUtils";
+import { DEVICE, EXCALIDRAW_PLUGIN, FRONTMATTER_KEYS, URLFETCHTIMEOUT } from "src/constants/constants";
+import { IMAGE_MIME_TYPES, MimeType } from "../shared/EmbeddedFileLoader";
+import { ExcalidrawSettings } from "src/core/settings";
+import { errorlog, getDataURL } from "./utils";
+import ExcalidrawPlugin from "src/core/main";
+import { ANNOTATED_PREFIX, CROPPED_PREFIX } from "./carveout";
+import { getAttachmentsFolderAndFilePath } from "./obsidianUtils";
/**
* Splits a full path including a folderpath and a filename into separate folderpath and filename components
diff --git a/src/utils/GetElementAtPointer.ts b/src/utils/getElementAtPointer.ts
similarity index 90%
rename from src/utils/GetElementAtPointer.ts
rename to src/utils/getElementAtPointer.ts
index bb9810d..0c678f1 100644
--- a/src/utils/GetElementAtPointer.ts
+++ b/src/utils/getElementAtPointer.ts
@@ -1,8 +1,8 @@
import { ExcalidrawElement, ExcalidrawImageElement, ExcalidrawTextElement } from "@zsviczian/excalidraw/types/excalidraw/element/types";
-import { REGEX_LINK, REG_LINKINDEX_HYPERLINK } from "../Shared/ExcalidrawData";
-import ExcalidrawView, { TextMode } from "src/View/ExcalidrawView";
-import { rotatedDimensions } from "./Utils";
-import { getBoundTextElementId } from "src/Shared/ExcalidrawAutomate";
+import { REGEX_LINK, REG_LINKINDEX_HYPERLINK } from "../shared/ExcalidrawData";
+import ExcalidrawView, { TextMode } from "src/view/ExcalidrawView";
+import { rotatedDimensions } from "./utils";
+import { getBoundTextElementId } from "src/shared/ExcalidrawAutomate";
export const getElementsAtPointer = (
pointer: any,
diff --git a/src/utils/matic.ts b/src/utils/matic.ts
index 18fd968..3adffee 100644
--- a/src/utils/matic.ts
+++ b/src/utils/matic.ts
@@ -1,4 +1,4 @@
-import { THEME } from "../Constants/Constants";
+import { THEME } from "../constants/constants";
import type { Theme } from "@zsviczian/excalidraw/types/excalidraw/element/types";
import type { DataURL } from "@zsviczian/excalidraw/types/excalidraw/types";
import type { OpenAIInput, OpenAIOutput } from "@zsviczian/excalidraw/types/excalidraw/data/ai/types";
diff --git a/src/utils/MermaidUtils.ts b/src/utils/mermaidUtils.ts
similarity index 100%
rename from src/utils/MermaidUtils.ts
rename to src/utils/mermaidUtils.ts
diff --git a/src/utils/ModifierkeyHelper.ts b/src/utils/modifierkeyHelper.ts
similarity index 98%
rename from src/utils/ModifierkeyHelper.ts
rename to src/utils/modifierkeyHelper.ts
index 8f14574..6fc6e7d 100644
--- a/src/utils/ModifierkeyHelper.ts
+++ b/src/utils/modifierkeyHelper.ts
@@ -1,7 +1,7 @@
import { Modifier } from "obsidian";
-import { DEVICE } from "src/Constants/Constants";
-import { t } from "src/Lang/Helpers";
-import { ExcalidrawSettings } from "src/Core/settings";
+import { DEVICE } from "src/constants/constants";
+import { t } from "src/lang/helpers";
+import { ExcalidrawSettings } from "src/core/settings";
export type ModifierKeys = {shiftKey:boolean, ctrlKey: boolean, metaKey: boolean, altKey: boolean};
export type KeyEvent = PointerEvent | MouseEvent | KeyboardEvent | React.DragEvent | React.PointerEvent | React.MouseEvent | ModifierKeys;
export type PaneTarget = "active-pane"|"new-pane"|"popout-window"|"new-tab"|"md-properties";
diff --git a/src/utils/ObsidianUtils.ts b/src/utils/obsidianUtils.ts
similarity index 95%
rename from src/utils/ObsidianUtils.ts
rename to src/utils/obsidianUtils.ts
index 0ab6dd6..1e82836 100644
--- a/src/utils/ObsidianUtils.ts
+++ b/src/utils/obsidianUtils.ts
@@ -5,13 +5,13 @@ import {
MarkdownView,
normalizePath, OpenViewState, parseFrontMatterEntry, TFile, View, ViewState, Workspace, WorkspaceLeaf, WorkspaceSplit
} from "obsidian";
-import ExcalidrawPlugin from "../Core/main";
-import { checkAndCreateFolder, splitFolderAndFilename } from "./FileUtils";
-import { linkClickModifierType, ModifierKeys } from "./ModifierkeyHelper";
-import { EXCALIDRAW_PLUGIN, REG_BLOCK_REF_CLEAN, REG_SECTION_REF_CLEAN, VIEW_TYPE_EXCALIDRAW } from "src/Constants/Constants";
+import ExcalidrawPlugin from "../core/main";
+import { checkAndCreateFolder, splitFolderAndFilename } from "./fileUtils";
+import { linkClickModifierType, ModifierKeys } from "./modifierkeyHelper";
+import { EXCALIDRAW_PLUGIN, REG_BLOCK_REF_CLEAN, REG_SECTION_REF_CLEAN, VIEW_TYPE_EXCALIDRAW } from "src/constants/constants";
import yaml from "js-yaml";
-import { debug, DEBUGGING } from "./DebugHelper";
-import ExcalidrawView from "src/View/ExcalidrawView";
+import { debug, DEBUGGING } from "./debugHelper";
+import ExcalidrawView from "src/view/ExcalidrawView";
export const getParentOfClass = (element: Element, cssClass: string):HTMLElement | null => {
let parent = element.parentElement;
diff --git a/src/utils/Pens.ts b/src/utils/pens.ts
similarity index 98%
rename from src/utils/Pens.ts
rename to src/utils/pens.ts
index dd8fbce..dcff098 100644
--- a/src/utils/Pens.ts
+++ b/src/utils/pens.ts
@@ -1,4 +1,4 @@
-import { PenStyle, PenType } from "src/Types/PenTypes";
+import { PenStyle, PenType } from "src/types/penTypes";
export const PENS:Record = {
"default": {
diff --git a/src/utils/Utils.ts b/src/utils/utils.ts
similarity index 95%
rename from src/utils/Utils.ts
rename to src/utils/utils.ts
index c95f705..d1eaa9f 100644
--- a/src/utils/Utils.ts
+++ b/src/utils/utils.ts
@@ -16,22 +16,22 @@ import {
getCommonBoundingBox,
DEVICE,
getContainerElement,
-} from "../Constants/Constants";
-import ExcalidrawPlugin from "../Core/main";
+} from "../constants/constants";
+import ExcalidrawPlugin from "../core/main";
import { ExcalidrawElement, ExcalidrawTextElement, ImageCrop } from "@zsviczian/excalidraw/types/excalidraw/element/types";
-import { ExportSettings } from "../View/ExcalidrawView";
-import { getDataURLFromURL, getIMGFilename, getMimeType, getURLImageExtension } from "./FileUtils";
-import { generateEmbeddableLink } from "./CustomEmbeddableUtils";
-import { FILENAMEPARTS } from "./UtilTypes";
+import { ExportSettings } from "../view/ExcalidrawView";
+import { getDataURLFromURL, getIMGFilename, getMimeType, getURLImageExtension } from "./fileUtils";
+import { generateEmbeddableLink } from "./customEmbeddableUtils";
+import { FILENAMEPARTS } from "../types/utilTypes";
import { Mutable } from "@zsviczian/excalidraw/types/excalidraw/utility-types";
-import { cleanBlockRef, cleanSectionHeading, getFileCSSClasses } from "./ObsidianUtils";
-import { updateElementLinksToObsidianLinks } from "src/Shared/ExcalidrawAutomate";
-import { CropImage } from "./CropImage";
+import { cleanBlockRef, cleanSectionHeading, getFileCSSClasses } from "./obsidianUtils";
+import { updateElementLinksToObsidianLinks } from "src/shared/ExcalidrawAutomate";
+import { CropImage } from "../shared/CropImage";
import opentype from 'opentype.js';
-import { runCompressionWorker } from "src/Shared/Workers/compression-worker";
+import { runCompressionWorker } from "src/shared/Workers/compression-worker";
import Pool from "es6-promise-pool";
-import { FileData } from "../Shared/EmbeddedFileLoader";
-import { t } from "src/Lang/Helpers";
+import { FileData } from "../shared/EmbeddedFileLoader";
+import { t } from "src/lang/helpers";
declare const PLUGIN_VERSION:string;
declare var LZString: any;
diff --git a/src/View/ExcalidrawLoading.ts b/src/view/ExcalidrawLoading.ts
similarity index 88%
rename from src/View/ExcalidrawLoading.ts
rename to src/view/ExcalidrawLoading.ts
index 895ad6a..b04aa5d 100644
--- a/src/View/ExcalidrawLoading.ts
+++ b/src/view/ExcalidrawLoading.ts
@@ -1,7 +1,7 @@
import { App, FileView, WorkspaceLeaf } from "obsidian";
-import { VIEW_TYPE_EXCALIDRAW_LOADING } from "src/Constants/Constants";
-import ExcalidrawPlugin from "src/Core/main";
-import { setExcalidrawView } from "src/Utils/ObsidianUtils";
+import { VIEW_TYPE_EXCALIDRAW_LOADING } from "src/constants/constants";
+import ExcalidrawPlugin from "src/core/main";
+import { setExcalidrawView } from "src/utils/obsidianUtils";
export function switchToExcalidraw(app: App) {
const leaves = app.workspace.getLeavesOfType(VIEW_TYPE_EXCALIDRAW_LOADING).filter(l=>l.view instanceof ExcalidrawLoading);
diff --git a/src/View/ExcalidrawView.ts b/src/view/ExcalidrawView.ts
similarity index 99%
rename from src/View/ExcalidrawView.ts
rename to src/view/ExcalidrawView.ts
index 258ea5b..ae5289c 100644
--- a/src/View/ExcalidrawView.ts
+++ b/src/view/ExcalidrawView.ts
@@ -56,8 +56,8 @@ import {
MD_EX_SECTIONS,
refreshTextDimensions,
getContainerElement,
-} from "../Constants/Constants";
-import ExcalidrawPlugin from "../Core/main";
+} from "../constants/constants";
+import ExcalidrawPlugin from "../core/main";
import {
repositionElementsToCursor,
ExcalidrawAutomate,
@@ -67,15 +67,15 @@ import {
getElementsWithLinkMatchingQuery,
getImagesMatchingQuery,
getBoundTextElementId
-} from "../Shared/ExcalidrawAutomate";
-import { t } from "../Lang/Helpers";
+} from "../shared/ExcalidrawAutomate";
+import { t } from "../lang/helpers";
import {
ExcalidrawData,
REG_LINKINDEX_HYPERLINK,
REGEX_LINK,
AutoexportPreference,
getExcalidrawMarkdownHeaderSection,
-} from "../Shared/ExcalidrawData";
+} from "../shared/ExcalidrawData";
import {
checkAndCreateFolder,
download,
@@ -85,7 +85,7 @@ import {
getMimeType,
getNewUniqueFilepath,
getURLImageExtension,
-} from "../Utils/FileUtils";
+} from "../utils/fileUtils";
import {
checkExcalidrawVersion,
errorlog,
@@ -108,48 +108,48 @@ import {
shouldEmbedScene,
_getContainerElement,
arrayToMap,
-} from "../Utils/Utils";
-import { cleanBlockRef, cleanSectionHeading, closeLeafView, getAttachmentsFolderAndFilePath, getLeaf, getParentOfClass, obsidianPDFQuoteWithRef, openLeaf, setExcalidrawView } from "../Utils/ObsidianUtils";
-import { splitFolderAndFilename } from "../Utils/FileUtils";
-import { ConfirmationPrompt, GenericInputPrompt, NewFileActions, Prompt, linkPrompt } from "../Shared/Dialogs/Prompt";
+} from "../utils/utils";
+import { cleanBlockRef, cleanSectionHeading, closeLeafView, getAttachmentsFolderAndFilePath, getLeaf, getParentOfClass, obsidianPDFQuoteWithRef, openLeaf, setExcalidrawView } from "../utils/obsidianUtils";
+import { splitFolderAndFilename } from "../utils/fileUtils";
+import { ConfirmationPrompt, GenericInputPrompt, NewFileActions, Prompt, linkPrompt } from "../shared/Dialogs/Prompt";
import { ClipboardData } from "@zsviczian/excalidraw/types/excalidraw/clipboard";
-import { updateEquation } from "../Shared/LaTeX";
+import { updateEquation } from "../shared/LaTeX";
import {
EmbeddedFile,
EmbeddedFilesLoader,
FileData,
generateIdFromFile,
-} from "../Shared/EmbeddedFileLoader";
-import { ScriptInstallPrompt } from "../Shared/Dialogs/ScriptInstallPrompt";
-import { ObsidianMenu } from "./Components/Menu/ObsidianMenu";
-import { ToolsPanel } from "./Components/Menu/ToolsPanel";
-import { ScriptEngine } from "../Shared/Scripts";
-import { getTextElementAtPointer, getImageElementAtPointer, getElementWithLinkAtPointer } from "../Utils/GetElementAtPointer";
-import { excalidrawSword, ICONS, LogoWrapper, Rank, saveIcon, SwordColors } from "./Components/Menu/ActionIcons";
-import { ExportDialog } from "../Shared/Dialogs/ExportDialog";
-import { getEA } from "src/Core"
-import { anyModifierKeysPressed, emulateKeysForLinkClick, webbrowserDragModifierType, internalDragModifierType, isWinALTorMacOPT, isWinCTRLorMacCMD, isWinMETAorMacCTRL, isSHIFT, linkClickModifierType, localFileDragModifierType, ModifierKeys, modifierKeyTooltipMessages } from "../Utils/ModifierkeyHelper";
-import { setDynamicStyle } from "../Utils/DynamicStyling";
-import { InsertPDFModal } from "../Shared/Dialogs/InsertPDFModal";
-import { CustomEmbeddable, renderWebView } from "./Components/customEmbeddable";
-import { addBackOfTheNoteCard, getExcalidrawFileForwardLinks, getFrameBasedOnFrameNameOrId, getLinkTextFromLink, insertEmbeddableToView, insertImageToView, isTextImageTransclusion, openExternalLink, parseObsidianLink, renderContextMenuAction, tmpBruteForceCleanup } from "../Utils/ExcalidrawViewUtils";
-import { imageCache } from "../Utils/ImageCache";
-import { CanvasNodeFactory, ObsidianCanvasNode } from "../Utils/CanvasNodeFactory";
-import { EmbeddableMenu } from "./Components/Menu/EmbeddableActionsMenu";
-import { useDefaultExcalidrawFrame } from "../Utils/CustomEmbeddableUtils";
-import { UniversalInsertFileModal } from "../Shared/Dialogs/UniversalInsertFileModal";
-import { getMermaidText, shouldRenderMermaid } from "../Utils/MermaidUtils";
+} from "../shared/EmbeddedFileLoader";
+import { ScriptInstallPrompt } from "../shared/Dialogs/ScriptInstallPrompt";
+import { ObsidianMenu } from "./components/menu/ObsidianMenu";
+import { ToolsPanel } from "./components/menu/ToolsPanel";
+import { ScriptEngine } from "../shared/Scripts";
+import { getTextElementAtPointer, getImageElementAtPointer, getElementWithLinkAtPointer } from "../utils/getElementAtPointer";
+import { excalidrawSword, ICONS, LogoWrapper, Rank, saveIcon, SwordColors } from "../constants/actionIcons";
+import { ExportDialog } from "../shared/Dialogs/ExportDialog";
+import { getEA } from "src/core"
+import { anyModifierKeysPressed, emulateKeysForLinkClick, webbrowserDragModifierType, internalDragModifierType, isWinALTorMacOPT, isWinCTRLorMacCMD, isWinMETAorMacCTRL, isSHIFT, linkClickModifierType, localFileDragModifierType, ModifierKeys, modifierKeyTooltipMessages } from "../utils/modifierkeyHelper";
+import { setDynamicStyle } from "../utils/dynamicStyling";
+import { InsertPDFModal } from "../shared/Dialogs/InsertPDFModal";
+import { CustomEmbeddable, renderWebView } from "./components/CustomEmbeddable";
+import { addBackOfTheNoteCard, getExcalidrawFileForwardLinks, getFrameBasedOnFrameNameOrId, getLinkTextFromLink, insertEmbeddableToView, insertImageToView, isTextImageTransclusion, openExternalLink, parseObsidianLink, renderContextMenuAction, tmpBruteForceCleanup } from "../utils/excalidrawViewUtils";
+import { imageCache } from "../shared/ImageCache";
+import { CanvasNodeFactory, ObsidianCanvasNode } from "./managers/CanvasNodeFactory";
+import { EmbeddableMenu } from "./components/menu/EmbeddableActionsMenu";
+import { useDefaultExcalidrawFrame } from "../utils/customEmbeddableUtils";
+import { UniversalInsertFileModal } from "../shared/Dialogs/UniversalInsertFileModal";
+import { getMermaidText, shouldRenderMermaid } from "../utils/mermaidUtils";
import { nanoid } from "nanoid";
-import { CustomMutationObserver, DEBUGGING, debug, log} from "../Utils/DebugHelper";
-import { errorHTML, extractCodeBlocks, postOpenAI } from "../Utils/AIUtils";
+import { CustomMutationObserver, DEBUGGING, debug, log} from "../utils/debugHelper";
+import { errorHTML, extractCodeBlocks, postOpenAI } from "../utils/AIUtils";
import { Mutable } from "@zsviczian/excalidraw/types/excalidraw/utility-types";
-import { SelectCard } from "../Shared/Dialogs/SelectCard";
-import { Packages } from "../Types/Types";
+import { SelectCard } from "../shared/Dialogs/SelectCard";
+import { Packages } from "../types/types";
import React from "react";
-import { diagramToHTML } from "../Utils/Matic";
-import { IS_WORKER_SUPPORTED } from "../Shared/Workers/compression-worker";
-import { getPDFCropRect } from "../Utils/PDFUtils";
-import { ViewSemaphores } from "../Types/ExcalidrawViewTypes";
+import { diagramToHTML } from "../utils/matic";
+import { IS_WORKER_SUPPORTED } from "../shared/Workers/compression-worker";
+import { getPDFCropRect } from "../utils/PDFUtils";
+import { ViewSemaphores } from "../types/excalidrawViewTypes";
const EMBEDDABLE_SEMAPHORE_TIMEOUT = 2000;
const PREVENT_RELOAD_TIMEOUT = 2000;
diff --git a/src/View/Components/customEmbeddable.tsx b/src/view/components/CustomEmbeddable.tsx
similarity index 98%
rename from src/View/Components/customEmbeddable.tsx
rename to src/view/components/CustomEmbeddable.tsx
index a89c273..e276555 100644
--- a/src/View/Components/customEmbeddable.tsx
+++ b/src/view/components/CustomEmbeddable.tsx
@@ -1,13 +1,13 @@
import { NonDeletedExcalidrawElement } from "@zsviczian/excalidraw/types/excalidraw/element/types";
-import ExcalidrawView from "src/View/ExcalidrawView";
+import ExcalidrawView from "src/view/ExcalidrawView";
import { Notice, WorkspaceLeaf, WorkspaceSplit } from "obsidian";
import * as React from "react";
-import { ConstructableWorkspaceSplit, getContainerForDocument, isObsidianThemeDark } from "src/Utils/ObsidianUtils";
-import { DEVICE, EXTENDED_EVENT_TYPES, KEYBOARD_EVENT_TYPES } from "src/Constants/Constants";
+import { ConstructableWorkspaceSplit, getContainerForDocument, isObsidianThemeDark } from "src/utils/obsidianUtils";
+import { DEVICE, EXTENDED_EVENT_TYPES, KEYBOARD_EVENT_TYPES } from "src/constants/constants";
import { ExcalidrawImperativeAPI, UIAppState } from "@zsviczian/excalidraw/types/excalidraw/types";
-import { ObsidianCanvasNode } from "src/Utils/CanvasNodeFactory";
-import { processLinkText, patchMobileView } from "src/Utils/CustomEmbeddableUtils";
-import { EmbeddableMDCustomProps } from "src/Shared/Dialogs/EmbeddableSettings";
+import { ObsidianCanvasNode } from "src/view/managers/CanvasNodeFactory";
+import { processLinkText, patchMobileView } from "src/utils/customEmbeddableUtils";
+import { EmbeddableMDCustomProps } from "src/shared/Dialogs/EmbeddableSettings";
declare module "obsidian" {
interface Workspace {
diff --git a/src/View/Components/Menu/ActionButton.tsx b/src/view/components/menu/ActionButton.tsx
similarity index 100%
rename from src/View/Components/Menu/ActionButton.tsx
rename to src/view/components/menu/ActionButton.tsx
diff --git a/src/View/Components/Menu/EmbeddableActionsMenu.tsx b/src/view/components/menu/EmbeddableActionsMenu.tsx
similarity index 95%
rename from src/View/Components/Menu/EmbeddableActionsMenu.tsx
rename to src/view/components/menu/EmbeddableActionsMenu.tsx
index 18cc668..5072f46 100644
--- a/src/View/Components/Menu/EmbeddableActionsMenu.tsx
+++ b/src/view/components/menu/EmbeddableActionsMenu.tsx
@@ -4,17 +4,17 @@ import ExcalidrawView from "../../ExcalidrawView";
import { ExcalidrawElement, ExcalidrawEmbeddableElement } from "@zsviczian/excalidraw/types/excalidraw/element/types";
import { AppState, ExcalidrawImperativeAPI } from "@zsviczian/excalidraw/types/excalidraw/types";
import { ActionButton } from "./ActionButton";
-import { ICONS } from "./ActionIcons";
-import { t } from "src/Lang/Helpers";
-import { ScriptEngine } from "../../../Shared/Scripts";
-import { MD_EX_SECTIONS, ROOTELEMENTSIZE, nanoid, sceneCoordsToViewportCoords } from "src/Constants/Constants";
-import { REGEX_LINK, REG_LINKINDEX_HYPERLINK } from "../../../Shared/ExcalidrawData";
-import { processLinkText, useDefaultExcalidrawFrame } from "src/Utils/CustomEmbeddableUtils";
-import { cleanSectionHeading } from "src/Utils/ObsidianUtils";
-import { EmbeddableSettings } from "src/Shared/Dialogs/EmbeddableSettings";
-import { openExternalLink } from "src/Utils/ExcalidrawViewUtils";
-import { getEA } from "src/Core";
-import { ExcalidrawAutomate } from "src/Shared/ExcalidrawAutomate";
+import { ICONS } from "../../../constants/actionIcons";
+import { t } from "src/lang/helpers";
+import { ScriptEngine } from "../../../shared/Scripts";
+import { MD_EX_SECTIONS, ROOTELEMENTSIZE, nanoid, sceneCoordsToViewportCoords } from "src/constants/constants";
+import { REGEX_LINK, REG_LINKINDEX_HYPERLINK } from "../../../shared/ExcalidrawData";
+import { processLinkText, useDefaultExcalidrawFrame } from "src/utils/customEmbeddableUtils";
+import { cleanSectionHeading } from "src/utils/obsidianUtils";
+import { EmbeddableSettings } from "src/shared/Dialogs/EmbeddableSettings";
+import { openExternalLink } from "src/utils/excalidrawViewUtils";
+import { getEA } from "src/core";
+import { ExcalidrawAutomate } from "src/shared/ExcalidrawAutomate";
export class EmbeddableMenu {
private menuFadeTimeout: number = 0;
diff --git a/src/View/Components/Menu/ObsidianMenu.tsx b/src/view/components/menu/ObsidianMenu.tsx
similarity index 94%
rename from src/View/Components/Menu/ObsidianMenu.tsx
rename to src/view/components/menu/ObsidianMenu.tsx
index bc3a03c..37f98a8 100644
--- a/src/View/Components/Menu/ObsidianMenu.tsx
+++ b/src/view/components/menu/ObsidianMenu.tsx
@@ -2,16 +2,16 @@ import { AppState, ExcalidrawImperativeAPI } from "@zsviczian/excalidraw/types/e
import clsx from "clsx";
import { TFile } from "obsidian";
import * as React from "react";
-import { DEVICE } from "src/Constants/Constants";
-import { PenSettingsModal } from "src/Shared/Dialogs/PenSettingsModal";
-import ExcalidrawView from "src/View/ExcalidrawView";
-import { PenStyle } from "src/Types/PenTypes";
-import { PENS } from "src/Utils/Pens";
-import ExcalidrawPlugin from "../../../Core/main";
-import { ICONS, penIcon, stringToSVG } from "./ActionIcons";
-import { UniversalInsertFileModal } from "src/Shared/Dialogs/UniversalInsertFileModal";
-import { t } from "src/Lang/Helpers";
-import { getExcalidrawViews } from "src/Utils/ObsidianUtils";
+import { DEVICE } from "src/constants/constants";
+import { PenSettingsModal } from "src/shared/Dialogs/PenSettingsModal";
+import ExcalidrawView from "src/view/ExcalidrawView";
+import { PenStyle } from "src/types/penTypes";
+import { PENS } from "src/utils/pens";
+import ExcalidrawPlugin from "../../../core/main";
+import { ICONS, penIcon, stringToSVG } from "../../../constants/actionIcons";
+import { UniversalInsertFileModal } from "src/shared/Dialogs/UniversalInsertFileModal";
+import { t } from "src/lang/helpers";
+import { getExcalidrawViews } from "src/utils/obsidianUtils";
export function setPen (pen: PenStyle, api: any) {
const st = api.getAppState();
diff --git a/src/View/Components/Menu/ToolsPanel.tsx b/src/view/components/menu/ToolsPanel.tsx
similarity index 96%
rename from src/View/Components/Menu/ToolsPanel.tsx
rename to src/view/components/menu/ToolsPanel.tsx
index 7c56676..08238fa 100644
--- a/src/View/Components/Menu/ToolsPanel.tsx
+++ b/src/view/components/menu/ToolsPanel.tsx
@@ -2,23 +2,23 @@ import clsx from "clsx";
import { Notice, TFile } from "obsidian";
import * as React from "react";
import { ActionButton } from "./ActionButton";
-import { ICONS, saveIcon, stringToSVG } from "./ActionIcons";
-import { DEVICE, SCRIPT_INSTALL_FOLDER } from "../../../Constants/Constants";
-import { insertLaTeXToView, search } from "../../../Shared/ExcalidrawAutomate";
+import { ICONS, saveIcon, stringToSVG } from "../../../constants/actionIcons";
+import { DEVICE, SCRIPT_INSTALL_FOLDER } from "../../../constants/constants";
+import { insertLaTeXToView, search } from "../../../shared/ExcalidrawAutomate";
import ExcalidrawView, { TextMode } from "../../ExcalidrawView";
-import { t } from "../../../Lang/Helpers";
-import { ReleaseNotes } from "../../../Shared/Dialogs/ReleaseNotes";
-import { ScriptIconMap } from "../../../Shared/Scripts";
-import { ScriptInstallPrompt } from "src/Shared/Dialogs/ScriptInstallPrompt";
+import { t } from "../../../lang/helpers";
+import { ReleaseNotes } from "../../../shared/Dialogs/ReleaseNotes";
+import { ScriptIconMap } from "../../../shared/Scripts";
+import { ScriptInstallPrompt } from "src/shared/Dialogs/ScriptInstallPrompt";
import { ExcalidrawImperativeAPI } from "@zsviczian/excalidraw/types/excalidraw/types";
-import { isWinALTorMacOPT, isWinCTRLorMacCMD, isSHIFT } from "src/Utils/ModifierkeyHelper";
-import { InsertPDFModal } from "src/Shared/Dialogs/InsertPDFModal";
-import { ExportDialog } from "src/Shared/Dialogs/ExportDialog";
-import { openExternalLink } from "src/Utils/ExcalidrawViewUtils";
-import { UniversalInsertFileModal } from "src/Shared/Dialogs/UniversalInsertFileModal";
-import { DEBUGGING, debug } from "src/Utils/DebugHelper";
-import { REM_VALUE } from "src/Utils/StylesManager";
-import { getExcalidrawViews } from "src/Utils/ObsidianUtils";
+import { isWinALTorMacOPT, isWinCTRLorMacCMD, isSHIFT } from "src/utils/modifierkeyHelper";
+import { InsertPDFModal } from "src/shared/Dialogs/InsertPDFModal";
+import { ExportDialog } from "src/shared/Dialogs/ExportDialog";
+import { openExternalLink } from "src/utils/excalidrawViewUtils";
+import { UniversalInsertFileModal } from "src/shared/Dialogs/UniversalInsertFileModal";
+import { DEBUGGING, debug } from "src/utils/debugHelper";
+import { REM_VALUE } from "src/core/managers/StylesManager";
+import { getExcalidrawViews } from "src/utils/obsidianUtils";
declare const PLUGIN_VERSION:string;
diff --git a/src/utils/CanvasNodeFactory.ts b/src/view/managers/CanvasNodeFactory.ts
similarity index 96%
rename from src/utils/CanvasNodeFactory.ts
rename to src/view/managers/CanvasNodeFactory.ts
index 7a55db6..e10fde6 100644
--- a/src/utils/CanvasNodeFactory.ts
+++ b/src/view/managers/CanvasNodeFactory.ts
@@ -9,9 +9,9 @@ container.appendChild(node.contentEl)
*/
import { TFile, WorkspaceLeaf, WorkspaceSplit } from "obsidian";
-import ExcalidrawView from "src/View/ExcalidrawView";
-import { getContainerForDocument, ConstructableWorkspaceSplit, isObsidianThemeDark } from "./ObsidianUtils";
-import { CustomMutationObserver, DEBUGGING } from "./DebugHelper";
+import ExcalidrawView from "src/view/ExcalidrawView";
+import { getContainerForDocument, ConstructableWorkspaceSplit, isObsidianThemeDark } from "../../utils/obsidianUtils";
+import { CustomMutationObserver, DEBUGGING } from "../../utils/debugHelper";
declare module "obsidian" {
interface Workspace {
diff --git a/tsconfig.dev.json b/tsconfig.dev.json
index ec3036e..5a0297d 100644
--- a/tsconfig.dev.json
+++ b/tsconfig.dev.json
@@ -22,6 +22,6 @@
"include": [
"**/*.ts",
"**/*.tsx", "src/Dialogs/OpenDrawing.ts",
- "src/Types/Types.d.ts",
+ "src/types/types.d.ts",
]
}
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
index 4f4050c..d4c9940 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -20,7 +20,7 @@
},
"include": [
"**/*.ts",
- "**/*.tsx", "src/Shared/Dialogs/OpenDrawing.ts",
- "src/Types/Types.d.ts",
+ "**/*.tsx", "src/shared/Dialogs/OpenDrawing.ts",
+ "src/types/types.d.ts",
]
}
\ No newline at end of file