[mdlug] List archive and long lines

Raymond McLaughlin driveray at ameritech.net
Thu Jan 11 05:08:04 EST 2007


There has been some discussion on the list about the readability of
posts generated by mail clients that do not insert hard line breaks.

It is argued that modern readers should intelligently wrap text to fit
the screen that is displaying it. This sounds good in principle, but I'm
not convinced that this can always be done with fidelity to the writers
intentions.

The question is complicated because some people have pop/imap mail and
read their email with real mail clients, while others have web mail and
read their mail in a browser. And further complicating this is the
matter of the list archives.

I'm reasonably confident that most modern mail clients do, or can be
configured to, display most messages in a readable fashion.

I don't (yet) subscribe with a web-mail address so I can't comment on
this directly.

The problem with the web archives is pretty bad when long lines are
present. Having to side scroll to read something really sucks! I have
been working on a fix for this. Anyone concerned please compare the
archives here:
  <http://mdlug.org/pipermail/mdlug/2007-January/>
and the modified version here:
  <http://mdlug.org/pipermail/mdlug/January/>
If this works it might also provide a work around for people using web
mail: read the archive and use your web mail for posting. Not a perfect
solution, but a step in the right direction.

Below is the code I used to process the archive. It relies on a
semaphore, :+:+ as a stand in for blank spaces so that whole lines will
be treated as single arguments. It will mess up any posts, ascii
graphics for example, that may contain the string :+:+. If there's a
better way I'd like to learn it.


#!/bin/bash
#longlines.sh
#GPL2 and all that... for all I know some body else already wrote this.

for i in $(ls 0*html)
do sed s/\<PRE\>//g $i >$i.tmp
   rm $i
   sed s?\</PRE\>??g $i.tmp >$i
   rm $i.tmp
   export flag=0
   for j in $(awk '{ print }' $i | sed s/' '/:+:+/g)
   do
     if echo $j | grep '<!--beginarticle-->' >/dev/null
     then flag=1
     fi

     if echo $j | grep '<!--endarticle-->' >/dev/null
     then flag=0
     fi

     if [ x$flag = x1 ]
     then echo -n $j | sed s/:+:+/' '/g >>$i.tmp
          echo \<BR\>  >>$i.tmp
     else echo $j | sed s/:+:+/' '/g >>$i.tmp
     fi
   done
   mv $i.tmp $i
done



More information about the mdlug mailing list