Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rksm/clj-org-analyzer
Fun with org data
https://github.com/rksm/clj-org-analyzer
Last synced: 1 day ago
JSON representation
Fun with org data
- Host: GitHub
- URL: https://github.com/rksm/clj-org-analyzer
- Owner: rksm
- License: gpl-3.0
- Created: 2019-07-24T17:53:32.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-12-06T12:50:31.000Z (about 3 years ago)
- Last Synced: 2024-12-20T10:07:42.511Z (9 days ago)
- Language: Clojure
- Size: 25.8 MB
- Stars: 298
- Watchers: 14
- Forks: 21
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# org-analyzer
org-analyzer creates an interactive visualization of org-mode time-tracking
data. org-mode allows to add start/end timestamps to org-mode items (via
`org-clock-in`) to capture the times spend working on particular things.
Unfortunately the reporting features built into org-mode are rather limited.
This tool remedies that by providing a visual and interactive presentation
of time tracking data.In other words, org-analyzer converts something like this
```org
* current projects
** org clockin visualization
*** ui - improvements (tags, filter, day viz)
:LOGBOOK:
CLOCK: [2019-08-04 Sun 23:35]--[2019-08-04 Sun 23:49] => 0:14
CLOCK: [2019-08-04 Sun 13:51]--[2019-08-04 Sun 15:06] => 1:15
CLOCK: [2019-08-04 Sun 04:25]--[2019-08-04 Sun 05:16] => 0:51
...
:END:
```into something like this:
[![](doc/2019-08-10_org-analyzer_yt_link.png)](https://www.youtube.com/watch?v=qBgvGDOxmUw)
### New features in 1.0
See this short walkthrough for what's new: https://youtu.be/BlLmtZUEULU
## Usage
org-analyzer should run on all platforms that can run JAVA — but you will need
to have that installed.### Standalone
Download the [latest jar file](https://github.com/rksm/clj-org-analyzer/releases/latest)
and run it! (double click or from command line, see below). It will open a new browser window, if you close it the server will stop in a few seconds.### Emacs
org-analyzer is on [![MELPA](https://melpa.org/packages/org-analyzer-badge.svg)](https://melpa.org/#/org-analyzer). Make sure MELPA is in your `package-archives`:
```elisp
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
```Then run `(package-install "org-analyzer")`. Afterwards, you can start the tool
via `M-x org-analyzer-start`.## Commandline
Download the latest jar as described above and start it with `java -jar org-analyzer-1.0.4.jar`.
The following command line options are available, as per `java -jar org-analyzer-1.0.4.jar --help`:
```
Usage: java -jar org-analyzer-1.0.4.jar [opt*] [org-file-or-dir*]Interactive visualization of timetracking data (org clocks).
This command starts an HTTP server that serves a web page that visualizes the
time data found in org files. Org files can be specified individually or, when
passing a directory, a recursive search for .org files is done. If nothing is
specified, defaults to the current directory, recursively searching it for any
.org file.opts:
--host hostname Sets hostname, default is localhost
-p, --port portnumber Sets port, default is 8090
--dontopen Don't automatically open a web browser windowFor more info see https://github.com/rksm/cljs-org-analyzer.
```## Hacking
To play around with the codebase you will need to have [Clojure](https://clojure.org/guides/getting_started) installed.
To just run the app from source do a `git clone https://github.com/rksm/clj-org-analyzer` and then `make http-server`. Then visit http://localhost:8090.
You can run the server-side tests via `make test`.
To work interactively, I would recommend an editor / IDE that uses [nREPL](https://nrepl.org/nrepl/0.6.0/index.html), I personally use Emacs with [cider](https://cider.mx). Start an nREPL server with `make nrepl` (this will also start an http-server) and then connect to localhost:7888 for a Clojure session and to localhost:7889 for a ClojureScript session.
If you don't use an nREPL enabled editor you can still run a figwheel repl via `make figwheel`.
Whe running with nREPL or figwheel you will get an additional page for UI experiments and tests: http://localhost:8090/expts.html
## License
[GPLv3](LICENSE)