all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* New Maintainer callout: Binder
@ 2024-09-11  5:07 Paul W. Rankin via Emacs-humanities
  2024-09-12 17:28 ` tpeplt
  0 siblings, 1 reply; 5+ messages in thread
From: Paul W. Rankin via Emacs-humanities @ 2024-09-11  5:07 UTC (permalink / raw)
  To: help-gnu-emacs, emacs-humanities

Hi folks,

Would anyone like to take over maintaining Binder? I created it a while 
back but have not used it in years. I still believe it’s a worthwhile 
project, but I can’t foresee me furthering its development. Thanks :)

https://github.com/rnkn/binder

MELPA downloads: 1,449 (all versions), percentile: 39.93

README:

Binder
======

Binder is global minor mode to facilitate working on a writing project
in multiple files. It is heavily inspired by the binder feature in the
[macOS writing app Scrivener][3].

The rationale behind working this way is to split a large writing
project into smaller pieces.


Features
--------

Primarily, Binder provides a global minor mode `binder-mode`. This
allows working with files in the current `binder-project-directory`.
Data concerning these files is saved in a `.binder.el` file in the
project directory.

A project can be thought of an ordered list of files with associated
notes and tags.


Navigation
----------

At the most basic level, you can navigate back and forth through the
files in a project:

 - `binder-next (C-c ])` visits the next file in the project
 - `binder-previous (C-c [)` visits the previous

Calling these commands activates a transient map so that each command
can be repeated without the prefix key.


Sidebar
-------

You'll mostly interact with the project structure via the sidebar.

 - `binder-toggle-sidebar (C-c ')` toggles the visibility of the binder
   sidebar
 - `binder-reveal-in-sidebar (C-c ;)` finds the current file in the
   sidebar

Each project item is a file reference relative to the project directory.

Project items are displayed in a linear ordered list. Calling
`binder-sidebar-find-file (RET)` or `binder-sidebar-find-file-other-window (o)`
will visit the corresponding file.

Each item in the sidebar displays the following information:

 1. `*` denotes that this item has some notes (see **Notes** below),
    or...
 2. `?` denotes that the item's corresponding file cannot be found
 3. either the file relative to the project directory, or an arbitrary
    display name
 4. `#tag1 #tag2 ...` arbitrary item tags (see **Tags** below)

An item's display name can be changed with `binder-sidebar-rename (r)`.
If a file cannot be found, relocate with `binder-sidebar-relocate (R)`.

Calling `binder-sidebar-find-file (RET)` will visit the corresponding
file.

To add an existing file, call `binder-sidebar-add-file (a)` or add all
files in directory with `binder-sidebar-add-all-files (A)`.

Add a new file with `binder-sidebar-new-file (M-RET)`. This prompts for a
file-name and adds this (possibly non-existent) file to the project
after the current file's index. If no file-name extension is provided,
use `binder-default-file-extension`.

 > Hint: you can use an alternate default file extension for different
 > projects by setting a directory local variable.

Files can also be added to a project from outside the sidebar with
`binder-add-file (C-c :)`.

Items can be reordered with `binder-sidebar-shift-up (M-p | M-up)` and
`binder-sidebar-shift-down (M-n | M-down)`.

Remove items with `binder-sidebar-remove (d)` -- this *does not delete
the files*, only removes them from the project, but it *does* delete the
corresponding notes and tags.

Hide item file extensions by setting the `binder-sidebar-hide-file-extensions`
option. This can be toggled with `binder-sidebar-toggle-file-extensions (E)`.

The sidebar can be resized with `binder-sidebar-shrink-window ({)` and
`binder-sidebar-enlarge-window (})`. The window size is changed by the
number of columns specified in option `binder-sidebar-resize-window-step`.

You can customize how the sidebar window is displayed by setting
`binder-sidebar-display-alist` option.


Notes
-----

To open the notes buffer from the sidebar, call either
`binder-sidebar-open-notes (z)` to open and select the notes window, or
`binder-sidebar-toggle-notes (i)` to toggle the window.

To open a project file's notes from outside the sidebar, call
`binder-toggle-notes (C-c ")`.

You need to call either `binder-notes-save (C-x C-s)` or
`binder-notes-save-and-quit-window (C-c C-c)` to save notes to the
project file.

Calling `quit-window (C-c C-q | C-c C-k)` or `binder-toggle-sidebar`
does not save notes.

You can embiggen the notes window, to pop it out from the sidebar and
edit like a regular buffer window, with `binder-notes-expand-window (C-c
C-l)`.

You can customize how the notes window is displayed by setting
`binder-notes-display-alist` option.


Tags
----

Tags can help organize a project. An item can have any number of tags.

Add a tag to an item with `binder-sidebar-add-tag (t)`. Remove a tag
from an item with `binder-sidebar-remove-tag (T)`. You can tag/untag
multiple items at once by using marks (see **Marking** below).

Items in the sidebar can be narrowed to only show items with a certain
tag with `binder-sidebar-narrow-by-tag (/)` and/or only show items
without a certain tag with `binder-sidebar-exclude-by-tag (\)`. Each of
these commands can be called multiple times with additional tags.

Clear the sidebar filters with `binder-sidebar-clear-filters (|)`.


Marking
-------

Multiple items can be marked to add tags, toggle include state or
delete. Call `binder-sidebar-mark (m)` to mark an item or
`binder-sidebar-unmark (u)` to unmark an item.

To unmark all sidebar items, call `binder-sidebar-unmark-all (U)`.


Requirements
------------

 - Emacs 24.4
 - seq 2.20 (part of Emacs 25 and later)

--
Paul W. Rankin
https://rnkn.xyz




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: New Maintainer callout: Binder
  2024-09-11  5:07 New Maintainer callout: Binder Paul W. Rankin via Emacs-humanities
@ 2024-09-12 17:28 ` tpeplt
  2024-09-12 19:13   ` Stefan Monnier via Users list for the GNU Emacs text editor
  0 siblings, 1 reply; 5+ messages in thread
From: tpeplt @ 2024-09-12 17:28 UTC (permalink / raw)
  To: Paul W. Rankin; +Cc: help-gnu-emacs, emacs-humanities

"Paul W. Rankin" <rnkn@rnkn.xyz> writes:

> Hi folks,
>
> Would anyone like to take over maintaining Binder? I created it a while 
> back but have not used it in years. I still believe it’s a worthwhile 
> project, but I can’t foresee me furthering its development. Thanks :)
>
> https://github.com/rnkn/binder
>
> MELPA downloads: 1,449 (all versions), percentile: 39.93
>

Is it possible for the package to be handed over to GNU?  There might
not be a programmer at this time who is interested in maintaining it and
ownership could be given to an organization so that if/when someone does
want to adopt it, it would then be possible to assign ownership to that
person(s).  Otherwise, it’s possible that the package could become
orphaned with no ability to transfer ownership.  Perhaps GNU could set
up a second Emacs-Lisp Package Archive for such packages where authors
can no longer maintain a package but do not want them to become
orphaned.

-- 
The lyf so short, the craft so long to lerne.
- Geoffrey Chaucer, The Parliament of Birds.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: New Maintainer callout: Binder
  2024-09-12 17:28 ` tpeplt
@ 2024-09-12 19:13   ` Stefan Monnier via Users list for the GNU Emacs text editor
  2024-09-13  1:52     ` [emacs-humanities] " Paul W. Rankin
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier via Users list for the GNU Emacs text editor @ 2024-09-12 19:13 UTC (permalink / raw)
  To: help-gnu-emacs; +Cc: emacs-humanities

> Perhaps GNU could set up a second Emacs-Lisp Package Archive for such
> packages where authors can no longer maintain a package but do not
> want them to become orphaned.

The infrastructure for (Non)GNU ELPA can already handle packages without
an "upstream" (in which case the authoritative "upstream" is the coe in
`elpa.git` or `nongnu.git`), so there is no need for an
additional archive.

We don't currently have such orphaned packages in NonGNU ELPA, but
we do have several in GNU ELPA.


        Stefan




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [emacs-humanities] New Maintainer callout: Binder
  2024-09-12 19:13   ` Stefan Monnier via Users list for the GNU Emacs text editor
@ 2024-09-13  1:52     ` Paul W. Rankin
  2024-09-13  2:19       ` Divya via Users list for the GNU Emacs text editor
  0 siblings, 1 reply; 5+ messages in thread
From: Paul W. Rankin @ 2024-09-13  1:52 UTC (permalink / raw)
  To: divya; +Cc: emacs-humanities, help-gnu-emacs, Stefan Monnier

> On 11 Sep 2024, at 21:18, Divya <divya@subvertising.org> wrote:
> 
> Hello, Paul!
> 
> I'd be up for maintaining it. I think it's a worthy project and shouldn't be 
> orphaned.


> On 13 Sep 2024, at 05:13, Stefan Monnier via Emacs-humanities 
> <emacs-humanities@gnu.org> wrote:

>> Perhaps GNU could set up a second Emacs-Lisp Package Archive for such
>> packages where authors can no longer maintain a package but do not
>> want them to become orphaned.
> 
> The infrastructure for (Non)GNU ELPA can already handle packages without
> an "upstream" (in which case the authoritative "upstream" is the coe in
> `elpa.git` or `nongnu.git`), so there is no need for an
> additional archive.
> 
> We don't currently have such orphaned packages in NonGNU ELPA, but
> we do have several in GNU ELPA.
> 
> 
>        Stefan

Hi Divya,

It’s also an option to move the project into GNU ELPA as suggested 
above. I’ve signed the copyright assignment documents so this would be 
easy to do. This may provide you more help with maintaining the project.

Paul


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [emacs-humanities] New Maintainer callout: Binder
  2024-09-13  1:52     ` [emacs-humanities] " Paul W. Rankin
@ 2024-09-13  2:19       ` Divya via Users list for the GNU Emacs text editor
  0 siblings, 0 replies; 5+ messages in thread
From: Divya via Users list for the GNU Emacs text editor @ 2024-09-13  2:19 UTC (permalink / raw)
  To: help-gnu-emacs

> It’s also an option to move the project into GNU ELPA as suggested 
above. I’ve signed the copyright assignment documents so this would be 
easy to do. This may provide you more help with maintaining the project.

Sure, I should also sign the copyright assignment I believe? Do send me the necessary details off-list, Stefan, would be nice to clear that right now.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-09-13  2:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-11  5:07 New Maintainer callout: Binder Paul W. Rankin via Emacs-humanities
2024-09-12 17:28 ` tpeplt
2024-09-12 19:13   ` Stefan Monnier via Users list for the GNU Emacs text editor
2024-09-13  1:52     ` [emacs-humanities] " Paul W. Rankin
2024-09-13  2:19       ` Divya via Users list for the GNU Emacs text editor

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.