{"id":15017179,"url":"https://github.com/jonboh/obsidian2neorg","last_synced_at":"2025-04-12T11:41:29.128Z","repository":{"id":204308928,"uuid":"711568005","full_name":"jonboh/obsidian2neorg","owner":"jonboh","description":"Transform your Obsidian Markdown notes to Neorg format","archived":false,"fork":false,"pushed_at":"2023-11-07T20:54:32.000Z","size":14,"stargazers_count":13,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-26T06:23:45.543Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","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/jonboh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-29T16:59:49.000Z","updated_at":"2025-03-22T15:45:32.000Z","dependencies_parsed_at":"2023-11-08T04:02:54.476Z","dependency_job_id":null,"html_url":"https://github.com/jonboh/obsidian2neorg","commit_stats":null,"previous_names":["jonboh/obsidian2neorg"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonboh%2Fobsidian2neorg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonboh%2Fobsidian2neorg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonboh%2Fobsidian2neorg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonboh%2Fobsidian2neorg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonboh","download_url":"https://codeload.github.com/jonboh/obsidian2neorg/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248563282,"owners_count":21125249,"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":[],"created_at":"2024-09-24T19:50:00.072Z","updated_at":"2025-04-12T11:41:29.055Z","avatar_url":"https://github.com/jonboh.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Obsidian2Neorg\nTransform from Obsidian Markdown to Neorg format.\n\n`obsidian2neorg` takes input from `stdin` and outputs the transformation to `stdout`.\n\nYou can transform a file like this:\n```bash\ncat file.md | obsidian2neorg \u003e file.norg\n```\n\n## Installation\nYou'll need to have [rustup](https://rustup.rs/) installed. Then install with Cargo\n```\ncargo install obsidian2neorg\n```\n\n## Bulk Transformations\nYou can find in this repository a shell script that will transform all `.md` files\nin a folder and copy all other files. I've used this script to port all my notes to\nNeorg using obsidian2neorg.\n```bash\nfolder_path=\"vault\"\nout_path=\"vault_neorg\"\nmkdir -p $out_path\nfind \"$folder_path\" -type f -not -path \"*/.git/*\" -not -name \"*.md\" | while read -r file; do\n    relative_path=\"${file#$folder_path/}\"\n    out_file=\"${out_path}/${relative_path}\"\n    mkdir -p \"$(dirname \"$out_file\")\"\n    cp \"$file\" \"$out_file\"\ndone\n\nfind \"$folder_path\" -type f -not -path \"*/.git/*\" -name \"*.md\" | while read -r file; do\n    lowercase_filename=$(echo \"$file\" | tr '[:upper:]' '[:lower:]')\n    final_filename=${lowercase_filename// /-}\n    relative_path=\"${final_filename#$folder_path/}\"\n    out_file=\"${out_path}/${relative_path%.md}.norg\"\n    mkdir -p \"$(dirname \"$out_file\")\"\n    cat \"$file\" | obsidian2neorg \u003e \"$out_file\"\ndone\n```\n\nThe transformations are based on regex, and not every possible Markdown style is implemented,\nbut it should be enough to get your notes in an acceptable state to start working on Neorg.\n\n## lowercase-links\nBy default file links are forced into `lowercase-without-spaces` form. This makes it easy to rename all\nfiles so that relations are easily transferred.\nIf you want to keep them as they are pass the `--literal-links` flag:\n```bash\nobsidian2neorg --literal-links\n```\n\nIn this case you'll need to modify the bulk transformation script to avoid the renaming\n```bash\nfolder_path=\"vault\" # change this to the location of your vault/notes folder\nout_path=\"vault_neorg\" # this will be the output folder\n\nmkdir -p $out_path\nfind \"$folder_path\" -type f -not -path \"*/.git/*\" -not -name \"*.md\" | while read -r file; do\n    relative_path=\"${file#$folder_path/}\"\n    out_file=\"${out_path}/${relative_path}\"\n    mkdir -p \"$(dirname \"$out_file\")\"\n    cp \"$file\" \"$out_file\"\ndone\n\nfind \"$folder_path\" -type f -not -path \"*/.git/*\" -name \"*.md\" | while read -r file; do\n    relative_path=\"${file#$folder_path/}\"\n    out_file=\"${out_path}/${relative_path%.md}.norg\"\n    mkdir -p \"$(dirname \"$out_file\")\"\n    cat \"$file\" | obsidian2neorg --literal-links \u003e \"$out_file\"\ndone\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonboh%2Fobsidian2neorg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonboh%2Fobsidian2neorg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonboh%2Fobsidian2neorg/lists"}