No description
Find a file
Gerald bf131ca772 Remove main.js
main.js is a build-artifact should not be in the repository.
Deleted it and added it to the .gitignore file.
2025-09-08 09:12:52 +02:00
.gitignore Remove main.js 2025-09-08 09:12:52 +02:00
LICENSE Initial commit 2025-05-29 16:16:22 +02:00
main.ts update 2025-06-01 20:31:13 +02:00
manifest.json update 2025-06-17 13:01:01 +02:00
package-lock.json Remove main.js 2025-09-08 09:12:52 +02:00
package.json update 2025-05-30 14:17:34 +02:00
README.md update 2025-05-30 16:30:15 +02:00
rollup.config.js update 2025-05-30 14:17:34 +02:00
styles.css update 2025-06-01 20:31:13 +02:00
tsconfig.json update 2025-06-01 20:31:13 +02:00

SafeLearn Plugin for Obsidian

A community plugin for Obsidian that provides visual aids for SafeLearn-specific Markdown tags. It enhances the editing experience by adding visual formatting for Reveal.js fragments, role-based permission blocks, and multi-column side-by-side layouts.

SafeLearn is an open-source tool for teachers that want to write their learning-materials using Markdown and want to hide those behind a user-login fed by the schools AD or with their own Keycloak instance. SafeLearn is a Node-server that is securely publishing your learning materials along with some custom tags, rendering to responsive HTML and Reveal.js and some permission-related stuff to distinguish between pupil-view and teacher-view. For further details and installation instructions visit the git-repo here.


GitHub Repo

Features

🔹 Fragment Support (##fragment)

Marks content blocks that should appear incrementally in Reveal.js slides.

Example:

This is visible immediately.

##fragment
This will appear as a fragment.

##fragment
- Step 1
- Step 2

🔹 Permission Blocks (@@@ role)

Visually wraps blocks meant for specific roles (like teacher, 4bhif, etc.) to make them clearly distinguishable while editing. Example:

@@@ teacher
This block is for teachers only.
@@@

🔹 Side-by-Side Columns (##side-by-side-start, ##separator)

Creates multi-column layouts for wide Reveal.js slides.

Example:

##side-by-side-start
Left side content.
##separator
Right side content.
##side-by-side-end

🛠️ Installation

Clone or download this repository.

Copy the plugin folder into your Obsidian vault's .obsidian/plugins/ directory.

Enable the plugin in Obsidian's settings.

📦 Compatibility

Obsidian v0.15.0 or later

No external dependencies

🔐 Disclaimer

This plugin does not enforce permissions. It is purely visual. All security filtering is expected to be done on your SafeLearn rendering server (e.g., via Node.js and Keycloak).

📄 License

The Unlicense