Table of Contents

F's

- Preface: less than 30 seconds

- Let's read it in Kindle

- Known Issues

- How to use

- Adding Data Source

F's

Preface: less than 30 seconds

Less than 30sec; the standing time of a metro in Tokyo, japan.
A metro in Tokyo is almost under the coverage of some wireless networks(WiFi/3G), so you can catch a signal while a train is stopping on the station.
But can you do anything worth in 30sec?
Of course, you can send a short message, authorize an account, or press F5-key to reload a page, but you will be in the out of service when you receive the reply.

In last month midle, I bought amazon Kindle2.
It has a wireless chip for the 3G wireless network, it's available in Japan.
It's amazing! No contract, no phone-number, no fee, no entry deposit, but the signal is living.

And I bought some books in the store and enjoy it.
A little displeasure is the store has no stock of Japanese book.
Okay I know that vertical flowing of Japanese does not fit Kindle2's screen and needs a large modification of the software.
Most book publishers in Japan would hate this, however, no surprising for me if Japanese is appeared in horizontal flowing nor lacking a ruby on a Kanji.
(for these, PDF is the powerful solution. unfortunately, Kindle2's PDF Reader is not totally good)

Not that I would say Kindle2 disappointed me.
I would like to read Japanese documents even if I take a metro.

So, this is a reason why I programmed the F's News Generator.

Let's read it in Kindle

F's News Generator is an offline news reader for amazon Kindle2.
It builds a book (.mobi file) with the table-of-content from a blog's full text you want.
This document was written on blogger.com, then now put on your Kindle.

But now I'm testing the system.
All pages are under consideration but book-creation's at least working for me, so I just figure I'd let you know this.

- You can regist new RSS feed as you like

- You can select any node on a webpage to build a book

- Japanese or UTF-8 encoding is supported

I'll show you some pictures for example.
This book was created by F's News Generator .

Sample data sources are gizmodo.jp, and playstation.blog.
Pages that have less images fit to the device.

With a picture and Japanese text. UTF-8 is supported.
You need a Japanese font for showing Japanese. (Kindle has no Japanese font in default)

Table of Contents.
You can seek an article quickly.

A header, contents, and an image.
The title shows a date as you see.
Kindle speaks while 'Speech' is set.

Also, you can use a dictionary.

Known Issues

- All pages are under considering.

- It is not accessible for the webbrowser of Kindle2 --- yet. Please use your PC to publish.

- Some 'Selectors' may be not fit to your web site. (e.g, an attribute selector's support is restrictive)

- You can not public a data source (URL and Selectors) for anyone

- Blog is only supported. For general web pages, wiki, forum, or more... are not yet.

- Resource fetching is slow. Especially, a page has many images. (An image fetching takes 1-3 seconds per one single image)

- The language filter is not supported yet.

- Google App Engine has a deadline to request. It's 30sec. And it has size limitation for a file. If your request get a limit you will see any error.

Please try it, and please let me know what you want or what you feel troubles.

How to use

1. User registration

Select a language, and timezone.

2. Select Data Sources (such a RSS/ATOM feed)

A left column is data sources, right is your subscribe list.
Checking is subscribe or unsubscribe.
You can sort a list by drag&drop.
When you finish to set the list up, please don't forget click a 'Submit' button.

3. Publishing

To publish a book, click 'Select and Publish' on a top bar.

The list shows feeds by your subscribed data sources.
If you want select feed, click a check-box.

Then click a 'Publish!' button.
F's News Generator gets a chin up and begins to fetch HTML and images.

...Yes. It may take a time. Please wait a few minute.

Finally, if burning is end, a 'Download' button appears here.

Click the button your book's downloading is begining.
(A file size has to be up to 10MB. Otherwise, downloading will be failed)

Adding Data Source

If you want to add your data source (RSS/ATOM feed, or HTML page), click a 'Data Source' on a top bar.

1. Input URL

Please input the URL where you want.
On the right side, help messages are available.
A 'Check' button works while the URL is for RSS/ATOM feeds. It may suggest fields and help your input.

2. The Expression

If A 'Check' button does not help us, we should input valid expression to the expression field.
The expression is a 'Selector' defined in CSS2.
It's usually used to select HTML fragments(=Tagged Elements) to apply a style.
In F's News Generator it's used to select them to build a page.
Usually the main content is enveloped in any html-tag.

Not so difficult!
The expression is simply a 'Tag Name'(body, div, h1, table, or more) in most simple case.
However, in most popular case, same tag-names appear many times in single HTML.

For example, following document has a secret where in '<div id="main">'.

<div id="head">The Secret</div>
<div id="main">
This is the most important thing. The secret of the world.<br/>
I'd say th....
</div>
<div id="foot">to be continue...</div>

There are 3 'div' tags. The main content has the ID; 'main'.
To select it, you use this expression.

div#main
Sharp; '#' is meaning the 'id'.
The ID is unique identifier. The ID shall to select a single element.

Let me see the next example.
Following image is a sample web page and its source.

The main content that you want is enveloped in '<div class="post-body entry-content">'.
Usually, the main content is in 'div' or 'p' tags. Here the envelope is '<div class="post-body entry-content">'.
So you just get this element by selector.

'class' is a general attribute where the name figures the tag's type out.
Despite it's common usage, you don't need to care that. The most important thing is how 'class' is usable to select a element.
In this case, the 'div' element has a class named 'post-body' and 'entry-content'.
Here is,

div.post-body

Dot; '.' is meaning a 'class'.

And so the expression is below,

The end.