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 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 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 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 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 Quick Start
Installation
- Open Obsidian and go to Settings > Community Plugins
- Disable Safe Mode if it's enabled
- Click "Browse" and search for "Kanban"
- Find "Kanban" by mgmeyers and click "Install"
- After installation, enable the plugin
Basic Usage
Creating a Kanban Board
- Create a new note or open an existing one
- Add the following frontmatter to the top of the note:
---
kanban-plugin: basic
---
- Save the note, and it will automatically transform into a Kanban board
Adding Lanes and Cards
- Click the "+" button at the top of the board to add a new lane
- Enter a name for the lane and press Enter
- To add a card, click the "+" button at the bottom of a lane
- 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 Quick Start
Installation
- Open Obsidian and go to Settings > Community Plugins
- Disable Safe Mode if it's enabled
- Click "Browse" and search for "Excalidraw"
- Find "Excalidraw" in the list and click "Install"
- After installation, enable the plugin
Basic Usage
Creating a New Drawing
- In Obsidian, create a new note or open an existing one
- Use the following syntax to create a new Excalidraw drawing:
```excalidraw-plugin
- A new Excalidraw canvas will appear in your note
Adding Elements to Your Drawing
- Use the toolbar on the left to select drawing tools
- Click and drag on the canvas to create shapes, lines, or freehand drawings
- 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:
- Create a new note in Obsidian
- Add the Excalidraw code block:
```excalidraw-plugin
- Use the rectangle tool to create three boxes
- Use the arrow tool to connect the boxes
- 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.
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.
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;
}
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;
}
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.
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
}
]
}