diff --git a/src/ExcalidrawAutomate.ts b/src/ExcalidrawAutomate.ts index a8fc2eb..00847af 100644 --- a/src/ExcalidrawAutomate.ts +++ b/src/ExcalidrawAutomate.ts @@ -717,6 +717,12 @@ export class ExcalidrawAutomate { this.style.roundness ? "round":"sharp", gridSize: template?.appState?.gridSize ?? this.canvas.gridSize, colorPalette: template?.appState?.colorPalette ?? this.colorPalette, + ...template?.appState?.frameRendering + ? {frameRendering: template.appState.frameRendering} + : {}, + ...template?.appState?.objectsSnapModeEnabled + ? {objectsSnapModeEnabled: template.appState.objectsSnapModeEnabled} + : {}, }, files: template?.files ?? {}, }; @@ -2953,6 +2959,7 @@ async function getTemplate( } excalidrawData.destroy(); + const filehead = data.substring(0, trimLocation); return { elements: convertMarkdownLinksToObsidianURLs ? updateElementLinksToObsidianLinks({ @@ -2960,7 +2967,7 @@ async function getTemplate( hostFile: file, }) : groupElements, appState: scene.appState, - frontmatter: data.substring(0, trimLocation), + frontmatter: filehead.match(/^---\n.*\n---\n/ms)?.[0] ?? filehead, files: scene.files, hasSVGwithBitmap, }; diff --git a/src/ExcalidrawData.ts b/src/ExcalidrawData.ts index 0af6ce0..7129e8a 100644 --- a/src/ExcalidrawData.ts +++ b/src/ExcalidrawData.ts @@ -720,6 +720,24 @@ export class ExcalidrawData { this.scene.appState.theme = isObsidianThemeDark() ? "dark" : "light"; } + //girdSize, gridStep, previousGridSize, gridModeEnabled migration + if(this.scene.appState.hasOwnProperty("previousGridSize")) { //if previousGridSize was present this is legacy data + if(this.scene.appState.gridSize === null) { + this.scene.appState.gridSize = this.scene.appState.previousGridSize; + this.scene.appState.gridModeEnabled = false; + } else { + this.scene.appState.gridModeEnabled = true; + } + delete this.scene.appState.previousGridSize; + } + + if(this.scene.appState?.gridColor?.hasOwnProperty("MajorGridFrequency")) { //if this is present, this is legacy data + if(this.scene.appState.gridColor.MajorGridFrequency>1) { + this.scene.gridStep = this.scene.appState.gridColor.MajorGridFrequency; + } + delete this.scene.appState.gridColor.MajorGridFrequency; + } + //once off migration of legacy scenes if(this.scene?.elements?.some((el:any)=>el.type==="iframe" && !el.customData)) { const prompt = new ConfirmationPrompt( diff --git a/src/ExcalidrawView.ts b/src/ExcalidrawView.ts index f198269..b24a777 100644 --- a/src/ExcalidrawView.ts +++ b/src/ExcalidrawView.ts @@ -2213,13 +2213,13 @@ export default class ExcalidrawView extends TextFileView { }); } - private getGridColor(bgColor: string, st: AppState):{Bold: string, Regular: string, MajorGridFrequency: number} { + private getGridColor(bgColor: string, st: AppState):{Bold: string, Regular: string} { (process.env.NODE_ENV === 'development') && DEBUGGING && debug(this.getGridColor, "ExcalidrawView.getGridColor", bgColor, st); const cm = this.plugin.ea.getCM(bgColor); const isDark = cm.isDark(); const Regular = (isDark ? cm.lighterBy(7) : cm.darkerBy(7)).stringHEX({alpha: false}); const Bold = (isDark ? cm.lighterBy(14) : cm.darkerBy(14)).stringHEX({alpha: false}); - return {Bold, Regular, MajorGridFrequency:st.gridColor.MajorGridFrequency}; + return {Bold, Regular}; } public activeLoader: EmbeddedFilesLoader = null; @@ -3230,6 +3230,7 @@ export default class ExcalidrawView extends TextFileView { version: 2, source: GITHUB_RELEASES+PLUGIN_VERSION, elements: el, + //see also ExcalidrawAutomate async create( appState: { theme: st.theme, viewBackgroundColor: st.viewBackgroundColor, @@ -3250,10 +3251,11 @@ export default class ExcalidrawView extends TextFileView { zoom: st.zoom, currentItemRoundness: st.currentItemRoundness, gridSize: st.gridSize, + gridStep: st.gridStep, + gridModeEnabled: st.gridModeEnabled, gridColor: st.gridColor, colorPalette: st.colorPalette, currentStrokeOptions: st.currentStrokeOptions, - previousGridSize: st.previousGridSize, frameRendering: st.frameRendering, objectsSnapModeEnabled: st.objectsSnapModeEnabled, }, diff --git a/src/lang/locale/en.ts b/src/lang/locale/en.ts index 09b2a19..011cda6 100644 --- a/src/lang/locale/en.ts +++ b/src/lang/locale/en.ts @@ -773,7 +773,7 @@ FILENAME_HEAD: "Filename", TOGGLE_FRAME_RENDERING: "Toggle frame rendering", TOGGLE_FRAME_CLIPPING: "Toggle frame clipping", OPEN_LINK_CLICK: "Open Link", - OPEN_LINK_PROPS: "Open markdown-embed properties or open link in new window", + OPEN_LINK_PROPS: "Open markdown-embed properties or the LaTeX editor or open the link in a new window", //IFrameActionsMenu.tsx NARROW_TO_HEADING: "Narrow to heading...",