首页 > 其他分享 >obsidian-excalidraw-plugin 折腾日记

obsidian-excalidraw-plugin 折腾日记

时间:2024-08-10 21:27:15浏览次数:13  
标签:activeView plugin obsidian exca vault pdf excalidraw

1

起因是我在 Obsidian 里用 excalidraw 画了几十帧关于 PG 中 window function 的实现。每一帧按顺序播放的话,就可以形成定格动画的效果。

obsidian 里的 excalidraw 也可以使用插件。为了形成定格动画的播放效果,我更改了 SlideShow 插件的代码。

const TRANSITION_STEP_COUNT = 1;
const TRANSITION_DELAY = 0; //maximum time for transition between slides in milliseconds
const FRAME_SLEEP = 0; //milliseconds

这样基本实现了在 obsidian 里展示定格动画的效果。

2

为了更好的分享我在 excalidraw 的画的画,我需要将每一帧导出成图片,并把这些图片放到 pdf 文件里。我开始玩起了 obsidian-excalidraw-plugin.
入门视频:https://www.youtube.com/watch?v=hePJcObHIso&t=424s.
最终,我可以在 obsidian developer console 里执行如下代码将所有的帧导出成 svg 文件。

exca = ExcalidrawAutomate
exca.setView('active')
eapi = exca.getExcalidrawAPI()

elements = exca.getViewElements()
frames = elements.filter(e => e.type == 'frame').sort((a, b) => a.name.localeCompare(b.name))

async function ssvg(index) {
    activeView = exca.targetView;
    vault = activeView.app.vault;
    p = activeView.file.path;
    p.indexOf('/') == -1 ? p = p : p = p.substring(p.lastIndexOf('/') + 1);
	d = '/' + p.substring(0, p.indexOf(".")) + '_slides';
    if (vault.getFolderByPath(d) == null)
        vault.createFolder(d);
    n = d + '/slide' + index + '.svg';
	e = exca.getElementsInFrame(frames[index - 1], elements);
    a = await activeView.svg({
	        elements: e,
			appState: eapi.getAppState(),
            files: exca.getExcalidrawAPI().getFiles(),
	    }, undefined, undefined, true);
    o = (new XMLSerializer).serializeToString(a);
    await vault.create(n, o);
}

for (var i = 1; i <= frames.length; i++) await ssvg(i);

然后,我就可以在 obsidian 的 markdown 文件里引用这些图片,然后将 markdown 导出成 pdf.

最终效果:https://ldd.cool/pdf/windowagg.pdf

标签:activeView,plugin,obsidian,exca,vault,pdf,excalidraw
From: https://www.cnblogs.com/lddcool/p/18352801

相关文章

  • vue3中piniaPluginPersistedstate解决动态路由刷新空白问题
    总结:使用了回调函数来防止持久化数据前就渲染页面,导致刷新空白1.Store里的代码(**这里主要就是在addNewRoute写了回调callback**)addNewRoute(menuList,()=>{//重新渲染router.push({path:'/home/individual'})});import{defineStore}from"pinia";import......
  • pinia-plugin-persistedstate 插件不生效
    引入使用该插件使用时发现不生效原因:pinia实例调用顺序不当将://import'./assets/main.css'import{createApp}from'vue'import{createPinia}from'pinia'importpiniaPluginPersistedstatefrom'pinia-plugin-persistedstate'importAppfr......
  • Obsidian学习笔记-界面图标介绍
    背景打开Obsidian,会看到界面是极简画风,初学者或许难以弄清界面边框上诸多小图标的含义,本文将详细介绍Obsidian界面上共27个图标,并逐一列图展示其功能和使用效果。并根据的 Obsidian页面设计从左到右,分为功能页(左)、内容页、功能页(右)三大板块依次介绍。一、功能页(左)这......
  • Plugin Boutique Scaler EQ V1.1.3_WIN-TCD&MAC-HCiSO(2024.08更新),持续更新长期有效
    一。PluginBoutiqueScalerEQ1.1.3WIN-TCD&MAC-HCiSO   紧随屡获殊荣的音乐理论插件Scaler之后,ScalerEQ以一种引人注目的全新方式提供了音乐性和色彩的均衡。ScalerEQ是PluginBoutique推出的一款创新均衡器插件,结合传统和和声均衡功能,专注于音乐理论,为音乐制作和混......
  • Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plug
    创建了一个maven项目,然后在编译时运行错误:“failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile(default-compile)onprojectforum:thepluginorg.apache.maven.plugins:maven-compiler-plugin:3.13.0requiresmavenversion3.6.3-......
  • 最新版Sonible Plugins Bundle v2024 win&mac,简单智能,持续更新长期有效
    一。SoniblePluginsBundlev2024win&mac    SoniblePluginsBundle是一款以创作者为中心的智能音频插件系列。这些工具的特点是易于使用,搭配高级处理和优质音质。pure:bundle的所有插件都由sonible的智能插件系列中使用的技术驱动,但在设计时考虑到了创作者。pure:......
  • 【Obsidian插件】(2)Zotero Integration插件设置界面介绍
    ZoteroIntegration插件可以将Zotero(文献管理软件)与Obsidian(笔记软件)整合起来,通过引用文献或导入注释等操作,以提高文献阅读和笔记记录的效率。本文主要介绍该插件的设置界面:目录1一般设置(GeneralSettings)1.1PDFUtility1.2自定义PDFUtility路径1.3数据库1.4笔......
  • ] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin Ca
    [ERROR]Failedtoexecutegoalorg.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate(default-cli)onprojectcom-zhianchen-pgsql:Executiondefault-cliofgoalorg.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generatefailed:Cann......
  • obsidian群晖同步方案-Möbius Sync
    概述采用MöbiusSync的原因,主要有两点原因使用obsidian的remotesave在移动端同步后,obsidian经常卡死,无法查看;remotesave配置过程种,ios设备配置的服务地址需要https,但是家用没有ssl证书导致配置失败;群晖-obsidian-各设备之间的同步方案nas配置MöbiusSync1.nas......
  • Obsidian学习笔记-界面图标介绍(上)
     背景打开Obsidian,会看到界面是极简画风,初学者或许难以弄清界面边框上诸多小图标的含义,本文将详细介绍。(发现有点多,遂分量篇分享)一、功能页(左)这里用功能页代指页面左侧第一栏,这块也是Obsidian的功能标密集区。这里按照下面第一张图的划分,分区讲解。(1号下方目录上方......