calibreUserManual,Release2.55.0
Replacingarticlestyles
Intheprevioussection,wesawthatthefontsizeforarticlesfromtheprintversionofTheBBCwastoosmall.Inmost
websites,TheBBCincluded,thisfontsizeissetbymeansofCSSstylesheets. Wecandisablethefetchingofsuch
stylesheetsbyaddingtheline:
no_stylesheets True
Therecipenowlookslike:
Thenewversionlooksprettygood. Ifyou’reaperfectionist,you’llwanttoreadthenextsection,whichdealswith
actuallymodifyingthedownloadedcontent.
Slicinganddicing
calibrecontainsverypowerfulandflexibleabilitieswhenitcomestomanipulatingdownloadedcontent.Toshowoff
acoupleofthese,let’slookatouroldfriendtheTheBBC(page27)recipeagain.Lookingatthesourcecode(HTML)
ofacoupleofarticles(printversion),weseethattheyhaveafooterthatcontainsnousefulinformation,containedin
<div class="footer">
...
</div>
Thiscanberemovedbyadding:
remove_tags
[dict(name='div', attrs={'class':'footer'})]
totherecipe. Finally,letsreplacesomeoftheCSSthatwedisabledearlier, , withourownCSSthatissuitablefor
conversiontoanebook:
extra_css
'.headline {font-size: x-large;} \n .fact { { padding-top: 10pt
}'
Withtheseadditions,ourrecipehasbecome“productionquality”,indeeditisveryclosetotheactualrecipeusedby
calibrefortheBBC,shownbelow:
##
## Title:
BBC News, Sport, , and d Blog g Calibre e Recipe
## Contact:
mattst - - jmstanfield@gmail.com
##
## License:
GNU General l Public License e v3 3 - http://www.gnu.org/copyleft/gpl.html
## Copyright:
mattst - - jmstanfield@gmail.com
##
1.2. Addingyourfavoritenewswebsite
27
Converting pdf to ppt - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
create powerpoint from pdf; pdf to powerpoint converter online
Converting pdf to ppt - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
how to add pdf to powerpoint; change pdf to powerpoint online
calibreUserManual,Release2.55.0
## Written:
November 2011
## Last t Edited:
2011-11-19
##
__license__
'GNU General Public c License e v3 - - http://www.gnu.org/copyleft/gpl.html'
__copyright__
'mattst - - jmstanfield@gmail.com'
'''
BBC News, Sport, , and d Blog Calibre e Recipe
'''
# Import t the e regular r expressions module.
import re
# Import t the e BasicNewsRecipe class which this class extends.
from calibre.web.feeds.recipes import BasicNewsRecipe
class BBCNewsSportBlog(BasicNewsRecipe):
#
#
****
IMPORTANT USERS READ ME
****
#
#
First select the feeds you want t then scroll down below the e feeds list
#
and select the e values s you u want for r the other user preferences, like
#
oldest_article and such h like.
#
#
#
Select the BBC C rss feeds which you u want in n your ebook.
#
Selected feed have NO O '#' ' at t their start, de-selected d feeds begin with a a '#'.
#
#
Eg.
("News Home", , "http://feeds.bbci.co.uk/... - - include feed.
#
Eg. #("News Home", , "http://feeds.bbci.co.uk/... - - do not include feed.
#
# There are e 68 8 feeds below which constitute the bulk of the available e rss
# feeds on n the e BBC web b site. These include e 5 blogs s by y editors and
# correspondants, , 16 6 sports s feeds, 15 5 'sub' regional feeds (Eg. . North West
# Wales, Scotland d Business), and d 7 7 Welsh language e feeds.
#
# Some of the feeds are low w volume (Eg. blogs), , or r very y low volume (Eg. Click)
# so o if f "oldest_article = 1.5" (only articles s published d in the e last t 36 hours)
# you u may y get some 'empty feeds' which will not then be included in the ebook.
#
# The e 15 5 feeds currently selected d below are e simply y my y default ones.
#
# Note: With all l 68 8 feeds selected, oldest_article e set t to o 2,
# max_articles_per_feed set t to o 100, and d simultaneous_downloads set t to o 10,
# the e ebook creation n took 29 9 minutes s on n my y speedy 100 mbps net t connection,
# fairly high-end d desktop p PC C running g Linux (Ubuntu u Lucid-Lynx).
# More realistically with 15 5 feeds selected, , oldest_article set t to o 1.5,
# max_articles_per_feed set t to o 100, and d simultaneous_downloads set t to o 20,
# it t took k 6 6 minutes. . If that's too o slow increase e 'simultaneous_downloads'.
#
# Select / / de-select t the feeds you u want in n your ebook.
#
feeds [
("News Home""http://feeds.bbci.co.uk/news/rss.xml"),
("UK""http://feeds.bbci.co.uk/news/uk/rss.xml"),
28
Chapter1. Sections
Online Convert PowerPoint to PDF file. Best free online export
Creating a PDF from PPTX/PPT has never been so easy! Easy converting! We try to make it as easy as possible to convert your PPTX/PPT files to PDF.
pdf to ppt converter; change pdf to powerpoint
How to C#: Convert PDF, Excel, PPT to Word
How to C#: Convert PDF, Excel, PPT to Word. Online C# Tutorial for Converting PDF, MS-Excel, MS-PPT to Word. PDF, MS-Excel, MS-PPT to Word Conversion Overview.
change pdf to powerpoint on; conversion of pdf to ppt online
calibreUserManual,Release2.55.0
("World""http://feeds.bbci.co.uk/news/world/rss.xml"),
#("England", "http://feeds.bbci.co.uk/news/england/rss.xml"),
#("Scotland", "http://feeds.bbci.co.uk/news/scotland/rss.xml"),
#("Wales", "http://feeds.bbci.co.uk/news/wales/rss.xml"),
#("N. Ireland", "http://feeds.bbci.co.uk/news/northern_ireland/rss.xml"),
#("Africa", "http://feeds.bbci.co.uk/news/world/africa/rss.xml"),
#("Asia", "http://feeds.bbci.co.uk/news/world/asia/rss.xml"),
#("Europe", "http://feeds.bbci.co.uk/news/world/europe/rss.xml"),
#("Latin America", , "http://feeds.bbci.co.uk/news/world/latin_america/rss.xml"),
#("Middle East", "http://feeds.bbci.co.uk/news/world/middle_east/rss.xml"),
("US & & Canada""http://feeds.bbci.co.uk/news/world/us_and_canada/rss.xml"),
("Politics""http://feeds.bbci.co.uk/news/politics/rss.xml"),
("Science/Environment""http://feeds.bbci.co.uk/news/science_and_environment/rss.xml"),
("Technology""http://feeds.bbci.co.uk/news/technology/rss.xml"),
("Magazine""http://feeds.bbci.co.uk/news/magazine/rss.xml"),
("Entertainment/Arts""http://feeds.bbci.co.uk/news/entertainment_and_arts/rss.xml"),
#("Health", "http://feeds.bbci.co.uk/news/health/rss.xml"),
#("Education/Family", "http://feeds.bbci.co.uk/news/education/rss.xml"),
("Business""http://feeds.bbci.co.uk/news/business/rss.xml"),
("Special Reports""http://feeds.bbci.co.uk/news/special_reports/rss.xml"),
("Also in n the News""http://feeds.bbci.co.uk/news/also_in_the_news/rss.xml"),
#("Newsbeat", "http://www.bbc.co.uk/newsbeat/rss.xml"),
#("Click", "http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/programmes/click_online/rss.xml"),
("Blog: Nick Robinson n (Political Editor)""http://feeds.bbci.co.uk/news/correspondents/nickrobinson/rss.sxml"),
#("Blog: Mark D'Arcy (Parliamentary y Correspondent)", "http://feeds.bbci.co.uk/news/correspondents/markdarcy/rss.sxml"),
#("Blog: Robert Peston (Business Editor)", "http://feeds.bbci.co.uk/news/correspondents/robertpeston/rss.sxml"),
#("Blog: Stephanie e Flanders s (Economics Editor)", "http://feeds.bbci.co.uk/news/correspondents/stephanieflanders/rss.sxml"),
("Blog: Rory Cellan-Jones s (Technology correspondent)""http://feeds.bbci.co.uk/news/correspondents/rorycellanjones/rss.sxml"),
("Sport Front t Page""http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/front_page/rss.xml"),
#("Football", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/football/rss.xml"),
#("Cricket", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/cricket/rss.xml"),
#("Rugby Union", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/rugby_union/rss.xml"),
#("Rugby League", , "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/rugby_league/rss.xml"),
#("Tennis", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/tennis/rss.xml"),
#("Golf", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/golf/rss.xml"),
#("Motorsport", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/motorsport/rss.xml"),
#("Boxing", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/boxing/rss.xml"),
#("Athletics", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/athletics/rss.xml"),
#("Snooker", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/other_sports/snooker/rss.xml"),
#("Horse Racing", , "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/other_sports/horse_racing/rss.xml"),
#("Cycling", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/other_sports/cycling/rss.xml"),
#("Disability Sport", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/other_sports/disability_sport/rss.xml"),
#("Other Sport", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/other_sports/rss.xml"),
#("Olympics 2012", "http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/other_sports/olympics_2012/rss.xml"),
#("N. Ireland Politics", , "http://feeds.bbci.co.uk/news/northern_ireland/northern_ireland_politics/rss.xml"),
#("Scotland Politics", , "http://feeds.bbci.co.uk/news/scotland/scotland_politics/rss.xml"),
#("Scotland Business", , "http://feeds.bbci.co.uk/news/scotland/scotland_business/rss.xml"),
#("E. Scotland, Edinburgh & Fife", "http://feeds.bbci.co.uk/news/scotland/edinburgh_east_and_fife/rss.xml"),
#("W. Scotland & Glasgow", "http://feeds.bbci.co.uk/news/scotland/glasgow_and_west/rss.xml"),
#("Highlands & & Islands", , "http://feeds.bbci.co.uk/news/scotland/highlands_and_islands/rss.xml"),
#("NE. Scotland, , Orkney y & & Shetland", , "http://feeds.bbci.co.uk/news/scotland/north_east_orkney_and_shetland/rss.xml"),
#("South Scotland", "http://feeds.bbci.co.uk/news/scotland/south_scotland/rss.xml"),
#("Central Scotland & Tayside", "http://feeds.bbci.co.uk/news/scotland/tayside_and_central/rss.xml"),
#("Wales Politics", "http://feeds.bbci.co.uk/news/wales/wales_politics/rss.xml"),
#("NW. Wales", , "http://feeds.bbci.co.uk/news/wales/north_west_wales/rss.xml"),
#("NE. Wales", , "http://feeds.bbci.co.uk/news/wales/north_east_wales/rss.xml"),
#("Mid. Wales", , "http://feeds.bbci.co.uk/news/wales/mid_wales/rss.xml"),
#("SW. Wales", , "http://feeds.bbci.co.uk/news/wales/south_west_wales/rss.xml"),
1.2. Addingyourfavoritenewswebsite
29
VB.NET PowerPoint: Convert & Render PPT into PDF Document
This VB.NET PowerPoint to PDF conversion tutorial will illustrate our effective PPT to PDF converting control SDK from following aspects.
how to add pdf to powerpoint slide; converting pdf to powerpoint online
VB.NET PowerPoint: Customize PPT Document Rendering Options in VB.
to render and convert PPT slide to various formats, including PDF, BMP, TIFF, SVG, PNG, JPEG, GIF and JBIG2. In the process of converting PPT slide to any of
convert pdf file to powerpoint; chart from pdf to powerpoint
calibreUserManual,Release2.55.0
#("SE. Wales", , "http://feeds.bbci.co.uk/news/wales/south_east_wales/rss.xml"),
#("Newyddion - - News in Welsh", , "http://feeds.bbci.co.uk/newyddion/rss.xml"),
#("Gwleidyddiaeth", "http://feeds.bbci.co.uk/newyddion/gwleidyddiaeth/rss.xml"),
#("Gogledd-Ddwyrain", "http://feeds.bbci.co.uk/newyddion/gogledd-ddwyrain/rss.xml"),
#("Gogledd-Orllewin", "http://feeds.bbci.co.uk/newyddion/gogledd-orllewin/rss.xml"),
#("Canolbarth", "http://feeds.bbci.co.uk/newyddion/canolbarth/rss.xml"),
#("De-Ddwyrain", "http://feeds.bbci.co.uk/newyddion/de-ddwyrain/rss.xml"),
#("De-Orllewin", "http://feeds.bbci.co.uk/newyddion/de-orllewin/rss.xml"),
]
#
****
SELECT YOUR USER R PREFERENCES
****
# Title to o use e for the e ebook.
#
title 'BBC News'
# A brief description n for r the ebook.
#
description u'BBC web site e ebook created d using rss feeds.'
# The e max x number r of f articles s which may y be downloaded from m each feed.
# I've never seen n more than about 70 0 articles s in n a a single feed in n the
# BBC C feeds.
#
max_articles_per_feed 100
# The e max x age of f articles s which may be downloaded from each feed. This is
# specified d in n days - - note e fractions of f days s are allowed, , Eg. . 2.5 (2 2 and d a
# half days). My y default t of f 1.5 5 days is s the e last 36 6 hours, , the e point at
# which I've decided 'news' ' becomes s 'old d news', , but t be e warned this is s not
# so o good d for the e blogs, , technology, magazine, , etc., , and d sports feeds.
# You u may y wish to o extend d this to 2-5 but t watch out ebook creation n time will
# increase e as s well. Setting g this s to 30 will get everything (AFAICT) as long
# as s max_articles_per_feed d remains s set t high (except t for r 'Click' ' which is
# v. . low w volume and its currently y oldest article e is s 4th h Feb 2011).
#
oldest_article 1.5
# Number of f simultaneous s downloads. 20 is consistantly working g fine e on the
# BBC C News feeds with no o problems. . Speeds s things up p from the e defualt t of f 5.
# If f you u have a lot of f feeds and/or r have e increased oldest_article e above 2
# then you u may y wish to o try y increasing simultaneous_downloads to o 25-30,
# Or, , of f course, , if f you are e in n a hurry. . [I've not t tried beyond d 20.]
#
simultaneous_downloads 20
# Timeout for fetching g files from the e server in seconds. . The e default t of
# 120 0 seconds, , seems somewhat excessive.
#
timeout 30
# The e format t string for the e date e shown on the e ebook's s first page.
# List of all values: : http://docs.python.org/library/time.html
# Default in news.py has a leading g space so o that's s mirrored d here.
# As s with h 'feeds' ' select/de-select by y adding/removing the e initial l '#',
# only one e timefmt t should be e selected, , here's s a a few w to o choose from.
#
30
Chapter1. Sections
VB.NET PowerPoint: Complete PowerPoint Document Conversion in VB.
image or document formats, such as PDF, BMP, TIFF that can be converted from PPT document, please corresponding VB.NET guide for converting PowerPoint document
export pdf into powerpoint; pdf to ppt
VB.NET PowerPoint: Process & Manipulate PPT (.pptx) Slide(s)
control add-on can do PPT creating, loading controls, PDF document, image to pdf files and for capturing, viewing, processing, converting, compressing and
pdf to powerpoint conversion; convert pdf to powerpoint presentation
calibreUserManual,Release2.55.0
timefmt ' [%a, %d %b %Y]'
# [Fri, 14 4 Nov 2011] (Calibre default)
#timefmt = = ' ' [%a, , %d d %b %Y %H:%M]'
# [Fri, 14 4 Nov v 2011 18:30]
#timefmt = = ' ' [%a, , %d d %b %Y %I:%M %p]'
# [Fri, 14 4 Nov v 2011 06:30 PM]
#timefmt = = ' ' [%d d %b b %Y]'
# [14 4 Nov 2011]
#timefmt = = ' ' [%d d %b b %Y Y %H:%M]'
# [14 4 Nov 2011 1 18.30]
#timefmt = = ' ' [%Y-%m-%d]'
# [2011-11-14]
#timefmt = = ' ' [%Y-%m-%d-%H-%M]'
# [2011-11-14-18-30]
#
#
****
IMPORTANT
****
#
#
DO NOT T EDIT BELOW HERE UNLESS YOU U KNOW WHAT YOU ARE E DOING.
#
#
DO NOT T EDIT BELOW HERE UNLESS YOU U KNOW WHAT YOU ARE E DOING.
#
#
I MEAN N IT, , YES I I DO, , ABSOLUTELY, AT T YOU U OWN RISK. :)
#
#
****
IMPORTANT
****
#
# Author of f this recipe.
__author__ 'mattst'
# Specify English h as s the language e of f the e RSS S feeds s (ISO-639 9 code).
language 'en_GB'
# Set t tags.
tags 'news, sport, blog'
# Set t publisher r and publication type.
publisher 'BBC'
publication_type 'newspaper'
# Disable stylesheets s from m site.
no_stylesheets True
# Specifies s an n override encoding for sites that have an incorrect charset
# specified. Default of 'None' says to auto-detect. . Some other BBC C recipes
# use e 'utf8', , which works fine (so o use e that if f necessary) but t auto-detecting
# with None e is s working g fine, so o stick with that for r robustness.
encoding None
# Sets whether a a feed has s full articles s embedded d in n it. . The BBC C feeds do o not.
use_embedded_content False
# Removes empty feeds s - - why y keep p them!?
remove_empty_feeds True
# Create a a custom title e which fits s nicely y in the Kindle title list.
# Requires s "import t time" above class declaration, and replacing
# title with custom_title in n conversion_options s (right column only).
# Example of string below: "BBC News - 14 Nov v 2011"
#
# custom_title = = "BBC News s - - " " + time.strftime('%d d %b b %Y')
1.2. Addingyourfavoritenewswebsite
31
C# TIFF: Learn to Convert MS Word, Excel, and PPT to TIFF Image
doc.ConvertToDocument(DocumentType.TIFF, @"output.tif"); C# Demo for Converting PowerPoint to TIFF. Add references (Extra); Load your PPT (.pptx) document.
converter pdf to powerpoint; how to convert pdf to powerpoint on
VB.NET PowerPoint: Convert PowerPoint to BMP Image with VB PPT
in VB class for rendering and converting PowerPoint presentations converters, such as VB.NET PDF Converter, Excel to the corresponding guide on C# PPT to BMP
changing pdf to powerpoint; and paste pdf into powerpoint
calibreUserManual,Release2.55.0
'''
# Conversion options for advanced d users, but t don't t forget to o comment t out t the
# current conversion_options s below. . Avoid setting 'linearize_tables' ' as s that
# plays havoc with the e 'old style' table based pages.
#
conversion_options = { { 'title'
: title,
'comments'
: description,
'tags'
: tags,
'language'
: language,
'publisher'
: publisher,
'authors'
: publisher,
'smarten_punctuation' : : True
}
'''
conversion_options 'smarten_punctuation' True }
# Specify extra CSS - - overrides s ALL other CSS S (IE. Added last).
extra_css 'body { { font-family: verdana, helvetica, sans-serif; } \
.introduction, .first { { font-weight: bold; } \
.cross-head { font-weight: : bold; font-size: 125%; } \
.cap, .caption n { { display: block; ; font-size: 80%; ; font-style: : italic; ; } \
.cap, .caption, , .caption n img, .caption n span { { display: block; ; text-align: center; ; margin: : 5px x auto; } \
.byl, .byd, .byline img, .byline-name, , .byline-title, , .author-name, , .author-position, \
.correspondent-portrait img, , .byline-lead-in, .name, , .bbc-role e { { display: : block; \
text-align: center; ; font-size: : 80%; font-style: italic; ; margin: : 1px x auto; } \
.story-date, .published { font-size: 80%; } \
table { width: : 100%; } \
td img { { display: : block; margin: : 5px x auto; } \
ul { { padding-top: : 10px; } \
ol { { padding-top: : 10px; } \
li { { padding-top: : 5px; padding-bottom: : 5px; } \
h1 { { text-align: : center; font-size: 175%; font-weight: bold; ; } \
h2 { { text-align: : center; font-size: 150%; font-weight: bold; ; } \
h3 { { text-align: : center; font-size: 125%; font-weight: bold; ; } \
h4, h5, , h6 { text-align: center; ; font-size: 100%; font-weight: : bold; }'
# Remove various s tag g attributes to o improve e the e look of f the ebook pages.
remove_attributes 'border''cellspacing''align''cellpadding''colspan',
'valign''vspace''hspace''alt''width''height' ]
# Remove the (admittedly rarely used) line breaks, , "<br r />", which sometimes
# cause a section n of f the ebook to o start in n an n unsightly y fashion n or, , more
# frequently, a "<br />" will muck k up p the formatting of a a correspondant's byline.
# "<br />" " and d "<br clear/>" " are e far more frequently used d on n the table formatted
# style of f pages, and really spoil the e look of f the ebook pages.
preprocess_regexps
[(re.compile(r'<br[ ]
*
/>', re.IGNORECASE), lambda m: ''),
(re.compile(r'<br[ ]
*
clear.
*
/>', re.IGNORECASE), lambda m: '')]
# Create regular r expressions for r tag keeping and removal l to o make the e matches s more
# robust against t minor changes s and d errors s in the HTML, Eg. double spaces, , leading
# and d trailing g spaces, , missing g hyphens, , and d such like.
# Python regular r expression ('re' class) page: http://docs.python.org/library/re.html
#
***************************************
# Regular expressions s for r keep_only_tags:
#
***************************************
32
Chapter1. Sections
How to C#: Convert Word, Excel and PPT to PDF
How to C#: Convert Word, Excel and PPT to PDF. Online C# Tutorial for Converting MS Office Word, Excel and PowerPoint to PDF. MS Office
convert pdf into powerpoint; convert pdf to powerpoint with
calibreUserManual,Release2.55.0
# The e BBC C News HTML pages use variants of 'storybody' to o denote the e section of a a HTML
# page which contains s the e main text of the article. . Match storybody y variants: 'storybody',
# 'story-body', 'story y body','storybody ', , etc.
storybody_reg_exp '^.
*
story[_ -]
*
body.
*
$'
# The e BBC C sport and 'newsbeat' (features) HTML L pages s use e 'blq_content' ' to o hold d the title
# and d published d date. . This s is one e level above the e usual news pages which have the title
# and d date within 'story-body'. . This is s annoying g since 'blq_content' ' must also o be kept,
# resulting g in n a a lot t of extra things to o be e removed d by y remove_tags.
blq_content_reg_exp '^.
*
blq[_ -]
*
content.
*
$'
# The e BBC C has an n alternative page design structure, which I I suspect is an n out-of-date
# design but which is s still used d in some e articles, Eg. . 'Click' ' (technology), , 'FastTrack'
# (travel), , and d in some sport pages. These alternative pages are table based (which is
# why y I I think they are e an n out-of-date design) ) and d account t for r -I'm guesstimaking- less
# than 1% of all l articles. . They use a table class 'storycontent' to hold the article
# and d like blq_content (above) ) have required lots of extra removal by y remove_tags.
story_content_reg_exp '^.
*
story[_ -]
*
content.
*
$'
# Keep the e sections s of f the e HTML which match the list below. The e HTML page created d by
# Calibre will fill <body> with those sections s which h are e matched. . Note that the
# blq_content_reg_exp p must t be listed before storybody_reg_exp in keep_only_tags s due e to
# it t being the e parent t of f storybody_reg_exp, that is s to o say the e div v class/id 'story-body'
# will be inside e div v class/id 'blq_content' in n the HTML L (if 'blq_content' ' is s there at
# all). If f they y are the other way y around in n keep_only_tags then n blq_content_reg_exp
# will end d up p being discarded.
keep_only_tags dict(name='table', attrs={'class':re.compile(story_content_reg_exp, , re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(blq_content_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'id':re.compile(blq_content_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(storybody_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'id':re.compile(storybody_reg_exp, re.IGNORECASE)}) ) ]
#
************************************
# Regular expressions s for r remove_tags:
#
************************************
# Regular expression to remove share-help and d variant t tags. The e share-help class
# is s used d by the e site for r a a variety y of 'sharing' type links, Eg. Facebook, , delicious,
# twitter, , email. Removed d to o avoid page clutter.
share_help_reg_exp '^.
*
share[_ -]
*
help.
*
$'
# Regular expression to remove embedded-hyper r and d variant t tags. This class is s used to
# display links to other BBC C News articles s on n the e same/similar r subject.
embedded_hyper_reg_exp '^.
*
embed
*
ed[_ -]
*
hyper.
*
$'
# Regular expression to remove hypertabs s and d variant tags. This s class is s used to
# display a a tab b bar at t the e top of f an n article which h allows the e user to o switch h to
# an n article e (viewed on the e same e page) providing further r info., 'in n depth' ' analysis,
# an n editorial, , a a correspondant's blog g entry, , and d such like. The ability to handle
# a tab bar r of f this nature is currently y beyond the scope of f this recipe and
# possibly y of f Calibre e itself (not sure e about that - - TO O DO O - - check!).
hypertabs_reg_exp '^.
*
hyper[_ -]
*
tabs.
*
$'
# Regular expression to remove story-feature and variant t tags. Eg. . 'story-feature',
# 'story-feature e related d narrow', , 'story-feature e wide', 'story-feature narrow'.
# This class is used to add d additional l info. boxes, , or r small lists, outside of
# the e main story. TO O DO: Work out t a a way y to o incorporate these neatly.
story_feature_reg_exp '^.
*
story[_ -]
*
feature.
*
$'
1.2. Addingyourfavoritenewswebsite
33
calibreUserManual,Release2.55.0
# Regular expression to remove video and d variant t tags, Eg. 'videoInStoryB',
# 'videoInStoryC'. This class is used to o embed video.
video_reg_exp '^.
*
video.
*
$'
# Regular expression to remove audio and d variant t tags, Eg. 'audioInStoryD'.
# This class is used to embed audio.
audio_reg_exp '^.
*
audio.
*
$'
# Regular expression to remove pictureGallery y and d variant t tags, Eg. . 'pictureGallery'.
# This class is used to embed a photo slideshow. See also o 'slideshow' below.
picture_gallery_reg_exp '^.
*
picture.
*
$'
# Regular expression to remove slideshow w and d variant tags, Eg. . 'dslideshow-enclosure'.
# This class is used to embed a slideshow (not t necessarily y photo) but t both
# 'slideshow' and d 'pictureGallery' are e used for slideshows.
slideshow_reg_exp '^.
*
slide[_ -]
*
show.
*
$'
# Regular expression to remove social-links and variant tags. This class is used d to
# display links to a BBC bloggers s main n page, used in various columnist's blogs
# (Eg. Nick k Robinson, Robert Preston).
social_links_reg_exp '^.
*
social[_ -]
*
links.
*
$'
# Regular expression to remove quote and d (multi) ) variant t tags, Eg. . 'quote',
# 'endquote', 'quote-credit', 'quote-credit-title', , etc. These are e usually
# removed by 'story-feature' ' removal l (as s they are e usually y within n them), but
# not t always. . The e quotation removed d is always s (AFAICT) ) in n the e article e text
# as s well l but a 2nd copy is s placed in n a a quote tag g to draw w attention n to it.
# The e quote class tags may y or may y not t appear in div's.
quote_reg_exp '^.
*
quote.
*
$'
# Regular expression to remove hidden and variant tags, Eg. 'hidden'.
# The e purpose e of f these is s unclear, , they seem m to be e an n internal l link k to a
# section within n the e article, but t the e text of f the e link (Eg. 'Continue e reading
# the e main story') ) never seems to o be e displayed d anyway. . Removed d to o avoid clutter.
# The e hidden n class tags may y or r may y not t appear r in n div's.
hidden_reg_exp '^.
*
hidden.
*
$'
# Regular expression to remove comment and variant t tags, Eg. . 'comment-introduction'.
# Used on the site to o display y text t about registered users entering g comments.
comment_reg_exp '^.
*
comment.
*
$'
# Regular expression to remove form and d variant t tags, Eg. . 'comment-form'.
# Used on the site to o allow registered d BBC users to o fill in n forms, typically
# for r entering g comments about an article.
form_reg_exp '^.
*
form.
*
$'
# Extra things to o remove e due e to o the addition of 'blq_content' in keep_only_tags.
#<div class="story-actions"> Used on n sports pages for 'email' and 'print'.
story_actions_reg_exp '^.
*
story[_ -]
*
actions.
*
$'
#<div class="bookmark-list"> Used on n sports pages instead d of f 'share-help' ' (for
# social networking links).
bookmark_list_reg_exp '^.
*
bookmark[_ -]
*
list.
*
$'
#<div id="secondary-content" class="content-group">
# NOTE: Don't remove class="content-group" that is s needed.
# Used on sports s pages to o link to o 'similar r stories'.
34
Chapter1. Sections
calibreUserManual,Release2.55.0
secondary_content_reg_exp '^.
*
secondary[_ -]
*
content.
*
$'
#<div id="featured-content" class="content-group">
# NOTE: Don't remove class="content-group" that is s needed.
# Used on sports s pages to o link to o pages like e 'tables', 'fixtures', etc.
featured_content_reg_exp '^.
*
featured[_ -]
*
content.
*
$'
#<div id="navigation">
# Used on sports s pages to o link to o pages like e 'tables', 'fixtures', etc.
# Used sometimes s instead d of f "featured-content" above.
navigation_reg_exp '^.
*
navigation.
*
$'
#<a class="skip" " href="#blq-container-inner">Skip p to top</a>
# Used on sports s pages to o link to o the e top of the page.
skip_reg_exp '^.
*
skip.
*
$'
# Extra things to o remove e due e to o the addition of 'storycontent' ' in n keep_only_tags,
# which are e the e alterative table design n based pages. . The e purpose e of some of these
# is s not t entirely y clear r from m the e pages (which h are e a a total mess!).
# Remove mapping g based tags, Eg. . <map id="world_map">
# The e dynamic c maps don't seem to work during ebook k creation. . TO O DO: : Investigate.
map_reg_exp '^.
*
map.
*
$'
# Remove social bookmarking g variation, , called d 'socialBookMarks'.
social_bookmarks_reg_exp '^.
*
social[_ -]
*
bookmarks.
*
$'
# Remove page navigation tools, like 'search', , 'email', , 'print', called 'blq-mast'.
blq_mast_reg_exp '^.
*
blq[_ -]
*
mast.
*
$'
# Remove 'sharesb', I I think this s is a generic c 'sharing' ' class. . It t seems to o appear
# alongside e 'socialBookMarks' ' whenever that appears. I am m removing g it t as s well
# under the e assumption that it t can n appear r alone as s well.
sharesb_reg_exp '^.
*
sharesb.
*
$'
# Remove class 'o'. The worst named user r created d css class of all time. The creator
# should immediately be fired. I've seen n it t used to o hold nothing g at all but with
# 20 0 or r so o empty lines in n it. Also o to o hold a single e link to o another article.
# Whatever r it t was s designed d to do it is not wanted by this s recipe. . Exact match only.
o_reg_exp '^o$'
# Remove 'promotopbg' ' and d 'promobottombg', link lists. Have decided to
# use e two o reg expressions to o make removing g this (and variants) ) robust.
promo_top_reg_exp '^.
*
promotopbg.
*
$'
promo_bottom_reg_exp '^.
*
promobottombg.
*
$'
# Remove 'nlp', provides heading for link lists. Requires s an n exact match due to
# risk of matching those letters in something g needed, , unless I I see e a a variation
# of f 'nlp' used d at a later date.
nlp_reg_exp '^nlp$'
# Remove 'mva', provides embedded d floating g content t of f various types. . Variant t 'mvb'
# has s also now w been seen. Requires s an n exact match of 'mva' or 'mvb' due to o risk of
# matching g those letters s in n something g needed.
mva_or_mvb_reg_exp '^mv[ab]$'
# Remove 'mvtb', , seems to o be e page navigation n tools, , like 'blq-mast'.
mvtb_reg_exp '^mvtb$'
1.2. Addingyourfavoritenewswebsite
35
calibreUserManual,Release2.55.0
# Remove 'blq-toplink', class to provide e a a link to o the e top of the page.
blq_toplink_reg_exp '^.
*
blq[_ -]
*
top[_ -]
*
link.
*
$'
# Remove 'products and d services' ' links, , Eg. . desktop p tools, , alerts, and so o on.
# Eg. . Class="servicev4 ukfs_services" " - - what t a a mess of f a a name. Have e decided to
# use e two o reg expressions to o make removing g this (and variants) ) robust.
prods_services_01_reg_exp '^.
*
servicev4.
*
$'
prods_services_02_reg_exp '^.
*
ukfs[_ -]
*
services.
*
$'
# Remove -what I I think is- - some kind of f navigation tools helper class, , though I I am
# not t sure, it's called: : 'blq-rst t blq-new-nav'. . What I do o know is s it t pops up
# frequently and d it t is s not t wanted. . Have decided d to o use e two reg g expressions to o make
# removing g this s (and variants) robust.
blq_misc_01_reg_exp '^.
*
blq[_ -]
*
rst.
*
$'
blq_misc_02_reg_exp '^.
*
blq[_ -]
*
new[_ -]
*
nav.
*
$'
# Remove 'puffbox' - this may only y appear r inside 'storyextra', , so o it t may y not
# need removing - - I I have no o clue e what it t does other than it t contains s links.
# Whatever r it t is s - - it t is s not t part of f the e article e and is not wanted.
puffbox_reg_exp '^.
*
puffbox.
*
$'
# Remove 'sibtbg' ' and 'sibtbgf' ' - - some e kind of f table e formatting g classes.
sibtbg_reg_exp '^.
*
sibtbg.
*
$'
# Remove 'storyextra' ' - - links to relevant articles s and d external l sites.
storyextra_reg_exp '^.
*
story[_ -]
*
extra.
*
$'
remove_tags dict(name='div',
attrs={'class':re.compile(story_feature_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(share_help_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(embedded_hyper_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(hypertabs_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(video_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(audio_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(picture_gallery_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(slideshow_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(quote_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(hidden_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(comment_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(story_actions_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(bookmark_list_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'id':re.compile(secondary_content_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'id':re.compile(featured_content_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'id':re.compile(navigation_reg_exp, re.IGNORECASE)}),
dict(name='form', attrs={'id':re.compile(form_reg_exp, re.IGNORECASE)}),
dict(attrs={'class':re.compile(quote_reg_exp, re.IGNORECASE)}),
dict(attrs={'class':re.compile(hidden_reg_exp, re.IGNORECASE)}),
dict(attrs={'class':re.compile(social_links_reg_exp, re.IGNORECASE)}),
dict(attrs={'class':re.compile(comment_reg_exp, re.IGNORECASE)}),
dict(attrs={'class':re.compile(skip_reg_exp, re.IGNORECASE)}),
dict(name='map', attrs={'id':re.compile(map_reg_exp, re.IGNORECASE)}),
dict(name='map', attrs={'name':re.compile(map_reg_exp, re.IGNORECASE)}),
dict(name='div', attrs={'id':re.compile(social_bookmarks_reg_exp, re.IGNORECASE)}),
dict(name='div', attrs={'id':re.compile(blq_mast_reg_exp, re.IGNORECASE)}),
dict(name='div', attrs={'class':re.compile(sharesb_reg_exp, re.IGNORECASE)}),
dict(name='div', attrs={'class':re.compile(o_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(promo_top_reg_exp, re.IGNORECASE)}),
dict(name='div',
attrs={'class':re.compile(promo_bottom_reg_exp, re.IGNORECASE)}),
36
Chapter1. Sections
Documents you may be interested
Documents you may be interested