• Stars
    star
    277
  • Rank 148,875 (Top 3 %)
  • Language
    Clojure
  • License
    GNU General Publi...
  • Created over 5 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fun with org data

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

* 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:

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 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. Make sure MELPA is in your package-archives:

(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 window

For more info see https://github.com/rksm/cljs-org-analyzer.

Hacking

To play around with the codebase you will need to have Clojure 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, I personally use Emacs with cider. 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

More Repositories

1

org-ai

Emacs as your personal AI assistant. Use LLMs such as ChatGPT or LLaMA for text generation or DALL-E and Stable Diffusion for image generation. Also supports speech input / output.
Emacs Lisp
605
star
2

hot-lib-reloader-rs

Reload Rust code without app restarts. For faster feedback cycles.
Rust
528
star
3

axum-yew-setup

A starter project that sets up axum and yew for full stack Rust web apps.
Rust
139
star
4

paredit.js

Generic reader and editor for s-expressions.
JavaScript
106
star
5

emacs-rust-config

emacs.d files for making Emacs a Rust development environment
Emacs Lisp
87
star
6

cargo-add-dynamic

cargo-add command to make dependencies into dylibs
Rust
83
star
7

copilot-emacsd

Example configuration to integrate Copilot into Emacs
Emacs Lisp
40
star
8

node-nrepl-client

node.js client for a Clojure nrepl server.
JavaScript
28
star
9

patreon-scraper

TypeScript
23
star
10

flatn

flat node dependencies
JavaScript
18
star
11

rust-hot-reload

hot-reload template for Rust
Rust
18
star
12

axum-yew-template

A cargo-template for generating a full stack axum / yew web app.
Rust
11
star
13

nannou-hot-reload

cargo-generate template for hot reloading & nannou
Rust
6
star
14

yew-utils

Some batteries for the yew WebAssembly frontend framework
Rust
6
star
15

node-hana-odbc

node.js connection to SAP HANA using node-odbc.
JavaScript
4
star
16

ace.improved

For a better ace editor!
JavaScript
4
star
17

subprocess

Clojure lib for spawning subprocesses and listen to stdout and stderr via core.async
Clojure
4
star
18

simple-file-rotation

Rust
4
star
19

three-codeeditor

ace codeeditor integration
JavaScript
4
star
20

pg-taskq

A simple postgres-based distributed task queue for Rust
Rust
3
star
21

language-server-websocket-test

language-server websocket test
TypeScript
3
star
22

fritz-homeautomation-rs

Rust
3
star
23

mocha-es6

testing via mocha + es6 transpilation
JavaScript
2
star
24

firestore-streaming-test-rs

Rust
2
star
25

nspell-browser

nspell, for use inside a browser
JavaScript
2
star
26

rust-opengl-playground

Rust
2
star
27

bookstack-editor

Programatically sync & edit bookstack wikis
Python
2
star
28

fritz-homeautomation

Clojure
1
star
29

runall

Run multiple commands in parallel. concurrently-like utility implemented in Rust.
Rust
1
star
30

polars-hot-reload

cargo-generate template for a hot-reloadable data exploration setup with polars.
Rust
1
star
31

tour-gallery

JavaScript
1
star
32

adventofcode

Rust
1
star
33

cljs-repl-project-template

Leiningen template to create a scaffolding for brepl-driven project.
Clojure
1
star
34

BrightTable

Not your typical table top...
HTML
1
star
35

node-lively2lively

Connect any node.js application to a lively2lively network.
JavaScript
1
star
36

cargo-oh-my-dependencies

A cargo plugin to browse and edit crate features across a workspace.
Rust
1
star