diff --git a/Changelog.yaml b/Changelog.yaml index d58c10d6dd..ce27e16aa8 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -4,6 +4,187 @@ # for important features/bug fixes. # Also, each release can have new and improved recipes. +- version: 0.7.13 + date: 2010-08-06 + + new features: + - title: "Add a button to the edit metadata dialog to generate a cover based on the book metadata" + tickets: [5959] + + - title: "When using series or title in a save template to generate a file path, remove leading prepositions. This behavior can be controlled via a tweak." + + - title: "News download: When downloading news for the Kindle, do not add date to the title, to allow the Kindle's periodical archiving to work." + tickets: [6411] + + - title: "Content Server OPDS feeds: Grouping of items by first alphabet is now case-insensitive." + + - title: "Do not allow the user to use save to disk to save files into the calibre library" + tickets: [6392] + + - title: "Switch to a new C based API for using ImageMagick. More robust and a minor speedup when doing image manipulations" + + - title: "Move cover downloading to a plugin based API. You can now add new cover sources to calibre using plugins." + + bug fixes: + - title: "Content server OPDS feeds: Handle the case when the author field is blank" + tickets: [6371] + + - title: "TXT Input: Strip out illegal chars from txt files." + tickets: [6335] + + - title: "Save to disk/send to device templates: Always render {series_index} as an empty string when the book has no series." + tickets: [6409] + + - title: "PD Novel driver: Remove covers when deleting books" + + + new recipes: + - title: "Snopes" + author: Startson17 + + - title: "dr.dk and Balkan Insight" + author: Darko Miletic + + - title: Folha de Sao Paulo + author: Saverio Palmieri Neto + + improved recipes: + - Honolulu Star Advertiser + - Nature News + - Associated Press + - Scientific American + - New Scientist + +- version: 0.7.12 + date: 2010-07-30 + + bug fixes: + - title: "Fix a typo that caused a harmless error message after setting preferences" + + - title: "Linux build system: No longer search for poppler-qt4 libraries as they are not needed" + +- version: 0.7.11 + date: 2010-07-30 + + new features: + - title: "EPUB metadata: When setting metadata in an EPUB file, if it has a well defined image based cover, update it" + + - title: "Support for Droid X, Samsung Vibrant and Promedia ebook reader" + + - title: "Add entry to Connect/share menu to conveniently stop and start the Content Server" + + - title: "News download: Make the navbars on the section index pages more useful, adding links to net and previous section" + + - title: "Add a button to reset confirm dialogs to Preferences->General" + + + bug fixes: + - title: "Fix crash in edit metadata dialog if you click OK before cover download completes" + tickets: [6337] + + - title: "Kobo driver: Show a warning when the user tries to export/view .kobo files. Also add support for the new sofroot vendor id" + + - title: "Update check. Do not be fooled by a redirecting proxy when checking for new version" + tickets: [6325] + + - title: "Add book count to tooltip of library button in toolbar" + tickets: [6340] + + - title: "Content server: When serving OPDS feeds send the correct content-type header." + tickets: [6329] + + - title: "PDF Output: Don't insert blank pages before every individual HTML file in the ebook." + tickets: [6315] + + - title: "Fix saving of cover when path to book folder contains non ascii characters" + tickets: [6328] + + - title: "Fix regression that broke showing send to actions for multiple email accounts" + + - title: "Fix bug in handlling of hexadecimal entities" + tickets: [6305] + + - title: "SONY driver: More fixes to handle broken media.xml files" + tickets: [6296] + + - title: "Linux installer: Fix rendering of viewer icon and restrict all icons to 128x128 since GNOME can't handle large icons" + + - title: "RTF Input: Fix handling of hard linebreaks" + tickets: [6208] + + - title: "RTF Output: Fix regression that broke rendering of bold and italic text" + tickets: [6098] + + new recipes: + - title: "Draw and Cook" + author: Startson17 + + improved recipes: + - La Nacion + - Vecernje Novosti + - Der Tagesspiegel + - Die Zeit Nachrichten + - Toms Hardware (DE) + - Welt Online + +- version: 0.7.10 + date: 2010-07-23 + + new features: + - title: "Allow user customization of static resources such as icons and templates" + type: major + description: > + "You can now change the icons used in the User Interface and other static resources. Details on how to + do this are at: http://calibre-ebook.com/user_manual/customize.html#overriding-icons-templates-etcetera" + + - title: "Split the 'Send to device' button into two buttons, 'Connect/share' and 'Send to device'. The new 'Send to device' button will now only be available when a device is connected." + + - title: "Store column layout, saved searches and user categories seprately per calibre library. This makes it possible to easily switch between libraries with different custom column setups" + + - title: "See the last modofied date for each format in the edit metadata dialog via a tooltip" + tickets: [6252] + + - title: "PD Novel driver: Add support for uploading cover thumbnails to device" + + - title: "More sophisticated metadata extraction from HTML files" + tickets: [6223] + + bug fixes: + + - title: "Fix problems with a few windows installs caused by the upgrade to Qt 4.6.3 in the previous release. These would manifest as a not working Add Books button, or deletes not actually deleting files, etc." + + - title: "Restore configurability of toolbar, which was temporarily removed in 0.7.9. You can once again set icon size via Preferences->Interface" + + - title: "Fix regression in iTunes driver in 0.7.9 when sending series info" + + - title: "Search: Fix parsing of search terms that contain a word that starts with 'and' or 'or' and is not the first word" + + - title: "When merging records also merge metadata in custom columns" + tickets: [6120] + + - title: "When scrolling to show a particular row, handle the case when the first column is a custom column" + tickets: [6176] + + - title: "Fix SD card detection for The Augen Book" + tickets: [6224] + + - title: "CHM Input: Fix a couple of bugs that could cause crashes" + tickets: [6240] + + - title: "Conversion pipeline: Handle zero width elements with non zero indents gracefully" + tickets: [6230] + + new recipes: + - title: "daum.net" + author: trustin + + - title: "MIT Technology Review, Alternet, Waco Tribune Herald and Orlando Sentinel" + author: rty + + improved recipes: + - The BBC + - heise + - version: 0.7.9 date: 2010-07-17 diff --git a/resources/content_server/mobile.css b/resources/content_server/mobile.css new file mode 100644 index 0000000000..9be755b954 --- /dev/null +++ b/resources/content_server/mobile.css @@ -0,0 +1,83 @@ +/* CSS for the mobile version of the content server webpage */ + +.navigation table.buttons { + width: 100%; +} + +.navigation .button { + width: 50%; +} + +.button a, .button:visited a { + padding: 0.5em; + font-size: 1.25em; + border: 1px solid black; + text-color: black; + background-color: #ddd; + border-top: 1px solid ThreeDLightShadow; + border-right: 1px solid ButtonShadow; + border-bottom: 1px solid ButtonShadow; + border-left: 1 px solid ThreeDLightShadow; + -moz-border-radius: 0.25em; + -webkit-border-radius: 0.25em; +} + +.button:hover a { + border-top: 1px solid #666; + border-right: 1px solid #CCC; + border-bottom: 1 px solid #CCC; + border-left: 1 px solid #666; + + +} + +div.navigation { + padding-bottom: 1em; + clear: both; +} + +#search_box { + border: 1px solid #393; + -moz-border-radius: 0.5em; + -webkit-border-radius: 0.5em; + padding: 1em; + margin-bottom: 0.5em; + float: right; +} + +#listing { + width: 100%; + border-collapse: collapse; +} +#listing td { + padding: 0.25em; +} + +#listing td.thumbnail { + height: 60px; + width: 60px; +} + +#listing tr:nth-child(even) { + + background: #eee; +} + +#listing .button a{ + display: inline-block; + width: 2.5em; + padding-left: 0em; + padding-right: 0em; + overflow: hidden; + text-align: center; +} + +#logo { + float: left; +} + +#spacer { + clear: both; +} + + diff --git a/resources/default_tweaks.py b/resources/default_tweaks.py index aaeb992151..d0f8e1b91b 100644 --- a/resources/default_tweaks.py +++ b/resources/default_tweaks.py @@ -72,4 +72,11 @@ gui_pubdate_display_format = 'MMM yyyy' # without changing anything is sufficient to change the sort. title_series_sorting = 'library_order' +# Control how title and series names are formatted when saving to disk/sending +# to device. If set to library_order, leading articles such as The and A will +# be put at the end +# If set to 'strictly_alphabetic', the titles will be sorted without processing +# For example, with library_order, "The Client" will become "Client, The". With +# strictly_alphabetic, it would remain "The Client". +save_template_title_series_sorting = 'library_order' diff --git a/resources/images/mimetypes/epub.svg b/resources/images/mimetypes/epub.svg index 2b72b9e180..0c3a31964f 100644 --- a/resources/images/mimetypes/epub.svg +++ b/resources/images/mimetypes/epub.svg @@ -1,3381 +1,830 @@ - - - - - - - - - - -]> - + + + + diff --git a/resources/images/mimetypes/mobi.svg b/resources/images/mimetypes/mobi.svg index 1d290d2330..88d19f6c0d 100644 --- a/resources/images/mimetypes/mobi.svg +++ b/resources/images/mimetypes/mobi.svg @@ -1,8 +1,9 @@ + diff --git a/resources/images/mimetypes/odt.svg b/resources/images/mimetypes/odt.svg new file mode 100644 index 0000000000..f8c3df5d04 --- /dev/null +++ b/resources/images/mimetypes/odt.svg @@ -0,0 +1,63 @@ + + + \ No newline at end of file diff --git a/resources/images/mimetypes/rtf.svg b/resources/images/mimetypes/rtf.svg index 485ac41350..c40103d283 100644 --- a/resources/images/mimetypes/rtf.svg +++ b/resources/images/mimetypes/rtf.svg @@ -1,3791 +1,387 @@ diff --git a/resources/images/news/balkaninsight.png b/resources/images/news/balkaninsight.png new file mode 100644 index 0000000000..f2d5b35dee Binary files /dev/null and b/resources/images/news/balkaninsight.png differ diff --git a/resources/images/news/discover_magazine.png b/resources/images/news/discover_magazine.png new file mode 100644 index 0000000000..b63cf518d1 Binary files /dev/null and b/resources/images/news/discover_magazine.png differ diff --git a/resources/images/news/dr_dk.png b/resources/images/news/dr_dk.png new file mode 100644 index 0000000000..e584285e45 Binary files /dev/null and b/resources/images/news/dr_dk.png differ diff --git a/resources/recipes/DrawAndCook.recipe b/resources/recipes/DrawAndCook.recipe new file mode 100644 index 0000000000..1c080b85db --- /dev/null +++ b/resources/recipes/DrawAndCook.recipe @@ -0,0 +1,60 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class DrawAndCook(BasicNewsRecipe): + title = 'DrawAndCook' + __author__ = 'Starson17' + description = 'Drawings of recipes!' + language = 'en' + publisher = 'Starson17' + category = 'news, food, recipes' + use_embedded_content= False + no_stylesheets = True + oldest_article = 24 + remove_javascript = True + remove_empty_feeds = True + cover_url = 'http://farm5.static.flickr.com/4043/4471139063_4dafced67f_o.jpg' + max_articles_per_feed = 30 + + remove_attributes = ['style', 'font'] + + def parse_index(self): + feeds = [] + for title, url in [ + ("They Draw and Cook", "http://www.theydrawandcook.com/") + ]: + articles = self.make_links(url) + if articles: + feeds.append((title, articles)) + print 'feeds are: ', feeds + return feeds + + def make_links(self, url): + soup = self.index_to_soup(url) + title = '' + date = '' + current_articles = [] + soup = self.index_to_soup(url) + recipes = soup.findAll('div', attrs={'class': 'date-outer'}) + for recipe in recipes: + title = recipe.h3.a.string + page_url = recipe.h3.a['href'] + current_articles.append({'title': title, 'url': page_url, 'description':'', 'date':date}) + return current_articles + + + keep_only_tags = [dict(name='h3', attrs={'class':'post-title entry-title'}) + ,dict(name='div', attrs={'class':'post-body entry-content'}) + ] + + remove_tags = [dict(name='div', attrs={'class':['separator']}) + ,dict(name='div', attrs={'class':['post-share-buttons']}) + ] + + extra_css = ''' + h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;} + h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;} + img {max-width:100%; min-width:100%;} + p{font-family:Arial,Helvetica,sans-serif;font-size:small;} + body{font-family:Helvetica,Arial,sans-serif;font-size:small;} + ''' + diff --git a/resources/recipes/ap.recipe b/resources/recipes/ap.recipe index 0118cf0726..2b9f9e5571 100644 --- a/resources/recipes/ap.recipe +++ b/resources/recipes/ap.recipe @@ -6,31 +6,38 @@ class AssociatedPress(BasicNewsRecipe): title = u'Associated Press' description = 'Global news' - __author__ = 'Kovid Goyal' + __author__ = 'Kovid Goyal and Sujata Raman' use_embedded_content = False language = 'en' - + no_stylesheets = True max_articles_per_feed = 15 html2lrf_options = ['--force-page-break-before-tag="chapter"'] preprocess_regexps = [ (re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in [ - (r'
.*?' , lambda match : ''), - (r'.*?', lambda match : ''), - (r'.*?', lambda match : ''), - (r'', lambda match : '
'), - (r'
', lambda match : '
'), - (r'Learn more about our Privacy Policy.*?', lambda match : '