Convert Figma logo to code with AI

obsidian-kanban logovsobsidian-excalidraw-plugin logo

Obsidian-kanban vs Obsidian-excalidraw-plugin

Detailed comparison of features, pros, cons, and usage

The Obsidian Kanban plugin offers a streamlined task management system within Obsidian using kanban boards, while the Excalidraw plugin provides a powerful drawing and diagramming tool, with Kanban excelling in organization but being more limited in scope, and Excalidraw offering greater creative flexibility but potentially having a steeper learning curve.

Obsidian-kanban

Create markdown-backed Kanban boards in Obsidian.

3,696
Obsidian-excalidraw-plugin

A plugin to edit and view Excalidraw drawings in Obsidian

5,328

obsidian-kanban logoObsidian-kanban Pros and Cons

Pros

  • Seamless integration with Obsidian, enhancing productivity within the existing note-taking ecosystem
  • Highly customizable, allowing users to tailor the Kanban board to their specific workflow needs
  • Supports drag-and-drop functionality for easy task management and organization
  • Regular updates and active community support, ensuring ongoing improvements and bug fixes

Cons

  • Limited to Obsidian users, not available as a standalone application
  • May have a learning curve for users unfamiliar with Kanban methodology or Obsidian plugins
  • Potential performance issues with large boards or numerous tasks
  • Sync functionality might be affected by Obsidian's overall syncing limitations

obsidian-excalidraw-plugin logoObsidian-excalidraw-plugin Pros and Cons

Pros

  • Seamless integration with Obsidian, allowing users to create and edit diagrams directly within their notes
  • Extensive drawing tools and features, including freehand drawing, shapes, and text elements
  • Support for LaTeX equations, making it ideal for technical and scientific diagrams
  • Regular updates and active community support, ensuring continuous improvement and bug fixes

Cons

  • Learning curve for users unfamiliar with Excalidraw or digital drawing tools
  • May impact Obsidian's performance on lower-end devices when working with complex diagrams
  • Limited export options compared to standalone drawing applications
  • Requires manual installation and updates, which may be challenging for less tech-savvy users

obsidian-kanban logoObsidian-kanban Code Examples

Kanban Board Creation

This snippet demonstrates how to create a new Kanban board programmatically:

import { KanbanView } from 'src/KanbanView';

const kanbanView = new KanbanView(app, containerEl);
kanbanView.setState({
  lanes: [
    { id: 'todo', title: 'To Do', items: [] },
    { id: 'inprogress', title: 'In Progress', items: [] },
    { id: 'done', title: 'Done', items: [] }
  ]
});
kanbanView.render();

Adding Items to a Kanban Board

This snippet shows how to add new items to an existing Kanban board:

import { KanbanView } from 'src/KanbanView';

const kanbanView = // ... existing KanbanView instance
const newItem = {
  id: 'task1',
  title: 'New Task',
  content: 'This is a new task to be completed'
};
kanbanView.addItem('todo', newItem);
kanbanView.render();

obsidian-excalidraw-plugin logoObsidian-excalidraw-plugin Code Examples

Drawing Creation and Manipulation

This snippet demonstrates how to create a new Excalidraw drawing and add basic shapes to it:

import { ExcalidrawAutomate } from "obsidian-excalidraw-plugin";

const ea = ExcalidrawAutomate.create(app);
const drawing = await ea.createDrawing();
ea.addRect(drawing, 10, 10, 100, 50);
ea.addEllipse(drawing, 150, 10, 80, 80);
ea.addArrow(drawing, [10, 100], [200, 100]);
await ea.saveDrawing(drawing);

Embedding Excalidraw Drawings

This example shows how to embed an Excalidraw drawing in an Obsidian note:

Here's an embedded Excalidraw drawing:

![[My Drawing.excalidraw]]

You can also specify dimensions:

![[My Drawing.excalidraw|100x100]]

Scripting and Automation

This snippet demonstrates how to use scripting to modify existing drawings:

const ea = ExcalidrawAutomate.create(app);
const drawing = await ea.getDrawing("My Drawing.excalidraw");
const elements = ea.getElements(drawing);
elements.forEach(el => {
  if (el.type === "rectangle") {
    el.backgroundColor = "#ff0000";
  }
});
await ea.saveDrawing(drawing);

obsidian-kanban logoObsidian-kanban Quick Start

Installation

  1. Open Obsidian and go to Settings > Community Plugins
  2. Disable Safe Mode if it's enabled
  3. Click "Browse" and search for "Kanban"
  4. Find "Kanban" by mgmeyers and click "Install"
  5. After installation, enable the plugin

Basic Usage

Creating a Kanban Board

  1. Create a new note or open an existing one
  2. Add the following frontmatter to the top of the note:
---
kanban-plugin: basic
---
  1. Save the note, and it will automatically transform into a Kanban board

Adding Lanes and Cards

  1. Click the "+" button at the top of the board to add a new lane
  2. Enter a name for the lane and press Enter
  3. To add a card, click the "+" button at the bottom of a lane
  4. Type the card content and press Enter

Moving Cards

  • Drag and drop cards between lanes or within a lane to reorder them

Example

Here's a simple example of a Kanban board structure:

---
kanban-plugin: basic
---

## To Do

- [ ] Research project topic
- [ ] Create project outline

## In Progress

- [ ] Write introduction
- [ ] Gather data

## Done

- [x] Choose project theme
- [x] Set up development environment

This will create a Kanban board with three lanes: "To Do", "In Progress", and "Done", each containing task cards.

obsidian-excalidraw-plugin logoObsidian-excalidraw-plugin Quick Start

Installation

  1. Open Obsidian and go to Settings > Community Plugins
  2. Disable Safe Mode if it's enabled
  3. Click "Browse" and search for "Excalidraw"
  4. Find "Excalidraw" in the list and click "Install"
  5. After installation, enable the plugin

Basic Usage

Creating a New Drawing

  1. In Obsidian, create a new note or open an existing one
  2. Use the following syntax to create a new Excalidraw drawing:
```excalidraw-plugin
  1. A new Excalidraw canvas will appear in your note

Adding Elements to Your Drawing

  1. Use the toolbar on the left to select drawing tools
  2. Click and drag on the canvas to create shapes, lines, or freehand drawings
  3. Use the text tool to add text elements

Saving and Exporting

  • Your drawing is automatically saved within the Obsidian note
  • To export, click the three-dot menu in the top-right corner of the Excalidraw canvas and select "Export"

Example

Here's a simple example of how to create a basic flowchart:

  1. Create a new note in Obsidian
  2. Add the Excalidraw code block:
```excalidraw-plugin
  1. Use the rectangle tool to create three boxes
  2. Use the arrow tool to connect the boxes
  3. Add text to each box using the text tool

Your flowchart might look something like this:

[Start] --> [Process] --> [End]

Remember, Excalidraw offers many more features and customization options. Explore the toolbar and settings to discover its full potential!

Top Related Projects

A data index and query language over Markdown files, for https://obsidian.md/.

Pros of Dataview

  • Powerful querying and data manipulation capabilities for Obsidian notes
  • Flexible syntax for creating custom views and reports
  • Integrates seamlessly with existing Obsidian markdown files

Cons of Dataview

  • Steeper learning curve compared to visual tools like Kanban and Excalidraw
  • Requires understanding of query language and data structures
  • Less intuitive for users who prefer graphical interfaces

Code Comparison

Dataview:

TABLE file.ctime AS "Created", file.mtime AS "Modified"
FROM "Projects"
SORT file.mtime DESC

Kanban:

---
kanban-plugin: basic
---

## To-Do

- [ ] Task 1
- [ ] Task 2

## In Progress

- [ ] Task 3

Excalidraw:

{
  "type": "excalidraw",
  "version": 2,
  "source": "https://excalidraw.com",
  "elements": [
    {
      "type": "rectangle",
      "x": 100,
      "y": 100,
      "width": 200,
      "height": 100
    }
  ]
}

Dataview offers powerful data querying capabilities, while Kanban provides a visual task management interface, and Excalidraw enables freeform drawing and diagramming. Each plugin serves different purposes within Obsidian, catering to various user needs and preferences.

View More

A template plugin for obsidian

Pros of Templater

  • Offers powerful templating capabilities with JavaScript integration
  • Highly customizable and extensible for complex note-taking workflows
  • Supports dynamic content generation based on various factors (date, time, file metadata)

Cons of Templater

  • Steeper learning curve compared to Kanban and Excalidraw
  • Requires some programming knowledge to fully utilize its features
  • Less visual and interactive compared to the other plugins

Code Comparison

Templater:

<%*
let title = tp.file.title
let date = tp.date.now("YYYY-MM-DD")
tR += `# ${title}\nCreated on: ${date}`
%>

Kanban:

// No direct code comparison available as Kanban is primarily GUI-based

Excalidraw:

// Excalidraw uses a JSON-based format for drawings, not directly comparable

Summary

Templater excels in creating dynamic and customizable note templates, offering powerful scripting capabilities. However, it requires more technical knowledge compared to Kanban and Excalidraw. Kanban provides a visual task management system, while Excalidraw focuses on creating hand-drawn style diagrams. Each plugin serves different purposes within Obsidian, catering to various note-taking and organization needs.

View More

Simple calendar widget for Obsidian.

Pros of Calendar Plugin

  • Provides a visual calendar interface for managing daily notes and events
  • Integrates seamlessly with Obsidian's daily notes feature
  • Lightweight and focused on date-based organization

Cons of Calendar Plugin

  • Limited functionality compared to Kanban's task management capabilities
  • Lacks the drawing and diagramming features of Excalidraw Plugin
  • May not be as useful for non-date-centric note-taking workflows

Code Comparison

Calendar Plugin:

export function getWeeklyNoteSettings(cache: CachedMetadata): WeeklyNoteSettings {
  return {
    format: cache.format || DEFAULT_WEEKLY_FORMAT,
    folder: cache.folder || "",
    template: cache.template || "",
  };
}

Kanban:

export function createBoard(vault: Vault, path: string): Promise<TFile> {
  return vault.create(
    path,
    `---\n\nkanban-plugin: basic\n\n---\n\n## To Do\n\n## In Progress\n\n## Done\n\n`
  );
}

Excalidraw Plugin:

export async function createExcalidrawFile(
  vault: Vault,
  fileName: string,
  folder: TFolder
): Promise<TFile> {
  const file = await vault.create(
    `${folder.path}/${fileName}.md`,
    EXCALIDRAW_TEMPLATE
  );
  return file;
}
View More

Improved table navigation, formatting, and manipulation in Obsidian.md

Pros of Advanced Tables Obsidian

  • Focused functionality for creating and managing tables within Obsidian notes
  • Lightweight and efficient, with minimal impact on overall Obsidian performance
  • Easy-to-use keyboard shortcuts for quick table manipulation

Cons of Advanced Tables Obsidian

  • Limited to table functionality, lacking the visual organization of Kanban or drawing capabilities of Excalidraw
  • May require more manual input compared to drag-and-drop interfaces in other plugins
  • Less versatile for complex project management or visual brainstorming

Code Comparison

Advanced Tables Obsidian:

export function formatTable(table: string[][]): string {
  const columnWidths = table[0].map((_, columnIndex) =>
    Math.max(...table.map(row => row[columnIndex].length))
  );
  // ... (additional formatting logic)
}

Obsidian Kanban:

export function createKanbanBoard(data: KanbanData): HTMLElement {
  const board = document.createElement('div');
  board.className = 'kanban-board';
  // ... (board creation logic)
  return board;
}

Obsidian Excalidraw Plugin:

export function createExcalidrawElement(): HTMLElement {
  const container = document.createElement('div');
  container.className = 'excalidraw-container';
  // ... (Excalidraw initialization)
  return container;
}
View More

Adds admonition block-styled content to Obsidian.md

Pros of Admonition

  • Enhances note-taking with customizable callouts and info boxes
  • Supports Markdown syntax within admonitions for rich formatting
  • Offers a wide range of pre-defined styles and icons

Cons of Admonition

  • Limited visual organization compared to Kanban's board-style layout
  • Lacks drawing capabilities found in Excalidraw
  • May require more manual setup than drag-and-drop interfaces

Code Comparison

Admonition:

```ad-note
title: Example Note
This is an example admonition.

Kanban:
```markdown
- [ ] Task 1
- [ ] Task 2
- [x] Completed Task

Excalidraw:

app.createExcalidrawWidget(el, {
  width: 500,
  height: 300,
  theme: "light"
});

Summary

Admonition excels in creating structured, visually appealing notes with callouts and info boxes. It's ideal for users who want to enhance their note-taking with clear, customizable sections. However, it lacks the task management features of Kanban and the freeform drawing capabilities of Excalidraw. While Admonition focuses on text-based enhancements, Kanban offers a more visual approach to organizing tasks, and Excalidraw provides a platform for creating diagrams and sketches directly within Obsidian.

View More

Task management for the Obsidian knowledge base.

Pros of Tasks

  • Offers advanced task management features like due dates, priorities, and recurring tasks
  • Integrates seamlessly with Obsidian's markdown syntax
  • Provides powerful filtering and sorting options for task lists

Cons of Tasks

  • Lacks visual organization capabilities found in Kanban boards
  • Does not offer drawing or diagramming features like Excalidraw
  • May have a steeper learning curve for users new to task management systems

Code Comparison

Tasks:

- [ ] Buy groceries #task @due(2023-05-15) @priority(high)
- [ ] Write report #task @due(2023-05-20) @recurring(weekly)

Kanban:

---

kanban-plugin: basic

---

## To-Do

- [ ] Buy groceries
- [ ] Write report

## In Progress

## Done

Excalidraw:

{
  "type": "excalidraw",
  "version": 2,
  "source": "https://excalidraw.com",
  "elements": [
    {
      "type": "rectangle",
      "x": 100,
      "y": 100,
      "width": 200,
      "height": 100
    }
  ]
}
View More