From 18c001fec61daa1413cdc35af4a14266979cc4b5 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 8 Jun 2017 21:54:43 +0000 Subject: README: update for for 1.0 release Mainly, we want to emphasize the container-agnosticism over the non-recursive nature of our algorithm; as the former will likely be more appealing to those not familiar with message threading at all. --- README | 69 ++++++++++++++++++++++++++++++++++++++-------------------- msgthr.gemspec | 2 +- 2 files changed, 46 insertions(+), 25 deletions(-) diff --git a/README b/README index ca7c24c..326c5a6 100644 --- a/README +++ b/README @@ -1,36 +1,53 @@ -msgthr - non-recursive, container-agnostic message threading +msgthr - container-agnostic, non-recursive message threading ------------------------------------------------------------ -Message threading based on the algorithm described by JWZ in - and used in -countless mail and news readers; but with some features -removed and improved flexibility: +Pure Ruby message threading based on the algorithm described by +JWZ in and used in +countless mail and news readers; but with some features removed +and improved flexibility: + +* Message format-agnostic, not limited to email or NNTP; + but even appropriate for forums, blog comments, IM, etc. + For mail and NNTP messages, that means you must extract + the Message-ID and parse the References and In-Reply-To + headers into an array yourself. + +* No recursion; all algorithms are non-recursive to avoid + SystemStackError exceptions in deep message threads. + Memory usage is bound by the number of lightweight containers + needed to represent a thread. * No pruning of non-leaf ghosts. Readers are not shielded from deleted or lost messages. Equivalent to setting "hide_missing" to "no" in mutt. -* No grouping by subject. This makes things ideal for short +* No grouping by subject[1]. This makes things ideal for short messages such as chat and status updates. For email, this encourages the use of proper client which set In-Reply-To - or References headers. Equivalent to setting - "strict_threads" to "yes" in mutt. - -* No recursion; all algorithms are non-recursive to avoid - SystemStackError exceptions in deep threads. - Memory usage is bound by the number of lightweight containers - needed to represent a thread. + or References headers. Equivalent to setting "strict_threads" + to "yes" in mutt. -* Message format-agnostic, not limited to email or NNTP; - but even appropriate for forums, blog comments, IM, etc. - For mail and NNTP messages, that means you must extract - the Message-ID and parse the References and In-Reply-To - headers into an array yourself. + [1] - Instead, messages with the same Subject can be grouped + by a search engine. For email, this would be done using + a mail search engine like notmuch or mairix. Source code ----------- +Our Ruby 1.9.3+ compatible code is available via git, +no C compiler or other dependencies are required: + git clone git://80x24.org/msgthr + git clone https://80x24.org/msgthr.git + +Releases may be downloaded via RubyGems: + + gem fetch [-v VERSION] msgthr + +The code used in this Ruby library was originally derived from +the Mail::Thread module for Perl 5.x: + + https://metacpan.org/release/Mail-Thread Contact ------- @@ -42,10 +59,12 @@ and pull requests to the open-to-all mailing list at: msgthr-public@80x24.org No subscription will ever be required to post. Please Cc: all -recipients as subscription is not necessary. +recipients as subscription will never be necessary. + +Mailing list archives are available via HTTPS and NNTP: -Mailing list archives via HTTPS: https://80x24.org/msgthr-public/ -Or NNTP: nntp://news.public-inbox.org/inbox.comp.lang.ruby.msgthr + https://80x24.org/msgthr-public/ + nntp://news.public-inbox.org/inbox.comp.lang.ruby.msgthr You may optionally subscribe, but will never be required to: @@ -53,14 +72,16 @@ You may optionally subscribe, but will never be required to: This README is our homepage, we would rather be working on cool stuff day than worrying about the next browser vulnerability -because HTML/CSS/JS/images are too complicated for us. +because CSS/JS/images are all too complicated for us. + +RDoc API documentation in simple HTML is available at: -* https://80x24.org/msgthr/README + https://80x24.org/msgthr/rdoc/ Copyright --------- -Copyright 2016, all contributors (see git repo). +Copyright 2016-2017, all contributors (see git repo). License: GPL-2.0+ msgthr is copyrighted Free Software by all contributors, see logs in diff --git a/msgthr.gemspec b/msgthr.gemspec index 0bb591e..ab0cd74 100644 --- a/msgthr.gemspec +++ b/msgthr.gemspec @@ -6,7 +6,7 @@ Gem::Specification.new do |s| s.name = %q{msgthr} s.version = ENV['VERSION'] || '0.0.0' s.authors = ['msgthr hackers'] - s.summary = 'non-recursive, container-agnostic message threading' + s.summary = 'container-agnostic, non-recursive message threading' s.description = File.read('README').split(/\n\n/)[1].strip s.email = %q{msgthr-public@80x24.org} s.homepage = 'https://80x24.org/msgthr/' -- cgit v1.2.3-24-ge0c7