mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Add an option to not condense CSS
Conversion: Add an option to not condense CSS rules for margin, padding, border, etc. Option is under the Look & Feel section of the conversion dialog. Fixes #1233220 [Feature request: allow margin-top, margin-left, etc. when converting, instead of shortcut margin property](https://bugs.launchpad.net/calibre/+bug/1233220)
This commit is contained in:
parent
038a9d99dc
commit
f4f66cf42d
@ -141,7 +141,7 @@ def add_pipeline_options(parser, plumber):
|
|||||||
'subset_embedded_fonts', 'embed_all_fonts',
|
'subset_embedded_fonts', 'embed_all_fonts',
|
||||||
'line_height', 'minimum_line_height',
|
'line_height', 'minimum_line_height',
|
||||||
'linearize_tables',
|
'linearize_tables',
|
||||||
'extra_css', 'filter_css',
|
'extra_css', 'filter_css', 'expand_css',
|
||||||
'smarten_punctuation', 'unsmarten_punctuation',
|
'smarten_punctuation', 'unsmarten_punctuation',
|
||||||
'margin_top', 'margin_left', 'margin_right',
|
'margin_top', 'margin_left', 'margin_right',
|
||||||
'margin_bottom', 'change_justification',
|
'margin_bottom', 'change_justification',
|
||||||
|
@ -54,7 +54,7 @@ class OEBOutput(OutputFormatPlugin):
|
|||||||
f.write(raw)
|
f.write(raw)
|
||||||
|
|
||||||
for item in oeb_book.manifest:
|
for item in oeb_book.manifest:
|
||||||
if item.media_type in OEB_STYLES and hasattr(item.data, 'cssText'):
|
if not self.opts.expand_css and item.media_type in OEB_STYLES and hasattr(item.data, 'cssText'):
|
||||||
condense_sheet(item.data)
|
condense_sheet(item.data)
|
||||||
path = os.path.abspath(unquote(item.href))
|
path = os.path.abspath(unquote(item.href))
|
||||||
dir = os.path.dirname(path)
|
dir = os.path.dirname(path)
|
||||||
|
@ -363,6 +363,14 @@ OptionRecommendation(name='filter_css',
|
|||||||
'font-family,color,margin-left,margin-right')
|
'font-family,color,margin-left,margin-right')
|
||||||
),
|
),
|
||||||
|
|
||||||
|
OptionRecommendation(name='expand_css',
|
||||||
|
recommended_value=False, level=OptionRecommendation.LOW,
|
||||||
|
help=_(
|
||||||
|
'By default, calibre will use the shorthand form for various'
|
||||||
|
' css properties such as margin, padding, border, etc. This'
|
||||||
|
' option will cause it to use the full expanded form instead.')
|
||||||
|
),
|
||||||
|
|
||||||
OptionRecommendation(name='page_breaks_before',
|
OptionRecommendation(name='page_breaks_before',
|
||||||
recommended_value="//*[name()='h1' or name()='h2']",
|
recommended_value="//*[name()='h1' or name()='h2']",
|
||||||
level=OptionRecommendation.LOW,
|
level=OptionRecommendation.LOW,
|
||||||
|
@ -151,7 +151,7 @@ class KF8Writer(object):
|
|||||||
|
|
||||||
for item in self.oeb.manifest:
|
for item in self.oeb.manifest:
|
||||||
if item.media_type in OEB_STYLES:
|
if item.media_type in OEB_STYLES:
|
||||||
if hasattr(item.data, 'cssText'):
|
if not self.opts.expand_css and hasattr(item.data, 'cssText'):
|
||||||
condense_sheet(self.data(item))
|
condense_sheet(self.data(item))
|
||||||
data = self.data(item).cssText
|
data = self.data(item).cssText
|
||||||
sheets[item.href] = len(self.flows)
|
sheets[item.href] = len(self.flows)
|
||||||
|
@ -38,7 +38,7 @@ class LookAndFeelWidget(Widget, Ui_Form):
|
|||||||
'remove_paragraph_spacing',
|
'remove_paragraph_spacing',
|
||||||
'remove_paragraph_spacing_indent_size',
|
'remove_paragraph_spacing_indent_size',
|
||||||
'insert_blank_line_size',
|
'insert_blank_line_size',
|
||||||
'input_encoding', 'filter_css',
|
'input_encoding', 'filter_css', 'expand_css',
|
||||||
'asciiize', 'keep_ligatures',
|
'asciiize', 'keep_ligatures',
|
||||||
'linearize_tables']
|
'linearize_tables']
|
||||||
)
|
)
|
||||||
|
@ -21,13 +21,6 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="12" column="3">
|
|
||||||
<widget class="QCheckBox" name="opt_linearize_tables">
|
|
||||||
<property name="text">
|
|
||||||
<string>&Linearize tables</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QLabel" name="label_18">
|
<widget class="QLabel" name="label_18">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -125,13 +118,6 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="11" column="1" colspan="4">
|
|
||||||
<widget class="QCheckBox" name="opt_asciiize">
|
|
||||||
<property name="text">
|
|
||||||
<string>&Transliterate unicode characters to ASCII</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="12" column="0">
|
<item row="12" column="0">
|
||||||
<widget class="QCheckBox" name="opt_unsmarten_punctuation">
|
<widget class="QCheckBox" name="opt_unsmarten_punctuation">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -422,6 +408,27 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="11" column="1" colspan="2">
|
||||||
|
<widget class="QCheckBox" name="opt_asciiize">
|
||||||
|
<property name="text">
|
||||||
|
<string>&Transliterate unicode characters to ASCII</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="11" column="3" colspan="2">
|
||||||
|
<widget class="QCheckBox" name="opt_expand_css">
|
||||||
|
<property name="text">
|
||||||
|
<string>E&xpand CSS</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="12" column="3" colspan="2">
|
||||||
|
<widget class="QCheckBox" name="opt_linearize_tables">
|
||||||
|
<property name="text">
|
||||||
|
<string>&Linearize tables</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user