{"id":31327934,"url":"https://github.com/cdzombak/things2md","last_synced_at":"2026-05-15T18:34:28.269Z","repository":{"id":314653884,"uuid":"1056303509","full_name":"cdzombak/things2md","owner":"cdzombak","description":"Export a Things project to Markdown","archived":false,"fork":false,"pushed_at":"2025-09-24T17:03:04.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-06T11:10:06.419Z","etag":null,"topics":["markdown","things"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cdzombak.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-13T20:00:01.000Z","updated_at":"2025-09-24T17:03:08.000Z","dependencies_parsed_at":"2025-09-13T22:05:59.354Z","dependency_job_id":"bd2a4e21-7ad4-4df9-86ff-e39aba98b408","html_url":"https://github.com/cdzombak/things2md","commit_stats":null,"previous_names":["cdzombak/things2md"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/cdzombak/things2md","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdzombak%2Fthings2md","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdzombak%2Fthings2md/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdzombak%2Fthings2md/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdzombak%2Fthings2md/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdzombak","download_url":"https://codeload.github.com/cdzombak/things2md/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdzombak%2Fthings2md/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33074869,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["markdown","things"],"created_at":"2025-09-25T23:38:36.471Z","updated_at":"2026-05-15T18:34:28.248Z","avatar_url":"https://github.com/cdzombak.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# things2md\n\nExport [Things](https://culturedcode.com/things/) projects and all their tasks to well-formatted Markdown. Captures project details, task information, notes, tags, due dates, and completion status with proper formatting.\n\n## Requirements\n\n- macOS with Things 3 installed\n- Python 3 (built into modern macOS)\n\n## Installation\n\n### macOS via Homebrew\n\n```shell\nbrew install cdzombak/oss/things2md\n```\n\n### Manual download from this repo\n\n```bash\ncurl -O https://raw.githubusercontent.com/cdzombak/things2md/things2md.py\nchmod +x things2md.py\n```\n\n## Usage\n\n```bash\n# Export to stdout\nthings2md \"My Project Name\"\n\n# Export to file\nthings2md \"My Project Name\" \u003e project.md\n\n# Export and copy to clipboard\nthings2md \"My Project Name\" | pbcopy\n\n# Show help\nthings2md --help\n```\n\n## Output Format\n\nThe generated Markdown follows this structure:\n\n```markdown\n# Project Name\n**Tags:** tag1, tag2\n**Due Date:** 2024-12-31\n\n## Project Notes\nProject description and notes go here.\n\n## Tasks\n\n- Task Name *(tag1, tag2)*\n  Task notes with proper indentation\n  Multiple lines are handled correctly\n\n  Even with empty lines between\n\n- Another Task\n  More notes here\n```\n\n## Examples\n\n```bash\n# Export multiple projects\nfor project in \"Project A\" \"Project B\" \"Project C\"; do\n    things2md \"$project\" \u003e \"${project// /_}.md\"\ndone\n\n# Convert to PDF using pandoc\nthings2md \"Project Name\" | pandoc -o project.pdf\n\n# View in your markdown editor\nthings2md \"Project Name\" | open -f -a \"Typora\"\n```\n\n## Troubleshooting\n\n**Project Not Found**: Check the exact project name in Things 3.\n\n**Permission Errors**: Allow access when macOS prompts for Things 3 permissions.\n\n**Empty Output**: Ensure the project contains tasks.\n\n## License\n\nGNU GPL v3; see [LICENSE](LICENSE) in this repo.\n\n## Author\n\n[Chris Dzombak](https://www.dzombak.com) ([GitHub: @cdzombak](https://www.github.com/cdzombak))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdzombak%2Fthings2md","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdzombak%2Fthings2md","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdzombak%2Fthings2md/lists"}