GeoGebra

approved

by vanabel

Drag .ggb files into notes and interact with GeoGebra constructions inline. - This plugin has not been manually reviewed by Obsidian staff.

90 downloadsUpdated 13d agoMIT

GeoGebra for Obsidian

Embed interactive local GeoGebra (.ggb) constructions in Obsidian notes without uploading them to GeoGebra.org.

Desktop only (requires Electron webview). Loading the applet needs network access to https://www.geogebra.org.

在 Obsidian 笔记中直接嵌入并交互本地 .ggb 文件,无需先上传到 GeoGebra 网站。

桌面端专用(依赖 Electron webview)。首次加载需能访问 https://www.geogebra.org

Install / 安装

插件 id 为 geogebra,安装目录必须是 .obsidian/plugins/geogebra/
若你之前装过 obsidian-geogebra 目录,请删掉旧目录后按下面重装(设置不会自动迁移)。

手动安装(推荐)

  1. 打开 Releases,下载最新版的:
    • geogebra-x.y.z.zip
    • main.jsmanifest.jsonstyles.css 三个文件
  2. 解压 / 复制到你的库:
你的库/.obsidian/plugins/geogebra/
  1. Obsidian → 设置 → 社区插件 → 关闭安全模式 → 刷新 → 启用 GeoGebra

用 BRAT

  1. 安装社区插件 BRAT
  2. BRAT → Add Beta plugin → 填入:
https://github.com/vanabel/obsidian-geogebra
  1. 启用 GeoGebra

从源码构建

  1. 构建插件:
cd obsidian-geogebra
npm install
npm run build
  1. 把构建产物放到 vault(目录名必须是 geogebra):
mkdir -p "/你的库/.obsidian/plugins/geogebra"
cp main.js manifest.json styles.css "/你的库/.obsidian/plugins/geogebra/"

或符号链接开发目录到 plugins/geogebra(链接名也要是 geogebra)。

确保该目录里有:

  • main.js(构建生成)
  • manifest.json
  • styles.css
  1. 打开 Obsidian → 设置 → 社区插件 → 关闭安全模式 → 启用 GeoGebra

开发时可改用:

npm run dev

改代码后会自动重新打包 main.js,在 Obsidian 里用「重新加载应用」或禁用/启用插件即可。

提交官方社区目录

仓库与 Release 准备好后,到 community.obsidian.md 登录 → 绑定 GitHub → 添加本仓库。详见 Submit your plugin

功能

  • 拖入 / 粘贴 .ggb → 自动保存到库并插入 ![[…]] 嵌入(不是普通双向链接)
  • ![[demo.ggb]] 维基嵌入(阅读视图 / 实时预览)
  • 维基嵌入支持图片式尺寸与标题:![[demo.ggb|400]]![[demo.ggb|400x300]]![[demo.ggb|400|密克圆]]
  • ggb / geogebra 代码块(宽高、caption、工具栏、代数区、样式栏等)
  • 在文件列表打开 .ggb,在专用视图中全屏交互
  • 本地构造可 重置 / 保存 写回 .ggb(图形区右上角竖排按钮)
  • 也可嵌入已发布的 material_id(远端材料不能直接覆盖保存)
  • 修改插件设置后,已打开的 applet 自动重挂载,无需 Reload 插件

用法

拖入文件

.ggb 拖到笔记编辑器中。默认会:

  1. 复制到 GeoGebra/ 附件目录(可在设置里改)
  2. 插入 ![[GeoGebra/xxx.ggb]]

关闭设置里的「Prefer wiki embed on drop」则改为插入代码块。

拖入 / 粘贴 .ggb 时插件会拦截默认行为,直接插入 ![[文件名.ggb]](嵌入,不是双向链接 [[...]])。

维基嵌入尺寸与标题

用法对齐 Obsidian 图片:

![[demo.ggb]]
![[demo.ggb|400]]
![[demo.ggb|400x300]]
![[demo.ggb|400|密克圆]]
![[demo.ggb|密克圆]]
  • |400:宽度 400px;未写高度时按 正方形(高=宽),不再用默认 640
  • |400x300:宽 × 高
  • 非数字片段当作 caption,显示在 applet 下方
  • 可组合:|400|标题|400x300|标题

代码块

代码块里可以直接写文件名:

```ggb
GGB-14-01-01-密克圆-三角形.ggb
```

也可以写完整参数:

```geogebra
file: GeoGebra/demo.ggb
width: 400
height: 300
caption: 密克圆
toolbar: true
algebra: true
algebraView: show
menu: true
styleBar: true
app: classic
```

也支持发布材料:

```geogebra
material_id: RHYH3UQ8
height: 480
caption: 示例材料
```

可用键:file / material_id / height / width / caption / app / toolbar / algebra(底部输入栏)/ algebraViewauto|show|hide 左侧代数区)/ menu / styleBar

说明:

  • algebra = 底部命令输入行;algebraView = 左侧代数区(对象列表)。auto 表示保留 .ggb 文件里保存的布局。
  • 坐标轴 / 网格:请用图形区 样式栏(设置里默认开启 Allow style bar),或打开菜单栏后「选项 → 图形区」。右键菜单在 Electron webview 里经常不可用,默认关闭右键
  • 运行时切换代数区:开菜单栏后用「视图 → 代数」,或在设置 / 代码块里设 algebraView

重置与保存

本地 .ggb(维基嵌入、代码块、文件视图)在图形区右上角、「显示/隐藏样式栏」下方竖排:

按钮作用
重置ggbApplet.reset(),恢复到打开时的构造
保存getBase64() 后写回库内原 .ggb 文件

开启保存栏时会隐藏 GeoGebra 自带重置图标,避免重叠。可用设置 Show save button 关闭整组按钮。纯 material_id 远端材料没有本地文件可写,不显示该栏。

打开文件

在文件列表中点击 .ggb,会在 GeoGebra 视图中打开。

设置

修改下列与 applet 相关的选项后,当前已打开的视图 / 嵌入会自动按新设置重挂载(未点「保存」的画布改动会丢失)。

选项说明默认
Default height嵌入默认高度(px)640
App typeclassic / graphing / geometry / 3d / suiteclassic
Show toolbar顶部工具栏
Show algebra input底部命令输入栏
Algebra view panel左侧代数区:auto 跟文件 / show / hideauto
Show menu bar菜单栏(视图 → 代数、选项 → 图形区等)
Allow style bar图形区样式栏(坐标轴 / 网格等)
Enable right-clickwebview 里经常不可用;建议关,改用样式栏
Enable shift-drag zoomShift+拖动缩放
Show reset iconGeoGebra 自带角标重置(开启保存栏时会被隐藏)
Show save button样式栏下方竖排「重置 / 保存」
Attachment folder拖入外部 .ggb 时的保存目录GeoGebra
Prefer wiki embed on drop拖入时插入 ![[…]] 而非代码块
deployggb.js URLCDN 或自托管 GeoGebra 加载脚本geogebra.org CDN

说明

  • 桌面端通过 Electron <webview> 加载本地 runtime HTML(与 Excalidraw 外链嵌入、Copilot/Web Viewer 同一隔离模型),因此不受 Obsidian 页面 CSP 拦截 GeoGebra CDN 样式。
  • .ggb 数据留在本地;引擎 JS/CSS 仍从 geogebra.org 加载(需联网)。
  • isDesktopOnly:移动端暂不支持交互嵌入。
  • 插件目录名必须是 geogebra(与 manifest.jsonid 一致),否则 Obsidian 不会正确加载。

相对 0.3.5 的变更

  • 维基嵌入支持 |400 / |400x300 / caption(与图片用法对齐)
  • 代码块 width 真正作用于布局;新增 caption / title
  • applet 下方可显示标题文字

许可

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.