• Stars
    star
    7
  • Rank 2,221,086 (Top 46 %)
  • Language
    Emacs Lisp
  • License
    Other
  • Created about 6 years ago
  • Updated about 5 years ago

Reviews

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

Repository Details

Reading list manager for Emacs with offline access support.

orgability

https://gitlab.com/d12frosted/orgability/badges/master/pipeline.svg

Orgability is a reading list manager with offline access support. Orgability lets you to easily create topics between reading list entries and org-brain entries by adding topics to reading entries.

Installation

This package requires Emacs 25.1 or higher.

MELPA

This package is not yet available on MELPA.

Manual

Install org-mode, org-cliplink, org-board, org-brain, org-drawer-list and then require this package in your init.el file:

(require 'orgability)

Usage

Relations

There are several relations that one can create between different entries.

  • topic <-> resource relation, where org-brain entry is a topic for reading list entry and reading list entry is a resource for org-brain entry.

Commands

  • orgability-clip: Stores an URL from the clipboard to the orgability-file.
    • The title is fetched using org-cliplink.
    • When orgability-auto-archive is non-nil the URL is archived using org-board for an offline access.
  • orgability-store-url: The same as orgability-clip, but asks for an URL.
  • orgability-open: Opens archive using org-board in the org-board-default-browser.
  • orgability-add-topic: Asks for a org-brain entry and creates a topic <-> resource relation between reading list entry at the point and selected org-brain entry. Reading list entry is resource of org-brain entry and org-brain entry is a topic of reading list entry.
  • orgability-delete-topic: Removes topic <-> resource relation between org-brain entry and reading list entry in a two-way fashion. Thatโ€™s why you should not manually remove topics from orgability-file.

Viewing reading list

Currently, orgability doesnโ€™t expose any special functionality to view all your reading list, but you can use org-agenda for this purpose. There is a function orgability-agenda-format-topics that can be used in org-agenda-prefix-format to insert topics.

("r" "Reading List" tags-todo "READING"
 ((org-agenda-overriding-header "Reading List")
  (org-agenda-remove-tags t)
  (org-agenda-prefix-format '((tags . "%(orgability-agenda-format-topics)")))
  (org-agenda-sorting-strategy '(todo-state-down effort-up category-keep))))

Configurations

  • orgability-file: File with reading list entries.
  • orgability-add-to-top: If non-nil, entries are added to the top of the orgability-file.
  • orgability-todo-keyword: If non-nil, entries are added with a selected todo keyword.
  • orgability-active-timestamp: If non-nil, ADDED timestamp is active and inactive otherwise.
  • orgability-auto-archive: If non-nil, use org-board to archive reading list for offline access when adding it.
  • orgability-use-relative-archive-url: If non-nil, use relative links to archived reading list entry. Useful when using several computers with different $HOME directories.
  • orgability-auto-agenda-redo: If non-nil, refresh org-agenda when adding reading list entry.
  • orgability-title: Title for a new orgability-file.
  • orgability-category: Category for a new orgability-file.
  • orgability-file-tags: File tags for a new orgability-file.
  • orgability-extract-http-title-f: Function to extract title from http(s) URL. By default itโ€™s org-cliplink-retrieve-title-synchronously from a org-cliplink package. This variable allows you to choose your own implementation.
  • orgability-agenda-topics-column: Width of topics block in org-agenda.

Testing

Ideally, you should use Cask for running tests. So first you need to install cask. If you are using emacs-plus, then you need to ignore dependencies during cask installation.

$ brew install cask --ignore-dependencies

One you have cask, you need to install all dependencies.

$ cask install

Now you can run tests.

$ cask exec ert-runner

Special thanks

Special thanks to creators and maintainers of org-mode, org-cliplink, org-brain and org-board. And to all the Emacs community.

Contributing

Everyone is welcome to contribute to orgability project. Feature requests, proposals, issue reports, documentation improvements, code patches - just to name few things that the project can gain from.

Please note that the main upstream of orgability is located on GitLab, and itโ€™s advisable to send your contributions there. But they can be accepted also via email and GitHub.

This project has automated tests that are run on GitLab. If you are contributing outside of GitLab, please run the tests manually. For more information please refer to relevant section in readme file or contact me via email.

Happy hacking!

More Repositories

1

homebrew-emacs-plus

Emacs Plus formulae for the Homebrew package manager
Ruby
2,143
star
2

vulpea

A collection of functions for note taking based on `org` and `org-roam`.
Emacs Lisp
222
star
3

flyspell-correct

Distraction-free words correction with flyspell via selected interface.
Emacs Lisp
196
star
4

environment

dotfiles
Emacs Lisp
121
star
5

elpa-mirror

Mirror for some Emacs package archives
Emacs Lisp
96
star
6

dotbot-brew

Install brew packages using dotbot
Python
42
star
7

vino

It's your cellar, your dear cantina.
Emacs Lisp
36
star
8

counsel-osx-app

Launch OSX applications via ivy interface
Emacs Lisp
24
star
9

UnityLibrarySwitcher

Unity plugin for switching build targets, git branches without endless assets reimport. Not maintained anymore.
C#
19
star
10

git-config-manager

Manage git repository configurations with ease
Haskell
8
star
11

mirror-elpa

(To) mirror Emacs Lisp Package Archive(s)
Shell
8
star
12

d12frosted.io

Personal site
Haskell
8
star
13

publicatorg

Make your vulpea notes public
Emacs Lisp
5
star
14

fancy-yank

apply transformation upon yanking
Emacs Lisp
4
star
15

emacs-addiction-mode

M-x doctor instead of C-x C-c
Emacs Lisp
4
star
16

barberry.io

Emacs Lisp
4
star
17

emacs-ukrainian-input-method

Ukrainian macOS-like input method
Emacs Lisp
4
star
18

org-drawer-list

Tame your lists in a drawer
Emacs Lisp
3
star
19

emacs-plus-basis

Emacs Lisp
3
star
20

CanonicalPath

Abstract data type for canonical paths with some pretty operations. Not maintained anymore.
Haskell
3
star
21

env-extra

Safe helpers for accessing and modifying environment variables
Haskell
2
star
22

talks

TeX
2
star
23

d12frosted

1
star
24

path-extra

Path helpers for my personal projects
Haskell
1
star
25

bomberman-player

Haskell
1
star
26

fish-mode

Major mode for editing fish shell scripts
Emacs Lisp
1
star