{"id":17472336,"url":"https://github.com/yousefakbar/o","last_synced_at":"2025-04-22T10:43:58.216Z","repository":{"id":257326769,"uuid":"853565082","full_name":"yousefakbar/o","owner":"yousefakbar","description":"(🚧) Work In Progress :: o -- The CLI Wrapper for Obsidian","archived":false,"fork":false,"pushed_at":"2025-04-04T22:43:24.000Z","size":29,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-22T10:43:45.269Z","etag":null,"topics":["cli","go","golang","notes","notetaking","obsidian"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yousefakbar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-06T23:26:38.000Z","updated_at":"2025-01-12T23:22:07.000Z","dependencies_parsed_at":"2024-10-18T07:17:11.424Z","dependency_job_id":null,"html_url":"https://github.com/yousefakbar/o","commit_stats":{"total_commits":13,"total_committers":2,"mean_commits":6.5,"dds":"0.15384615384615385","last_synced_commit":"595834e8243513809faf260474778007be9c5519"},"previous_names":["yousefakbar/o"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yousefakbar%2Fo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yousefakbar%2Fo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yousefakbar%2Fo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yousefakbar%2Fo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yousefakbar","download_url":"https://codeload.github.com/yousefakbar/o/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250222447,"owners_count":21394870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","go","golang","notes","notetaking","obsidian"],"created_at":"2024-10-18T17:08:02.894Z","updated_at":"2025-04-22T10:43:58.175Z","avatar_url":"https://github.com/yousefakbar.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Obsidian CLI - 'o'\n\n- [Introduction](#introduction)\n- [Installation](#installation)\n  - [Go Installation](#go-installation)\n  - [Build from Source](#build-from-source)\n- [Usage](#usage)\n  - [Today](#today)\n  - [Search](#search)\n  - [New](#new)\n- [Configuration](#configuration)\n- [Contributing](#contributing)\n\n## Introduction\n\n'o' is a command-line tool written in Go that allows you to interact seamlessly with your Obsidian vault from the terminal. It was created to help streamline note-taking and reduce the need to context switch between the terminal and the Obsidian GUI. With 'o', you can create new notes, search through existing markdown files, and quickly access daily notes, all while staying in your favorite command-line environment.\n\nKey features include:\n- **Today Command**: Open today's daily note for quick editing.\n- **Search Command**: List and search markdown files using fuzzy finder (fzf).\n- **New Command**: Create new notes with ease.\n\n## Installation\n\n\u003e [!IMPORTANT]\n\u003e **Prerequisites**:\n\u003e - [fzf](https://github.com/junegunn/fzf)\n\u003e - (optional) [fd](https://github.com/sharkdp/fd)\n\n### Go Installation\n\nTo install 'o' using Go, ensure you have Go installed and set up properly. Then run:\n\n```sh\ngo install github.com/yousefakbar/o/cmd/o@latest\n```\n\nThis will install the binary in your `$GOPATH/bin` or `$GOBIN` directory. Make sure that directory is in your system's `PATH` to use 'o' directly from the terminal.\n\n### Build from Source\n\nIf you want to build 'o' from the source code, follow these steps:\n\n1. Clone the repository:\n\n   ```sh\n   git clone https://github.com/yousefakbar/o.git\n   cd o\n   ```\n\n2. Build the binary:\n\n   ```sh\n   go build -o o cmd/o/main.go\n   ```\n\n3. Optionally, move the binary to a directory in your `PATH`:\n\n   ```sh\n   mv o /usr/local/bin/\n   ```\n\n## Usage\n\n'o' provides several commands to help you manage your Obsidian vault efficiently.\n\n\u003e [!NOTE]\n\u003e Each command has a shorthand alias (e.g. `t` for `today`). You can learn more in the help screen `o help`\n\n### Today\n\nThe `today` command opens today's daily note for quick editing in your preferred text editor:\n\n```sh\no today\n```\n\nIf you haven't set a custom location for daily notes, the command will create and open the note in the default directory.\n\n### Search\n\nThe `search` command allows you to search for existing markdown files using `fzf` for fuzzy finding:\n\n```sh\no search\n```\n\nThis command will list all `.md` files in your Obsidian vault, and you can use `fzf` to quickly select the one you want to open.\n\n### New\n\nThe `new` command helps you create a new note in your vault:\n\n```sh\no new \"My New Note\"\n```\n\nIf you don't provide a note name as an argument, the command will prompt you to enter one interactively.\n\n## Configuration\n\n'o' uses environment variables to configure some settings:\n\n- **`OBSIDIAN_VAULT_PATH`**: Set this variable to the path of your Obsidian vault:\n\n  ```sh\n  export OBSIDIAN_VAULT_PATH=\"/path/to/your/vault\"\n  ```\n\n- **`EDITOR`**: Set this variable to specify your preferred editor for opening notes. If not set, 'nano' will be used by default.\n\n  ```sh\n  export EDITOR=\"vim\"\n  ```\n\n## Contributing\n\nContributions are welcome! If you'd like to contribute, feel free to fork the repository and create a pull request. For any questions or suggestions, open an issue on GitHub.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyousefakbar%2Fo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyousefakbar%2Fo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyousefakbar%2Fo/lists"}