New web newsreader - requesting participation

Daniel Gibson metalcaedes at gmail.com
Mon Jan 31 03:12:07 PST 2011


Am 31.01.2011 11:25, schrieb foobar:
> Adam Ruppe Wrote:
>
>> In the other newsgroup, I've been talking about a little
>> web news program I've been writing as a spinoff of the
>> potential new homepage idea.
>>
>> It's to the point where it is usuable, but still kinda buggy:
>>
>> http://arsdnet.net/d-web-site/nntp/thread-index?
>> newsgroup=digitalmars.D
>>
>> Source code: http://arsdnet.net/d-web-site/nntp.d
>>
>> NOTE: it does /not/ automatically check for new posts. I have
>> to manually trigger that right now (I don't want it annoying
>> the news server automatically while still in the testing phase.)
>>
>> It will lazily load a message on demand though if you know
>> it's message ID:
>> http://arsdnet.net/d-web-site/nntp/get-message
>>
>> Get it from the Message-ID header in the post.
>>
>>
>>
>> Anyway, here's the features:
>>
>> a) It isn't god awful slow. The PHP web news currently on digital
>> mars, as best as I can tell, actually polls the news server every
>> time you go to it's index! This does aggressive local caching.
>>
>> b) It actually lets you select text...
>>
>> OK, if I list every annoyance with the current web news, I'll
>> never stop. Moving on to new things:
>>
>> c) It tries to convert news posts to HTML, so the paragraphs
>> wrap to the browser, links work, quotes are put into the proper
>> tags for indentation, and it tries to auto-detect D code and
>> put it in a<pre>  block - which my javascript can make inline
>> editable and runnable. Example:
>>
>> http://arsdnet.net/d-web-site/nntp/get-message?
>> newsgroup=digitalmars.D&messageId=%
>> 3Cmailman.1085.1296409409.4748.digitalmars-d%40puremagic.com%3E
>>
>> With script disabled, you'll see the code in a different colored
>> block. With script enabled, you'll see an Edit button there
>> too.
>>
>> d) It tries to convert HTML emails back to plain text. (Ironically,
>> so it can turn it back to html...) This gives uniformity across
>> the various mime types. Similarly, if the type is
>> multipart/alternative, it will only show the text version.
>>
>> e) It also makes an attempt to preserve deliberate whitespace,
>> for things like ASCII art or purposefully short lines. If it
>> can't make heads or tails of it, it bails out and shows the
>> original message in a<pre>  block for human consumption.
>>
>> f) Tries to be fast and lean.
>>
>> g) Written in D!
>>
>> h) Already read messages is tracked by your browser - if the link
>> is visited, it puts up a different color url.
>>
>> Coming as I find time:
>>
>> a) References to bugzilla entries should be automatically
>> converted to links.
>>
>> b) Viewing threads by date or by threaded view.
>>
>> c) Posting with the option of automatic quoting.
>>
>> d) Syntax highlighting of D code in posts.
>>
>> e) Maybe, maybe links to documentation of functions referenced,
>>     if I can find a good way to get them automatically. Integration
>>     with my dpldocs.info site is the way I'd do it.
>>
>> e) Any more ideas? I'm reluctant to add too much, but if I like
>>     an idea - or if you want to write the code :) - I'll be open'
>>     to adding it.
>>
>>
>> Known bugs:
>>
>> Lots of content types aren't handled right and it ignores
>> character encoding.
>>
>> It doesn't always recognize code. This would be ok, but if it
>> sees one line as code but doesn't include one of them, it would
>> confuse the reader. Example:
>>
>> http://arsdnet.net/d-web-site/nntp/get-message?
>> newsgroup=digitalmars.D&messageId=%3Cii4lbj%242bes%241%
>> 40digitalmars.com%3E
>>
>> (Look for "auto str =")
>>
>> The reason for this is it detects code lines by looking for
>> semicolons and open braces. It will call something a generic
>> <pre>  if there's a lot of whitespace in it - figuring it is
>> probaby ascii art (if it thinks the whitespace has human
>> significance, it tries to preserve it), but it still isn't
>> a perfect detection function.
>>
>> I'm open to ideas. We want to detect code, but not flag
>> regular English text.
>>
>>
>>
>> I'm also open to graphical styling ideas. I put up a dark
>> theme here because the white was hurting my eyes, but I change
>> on if I like light or dark almost at random. (Depends on the room's
>> lighting conditions I think). But I didn't do any more graphic
>> setup other than the max-width.
>>
>> Multiple color schemes is an idea I like.
>>
>>
>>
>> BTW, as a fun fact, this post is about 1/4th the size of the
>> entire nntp.d code file!
>
> This is great work! looks SO much better than what we have right now.
>
> I'd implement the following filters/parsers for text posts:
> 1. common human markup such as: _foo_ (underline), *foo* (bold) etc,
> 2. parse BBCode.
>
> The NG could standardize on BBcode or some other light-weight marking going forward to make this even more straight forward.
>

No BBcode please, I'd still like to be able to (properly) view the posts 
in Thunderbird.
Else we could entirely switch to phpBB or something like that instead of 
using a nntp server.


More information about the Digitalmars-d-announce mailing list