From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Marcin Borkowski Newsgroups: gmane.emacs.help Subject: Re: Emulating Scrivener's binder feature Date: Mon, 01 Apr 2019 18:57:27 +0200 Message-ID: <87y34tk6iw.fsf@mbork.pl> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="35170"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: mu4e 1.1.0; emacs 27.0.50 Cc: help-gnu-emacs@gnu.org To: "Paul W. Rankin" Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Apr 01 18:59:01 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hB0Gv-0008qf-6Z for geh-help-gnu-emacs@m.gmane.org; Mon, 01 Apr 2019 18:58:57 +0200 Original-Received: from localhost ([127.0.0.1]:52583 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hB0Gu-0002h6-8x for geh-help-gnu-emacs@m.gmane.org; Mon, 01 Apr 2019 12:58:56 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:52722) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hB0Gj-0002gy-Qy for help-gnu-emacs@gnu.org; Mon, 01 Apr 2019 12:58:46 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hB0Gh-00075h-QS for help-gnu-emacs@gnu.org; Mon, 01 Apr 2019 12:58:45 -0400 Original-Received: from mail.mojserwer.eu ([195.110.48.8]:42882) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hB0Gd-00071G-Ts for help-gnu-emacs@gnu.org; Mon, 01 Apr 2019 12:58:42 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by mail.mojserwer.eu (Postfix) with ESMTP id 465E4E6BDF; Mon, 1 Apr 2019 18:58:33 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail.mojserwer.eu Original-Received: from mail.mojserwer.eu ([127.0.0.1]) by localhost (mail.mojserwer.eu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EK3S6_9UX9Br; Mon, 1 Apr 2019 18:58:29 +0200 (CEST) Original-Received: from localhost (jeden09-osiem5.echostar.pl [213.156.109.85]) by mail.mojserwer.eu (Postfix) with ESMTPSA id 7E1E2E6407; Mon, 1 Apr 2019 18:58:29 +0200 (CEST) In-reply-to: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.110.48.8 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:119815 Archived-At: On 2019-04-01, at 10:09, Paul W. Rankin wrote: > Hello Emaczens, > > I've started a new Emacs package to try and emulate the behaviour of Scrivener's > binder feature. > > A buffer in a side window would display the current project not unlike > dired-sidebar -- each file in the project occupying a single line. The ordering > of these files should be arbitrary (i.e. the user may reorder the files) and > this project structure should be persistent across sessions. Global keybindings > should allow navigation from a file in the current project to the next/previous > file in this structure. The user should (eventually) be able to mark a selection > of files and concatenate/export these into a master output. > > The idea would be to have a .binder file in the top directory of the project. > This file should be human-readable. Each line in this file should be a file path > relative to the .binder file. Metadata relating to each file is stored below the > file, terminating at the next file or EOF. > > Metadata could be: Tags beginning with ":" e.g. :tag1 :tag2 :toast :piglet. > Multi-line notes prefixed with ">" like Markdown blockquotes. Comments start > with "#". Blank lines are ignored. > > An example .binder file might look like this: > > # This is a comment > > The Problem of Space.txt > :kirin > First Attempt.txt > :noomi > > Intro to Noomi. > An Angry Driver.txt > :cameo > > > Uncle Bob could do this? > > Archive/Other Options.txt > Working Together.txt > :act3 :revised > > Putting ego aside, Kirin puts all his faith in Noomi's ability to judge > > the space from outside the truck. Little by little, they make it in. Quick question: why not use Org-mode syntax for the binder file? I.e., make each file a headline, and metadata its properties. You'd get reordering for free, and maybe other stuff could be useful, like column view maybe. Also, it would be usable outside Emacs, since there are many Org syntax parsers out there. Just my 2 cents, -- Marcin Borkowski http://mbork.pl