The Forge Archives

General Forge Forums => Site Discussion => Topic started by: yogshog on December 13, 2006, 08:50:53 PM



Title: Other formats for all these wonderful ideas
Post by: yogshog on December 13, 2006, 08:50:53 PM
So, I'm someone who has trouble reading large amounts of text online, but I am fascinated by the discussions and things here. Is there any way to export all the posts & such and save them as a huge text or rtf file for download (besides just going throuigh post by post, selecting all, copying and pasting it to an open notepad window or something)?

If this has been addressed before, I couldn't find it, and I apologize.


Title: Re: Other formats for all these wonderful ideas
Post by: Ron Edwards on December 14, 2006, 01:15:30 AM
Since I dislike reading lots of on-line text too, I definitely sympathize with you. In the future, something like what you're describing will probably have to be added, because ultimately the Forge will just be an archive.

If you're interested in printing out a specific discussion, there is a "print" option at the far right of the buttons above the text box in a thread. It provides a clean black-and-white version of the thread which prints fairly readably.

Best, Ron


Title: Re: Other formats for all these wonderful ideas
Post by: jerry on December 14, 2006, 07:25:13 AM
If you're interested in printing out a specific discussion, there is a "print" option at the far right of the buttons above the text box in a thread. It provides a clean black-and-white version of the thread which prints fairly readably.

That version (which includes all posts in one web page) can also be imported into a word processing document; most word processors nowadays will read HTML files. For example, in Word on OS X, I:

1. Went to the Print version.
2. Saved as "Web Source" (it might be called "save as... html" or "save as... source").
3. Opened the resulting file in Word.
4. Switched from "Online view" in Word to "Page Layout".
5. Selected the entire table by clicking in the upper right corner of the first post.
6. Chose "Convert Table to Text" in the "Table" menu.

At this point you can pretty much format the thread however you want for printing.

SMF (the forum software) also has some XML support, which might provide even better cross-format exchanges. There's a discussion on the SMF boards:

http://www.simplemachines.org/community/index.php?topic=25009.0

Jerry


Title: Re: Other formats for all these wonderful ideas
Post by: yogshog on December 14, 2006, 09:04:18 AM
That's better than nothing. Thanks for the info.

I do wonder, though, if there's a way to use an external program and convert it all at once.


Title: Re: Other formats for all these wonderful ideas
Post by: David Artman on December 15, 2006, 11:36:21 AM
I do wonder, though, if there's a way to use an external program and convert it all at once.
Hmmmm....

OK, we have these topics, they have a consistent URL naming convention, and they have a print button.

I think a PERL script would do just fine, actually.

- Have it start up a WHILE loop, with the "topic=" parameter of a thread URL being the thing looped.
- The "first unread post number" (more to how to determine that, below) is the starting value of the WHILE loop; and a boolean function that watches for 404 errors is the end condition (break).
- Inside the loop, it calls this URL:
http://www.indie-rpgs.com/forum/index.php?action=printpage;topic=[CURRENT_TOPIC_NUM].0
- It takes the returned HTTP transfer contents and CONCATs it to the end of a temporary file.
- When the WHILE loop finally breaks out (ex: if 404_ERROR_FROM_URL_REQUEST then BREAK), it writes the whole temp file to an HTML file, which you can save and print at your leisure.

If this was implemented as a "handy script" on the site, it could even be made aware of what is "unread" by your user ID (i.e. what URLs haven't been pinged while you are logged in--a cookie check, right, Clinton?) and you would get a more custom-tailored "report" of new posts. Otherwise, the script would have to be told with which thread ID to start, or you'd return every thread! But that script, too, could use a cookie to track what has or hasn't been run, whether hosted here or on your personal site or even on a local machine, as a stand-alone client application.

Short answer: it's not too hard (maybe five or ten lines of code), but it would need external controls (cookie look-up, cross-transactions on the server, starting thread number entry as a program parameter, etc).

David