Work In Progress: TODO
This article is a work in progress, and a current topic of research.
- Meta Bind Plugin: Button Development
- Update image to diagram of work-flow
In today’s fast-paced digital world, effective personal knowledge management (PKM) is essential for maintaining clarity and productivity. This article delves into my structured approach to organizing thoughts and streamlining processes using Obsidian, a powerful note-..-taking tool. By integrating automation, I transform these organized notes into well-structured blog posts, ensuring that valuable insights are shared with the world while maintaining a strict commitment to privacy. Through the use of Gitea and GitHub, I securely manage and publish content, creating a seamless workflow that aligns with my goals of knowledge sharing and digital security.
Building Blocks
The goal of this approach is to leverage the latest in self hosted services to assist in development with a focus on organization which can be aided by the latest AI and Large Language model development.
- Obsidian: The foundation for our personal knowledge management system. This ascii based environment allows for the flexibility to develop content which is not locked into a specific environment and can be interpreted by anything with the ability to parse an interpret ascii files. Files are store in Markdown which can be interpreted by a multitude of open source tools which can be self-host providing clean and formatted notes.
- Gitea: Manages note storage through a Git-based repository system, offering version control, secure access, and integration with tools like Obsidian Sync for organizing and sharing notes across multiple devices.
- Ollama: Open-source AI framework that enhances your experience with Obsidian by providing formatting assistance and integrating AI functionality. It helps generate, refine, and organize technical content within Obsidian, making it easier to create engaging and well-structured notes.
Obsidian
Why Markdown
Community Add-ons
- Templater: Build in properties to assist in automating web-content generation.
- Text Generator: Ollama integration to assist with summarization, title generation, and areas for development.
- Meta Bind Plugin: Clean integration of Ollama functionality
- Obsidian Sync: git integration
Template Development
Templater will be the basis for structuring our personal knowledge management system and streamlining it for the possibility of webhosting.
Property Automation
// Get basic info
const title = tp.file.title;
const date = new Date().toISOString().split('T')[0]; // YYYY-MM-DD format
// Generate the basic frontmatter
let frontmatter = `---
title: "${title}"
date: ${date}
public: false
featured: false
summary: ""
image: ""
tags: []
---
`;
// Add the frontmatter to the file
tR += frontmatter;
AI Assisted Functionality
AI and Large Laungauge Models have become all the rage these days. In my research I have been leveraging both self hosted large language models through ollama for simple tasks, and anthropoics claude ai for more complex questions. Leveraging the meta bind plugin, templater and ollama. Required addons:
- Meta Bind: Button Creation
- JS Engine: Calling javascript inline from a meta bind button
- Text-generator: LLM integrated inline text
style: primary
label: List All Commands
action:
type: inlineJS
code: "const commands = app.commands.commands; const copilotCommands = Object.keys(commands).filter(cmd => cmd.includes('copilot')); console.log('Available Copilot commands:', copilotCommands); new Notice('Check console for available commands (Ctrl+Shift+I)'); if (copilotCommands.length === 0) { console.log('All commands:', Object.keys(commands)); }"