{"id":14128551,"url":"https://github.com/novoid/org-du","last_synced_at":"2025-08-29T05:06:50.350Z","repository":{"id":66988213,"uuid":"86252028","full_name":"novoid/org-du","owner":"novoid","description":"Visualizing Emacs Org-mode heading lines using du and xdu","archived":false,"fork":false,"pushed_at":"2024-01-13T17:31:58.000Z","size":28,"stargazers_count":23,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T17:53:27.798Z","etag":null,"topics":["emacs","orgdown","orgmode","tree-structure","visualization"],"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/novoid.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2017-03-26T17:41:10.000Z","updated_at":"2024-11-10T18:58:01.000Z","dependencies_parsed_at":"2024-01-31T10:04:58.536Z","dependency_job_id":"d84dc253-05d1-447c-8587-fc669857451e","html_url":"https://github.com/novoid/org-du","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/novoid/org-du","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novoid%2Forg-du","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novoid%2Forg-du/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novoid%2Forg-du/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novoid%2Forg-du/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/novoid","download_url":"https://codeload.github.com/novoid/org-du/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novoid%2Forg-du/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272631658,"owners_count":24967107,"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","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["emacs","orgdown","orgmode","tree-structure","visualization"],"created_at":"2024-08-15T16:01:49.767Z","updated_at":"2025-08-29T05:06:50.301Z","avatar_url":"https://github.com/novoid.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\n* org-du\n\nThis Python 3 script parses parses a list of Org-mode files and\ngenerates output similar to [[du][du]] (disk usage) but with lines of\nOrg-mode instead of kilobytes.\n\nThe purpose of this script is to use its output as the input for [[https://directory.fsf.org/wiki/XDU][xdu]]\nin order to get an interactive graphical visualization:\n\n: org-du.py my_org_file.org another_org_file.org | xdu\n\nThe script accepts an arbitrary number of files (see your shell for\npossible length limitations).\n\n** Why\n\nGNU/Emacs Org-mode does a great job for outlining (collapsing and\nexpanding). However, when you want to get a brief overview on the\namount of content of each heading (e.g., to locate performance\noptimization possibilities), you need a different tool: org-du\n\n** Installation\n\nGet it via [[https://github.com/novoid/org-du][GitHub]] or install it via [[https://pip.pypa.io/en/stable/][pip]]: ~pip install org-du~\n\n** Usage\n\n#+BEGIN_SRC sh :results output :wrap src\norg-du.py --help\n#+END_SRC\n\n#+BEGIN_src\nusage: org-du.py [-h] [-v | --quiet | --version] file [file ...]\n\norg-du parses a list of Org-mode files and generates\noutput similar to \"du\" (disk usage) but with lines\nof Org-mode instead of kilobytes.\n\npositional arguments:\n  file           a list of file names\n\noptional arguments:\n  -h, --help     show this help message and exit\n  -v, --verbose\n  --quiet\n  --version      show program's version number and exit\n\nVerbose description: http://Karl-Voit.at/2017/03/27/org-du/\n\n:copyright: (c) by Karl Voit \u003ctools@Karl-Voit.at\u003e\n:license: GPL v3 or any later version\n:URL: https://github.com/novoid/org-du\n:bugreports: via github or \u003ctools@Karl-Voit.at\u003e\n:version: 2017-03-26\n#+END_src\n\n** Example\n\nIf you apply =org-du= to this =README.org= file, you will see\nfollowing visualization:\n\n: org-du.py README.org\n\n[[file:xdu-screenshot.png]]\n\nYou can /interactively navigate/ through sub-headings using your mouse.\nNavigate back by clicking on the leftmost item of the visual tree.\nExit with =q=.\n\n-------------------\n\nAnother cool usage scenario is when you invoke =org-du= on one host\n(Windows) and visualizing is done on a different host. This can easily\nbe accomplished by re-directing the output of the script:\n\nHost A (Windows):\n: org-du.py *.org \u003e org-du-output.txt\n\nThen copying the file =org-du-output.txt= from host A to host B.\n\nHost B (GNU/Linux):\n: xdu \u003c org-du-output.txt\n\n** Changelog\n\n- \u003c2017-03-26 Sun\u003e: first version on GitHub and pip\n\n** Similar Projects\n:PROPERTIES:\n:CREATED:  [2020-04-14 Tue 18:26]\n:END:\n\n- https://github.com/mtekman/org-treeusage.el via [[https://www.reddit.com/r/orgmode/comments/g13ot9/ann_orgtreeusage_peek_at_the_usage_of_your_org/][reddit]]\n  - an in-place visualization as minor mode\n\n* How to Thank Me\n\nI'm glad you like my tools. If you want to support me:\n\n- Send old-fashioned *postcard* per snailmail - I love personal feedback!\n  - see [[http://tinyurl.com/j6w8hyo][my address]]\n- Send feature wishes or improvements as an issue on GitHub\n- Create issues on GitHub for bugs\n- Contribute merge requests for bug fixes\n- Check out my other cool [[https://github.com/novoid][projects on GitHub]]\n\n* Local Variables                                                  :noexport:\n# Local Variables:\n# mode: auto-fill\n# mode: flyspell\n# eval: (ispell-change-dictionary \"en_US\")\n# End:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovoid%2Forg-du","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnovoid%2Forg-du","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovoid%2Forg-du/lists"}