diff --git a/resources/recipes/uncrate.recipe b/resources/recipes/uncrate.recipe
index 225bba9d71..df18475dec 100644
--- a/resources/recipes/uncrate.recipe
+++ b/resources/recipes/uncrate.recipe
@@ -36,6 +36,16 @@ class Uncrate(BasicNewsRecipe):
remove_tags_after = dict(name='div', attrs={'class':'serif'})
remove_tags = [dict(name=['object','link','script','iframe','form'])]
+ extra_css = '''
+ .serif{font-family:Georgia,Rockwell,'Times New Roman',Times,serif; font-weight:normal; font-size: x-small; }
+ .lefttext{font-family:Georgia,Rockwell,'Times New Roman',Times,serif; font-weight:normal; font-size: x-small; }
+ h1{ font-family:Verdana,Arial,Helvetica,sans-serif;font-size:x-large; font-weight:bold;}
+ .byline{ font-family:Verdana,Arial,Helvetica,sans-serif;font-size: x-small; color:#FF4000;}
+ .posted{ font-family:Verdana,Arial,Helvetica,sans-serif;font-size: x-small;}
+ .answer{ font-family:Verdana,Arial,Helvetica,sans-serif;font-size: x-small;}
+ a{color:#FF4000;}
+ '''
+
feeds = [(u'Articles', u'http://feeds.feedburner.com/uncrate')]
def preprocess_html(self, soup):
diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py
index e52d693bb5..443db49c78 100644
--- a/src/calibre/customize/builtins.py
+++ b/src/calibre/customize/builtins.py
@@ -361,7 +361,7 @@ from calibre.customize.profiles import input_profiles, output_profiles
from calibre.devices.bebook.driver import BEBOOK, BEBOOK_MINI
from calibre.devices.blackberry.driver import BLACKBERRY
from calibre.devices.cybookg3.driver import CYBOOKG3, CYBOOK_OPUS
-from calibre.devices.eb600.driver import EB600, COOL_ER
+from calibre.devices.eb600.driver import EB600, COOL_ER, ESHINEBOOK
from calibre.devices.iliad.driver import ILIAD
from calibre.devices.irexdr.driver import IREXDR1000
from calibre.devices.jetbook.driver import JETBOOK
@@ -424,6 +424,7 @@ plugins += [
ANDROID,
CYBOOK_OPUS,
COOL_ER,
+ ESHINEBOOK,
ESLICK
]
plugins += [x for x in list(locals().values()) if isinstance(x, type) and \
diff --git a/src/calibre/devices/eb600/driver.py b/src/calibre/devices/eb600/driver.py
index fdd033b33f..2195cb3cb6 100644
--- a/src/calibre/devices/eb600/driver.py
+++ b/src/calibre/devices/eb600/driver.py
@@ -67,3 +67,11 @@ class COOL_ER(EB600):
OSX_MAIN_MEM = 'COOL-ER eReader Media'
EBOOK_DIR_MAIN = 'my docs'
+
+class ESHINEBOOK(EB600):
+
+ FORMATS = ['epub', 'pdf', 'txt']
+
+ VENDOR_NAME = 'LONGSHIN'
+ WINDOWS_MAIN_MEM = 'ESHINEBOOK'
+
diff --git a/src/calibre/ebooks/mobi/writer.py b/src/calibre/ebooks/mobi/writer.py
index d1b4076cd9..e5d6433f78 100644
--- a/src/calibre/ebooks/mobi/writer.py
+++ b/src/calibre/ebooks/mobi/writer.py
@@ -248,6 +248,7 @@ class Serializer(object):
self.breaks.append(buffer.tell() - 1)
self.id_offsets[item.href] = buffer.tell()
for elem in item.data.find(XHTML('body')):
+ buffer.write('')
self.serialize_elem(elem, item)
if self.write_page_breaks_after_item:
buffer.write('')