diff --git a/Changelog.old.yaml b/Changelog.old.yaml index 0d556d99e0..0bdd7ba746 100644 --- a/Changelog.old.yaml +++ b/Changelog.old.yaml @@ -478,7 +478,7 @@ type: major description : > "You can now save your frequently used searches and access them with a single click. For details - see http://calibre-ebook.com/user_manual/gui.html#search-sort" + see http://manual.calibre-ebook.com/gui.html#search-sort" - title: "Add searching by date/published date" tickets: [5244] diff --git a/Changelog.yaml b/Changelog.yaml index 48770df7ab..ee3d240115 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -584,7 +584,7 @@ - title: "FB2 Output: Option to set the FB2 genre explicitly." tickets: [743178] - - title: "Plugin developers: calibre now has a new plugin API, see http://calibre-ebook.com/user_manual/creating_plugins.html. Your existing plugins should continue to work, but it would be good to test them to make sure." + - title: "Plugin developers: calibre now has a new plugin API, see http://manual.calibre-ebook.com/creating_plugins.html. Your existing plugins should continue to work, but it would be good to test them to make sure." bug fixes: - title: "Fix text color in the search bar set to black instead of the system font color" @@ -969,7 +969,7 @@ new features: - title: "Tag Browser: Support the creation of nested User Categories" - description: "See http://calibre-ebook.com/user_manual/gui.html#tag-browser for details" + description: "See http://manual.calibre-ebook.com/gui.html#tag-browser for details" type: major - title: "Disable Kent District Library plugin to download series information. The website could not handle the load calibre's 2 million users put on it. You can manually re-enable it if you really want series information, but it is very slow" @@ -3842,7 +3842,7 @@ 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" + do this are at: http://manual.calibre-ebook.com/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." diff --git a/INSTALL b/INSTALL index 93b119b2e1..0520ef1e38 100644 --- a/INSTALL +++ b/INSTALL @@ -3,7 +3,7 @@ calibre supports installation from source, only on Linux. Note that you *do not* need to install from source to hack on the calibre source code. To get started with calibre development, use a normal calibre install and follow the instructions at -http://calibre-ebook.com/user_manual/develop.html +http://manual.calibre-ebook.com/develop.html On Linux, there are two kinds of installation from source possible. Note that both kinds require lots of dependencies as well as a diff --git a/README b/README index b518e977c8..2ffab4e2f6 100644 --- a/README +++ b/README @@ -6,8 +6,8 @@ reading. It is cross platform, running on Linux, Windows and OS X. For screenshots: https://calibre-ebook.com/demo -For installation/usage instructions please see -http://calibre-ebook.com/user_manual +For usage instructions please see +http://manual.calibre-ebook.com For source code access: bzr branch lp:calibre diff --git a/icons/favicon.ico b/icons/favicon.ico new file mode 100644 index 0000000000..433b4f2d51 Binary files /dev/null and b/icons/favicon.ico differ diff --git a/setup/installer/windows/wix-template.xml b/setup/installer/windows/wix-template.xml index 8526c27720..d4bfbc3c7c 100644 --- a/setup/installer/windows/wix-template.xml +++ b/setup/installer/windows/wix-template.xml @@ -69,7 +69,7 @@ WorkingDirectory="APPLICATIONROOTDIRECTORY" /> + Target="http://manual.calibre-ebook.com"/> diff --git a/setup/upload.py b/setup/upload.py index e448bc11e4..a0138a42e4 100644 --- a/setup/upload.py +++ b/setup/upload.py @@ -16,7 +16,7 @@ from setup import Command, __version__, installer_name, __appname__ PREFIX = "/var/www/calibre-ebook.com" DOWNLOADS = PREFIX+"/htdocs/downloads" BETAS = DOWNLOADS +'/betas' -USER_MANUAL = PREFIX+'/htdocs/user_manual' +USER_MANUAL = '/var/www/localhost/htdocs/' HTML2LRF = "calibre/ebooks/lrf/html/demo" TXT2LRF = "src/calibre/ebooks/lrf/txt/demo" MOBILEREAD = 'ftp://dev.mobileread.com/calibre/' @@ -365,7 +365,7 @@ class UploadUserManual(Command): # {{{ self.build_plugin_example(x) check_call(' '.join(['scp', '-r', 'src/calibre/manual/.build/html/*', - 'divok:%s'%USER_MANUAL]), shell=True) + 'bugs:%s'%USER_MANUAL]), shell=True) # }}} class UploadDemo(Command): # {{{ diff --git a/src/calibre/ebooks/conversion/cli.py b/src/calibre/ebooks/conversion/cli.py index b03887469d..1767019972 100644 --- a/src/calibre/ebooks/conversion/cli.py +++ b/src/calibre/ebooks/conversion/cli.py @@ -40,7 +40,7 @@ To get help on them specify the input and output file and then use the -h \ option. For full documentation of the conversion system see -''') + 'http://calibre-ebook.com/user_manual/conversion.html' +''') + 'http://manual.calibre-ebook.com/conversion.html' HEURISTIC_OPTIONS = ['markup_chapter_headings', 'italicize_common_cases', 'fix_indents', diff --git a/src/calibre/ebooks/metadata/book/base.py b/src/calibre/ebooks/metadata/book/base.py index ceb6751238..5dc3f25dfb 100644 --- a/src/calibre/ebooks/metadata/book/base.py +++ b/src/calibre/ebooks/metadata/book/base.py @@ -628,6 +628,12 @@ class Metadata(object): res = _('Yes') if res else _('No') elif datatype == 'rating': res = res/2.0 + elif datatype in ['int', 'float']: + try: + fmt = cmeta['display'].get('number_format', None) + res = fmt.format(res) + except: + pass return (name, unicode(res), orig_res, cmeta) # convert top-level ids into their value diff --git a/src/calibre/gui2/actions/help.py b/src/calibre/gui2/actions/help.py index 2294daf4bb..7d5851c83d 100644 --- a/src/calibre/gui2/actions/help.py +++ b/src/calibre/gui2/actions/help.py @@ -19,7 +19,7 @@ class HelpAction(InterfaceAction): self.qaction.triggered.connect(self.show_help) def show_help(self, *args): - open_url(QUrl('http://calibre-ebook.com/user_manual')) + open_url(QUrl('http://manual.calibre-ebook.com')) diff --git a/src/calibre/gui2/convert/font_key.ui b/src/calibre/gui2/convert/font_key.ui index 6c8ad2be01..07e0cb0f11 100644 --- a/src/calibre/gui2/convert/font_key.ui +++ b/src/calibre/gui2/convert/font_key.ui @@ -33,7 +33,7 @@ <p>This wizard will help you choose an appropriate font size key for your needs. Just enter the base font size of the input document and then enter an input font size. The wizard will display what font size it will be mapped to, by the font rescaling algorithm. You can adjust the algorithm by adjusting the output base font size and font key below. When you find values suitable for you, click OK.</p> <p>By default, if the output base font size is zero and/or no font size key is specified, calibre will use the values from the current Output Profile. </p> -<p>See the <a href="http://calibre-ebook.com/user_manual/conversion.html#font-size-rescaling">User Manual</a> for a discussion of how font size rescaling works.</p> +<p>See the <a href="http://manual.calibre-ebook.com/conversion.html#font-size-rescaling">User Manual</a> for a discussion of how font size rescaling works.</p> true diff --git a/src/calibre/gui2/convert/heuristics.ui b/src/calibre/gui2/convert/heuristics.ui index 46d62061af..403321494a 100644 --- a/src/calibre/gui2/convert/heuristics.ui +++ b/src/calibre/gui2/convert/heuristics.ui @@ -17,7 +17,7 @@ - <b>Heuristic processing</b> means that calibre will scan your book for common patterns and fix them. As the name implies, this involves guesswork, which means that it could end up worsening the result of a conversion, if calibre guesses wrong. Therefore, it is disabled by default. Often, if a conversion does not turn out as you expect, turning on heuristics can improve matters. Read more about the various heuristic processing options in the <a href="http://calibre-ebook.com/user_manual/conversion.html#heuristic-processing">User Manual</a>. + <b>Heuristic processing</b> means that calibre will scan your book for common patterns and fix them. As the name implies, this involves guesswork, which means that it could end up worsening the result of a conversion, if calibre guesses wrong. Therefore, it is disabled by default. Often, if a conversion does not turn out as you expect, turning on heuristics can improve matters. Read more about the various heuristic processing options in the <a href="http://manual.calibre-ebook.com/conversion.html#heuristic-processing">User Manual</a>. true diff --git a/src/calibre/gui2/convert/search_and_replace.ui b/src/calibre/gui2/convert/search_and_replace.ui index b7447f8feb..03a74b5ebd 100644 --- a/src/calibre/gui2/convert/search_and_replace.ui +++ b/src/calibre/gui2/convert/search_and_replace.ui @@ -188,7 +188,7 @@ - <p>Search and replace uses <i>regular expressions</i>. See the <a href="http://calibre-ebook.com/user_manual/regexp.html">regular expressions tutorial</a> to get started with regular expressions. Also clicking the wizard buttons below will allow you to test your regular expression against the current input document. + <p>Search and replace uses <i>regular expressions</i>. See the <a href="http://manual.calibre-ebook.com/regexp.html">regular expressions tutorial</a> to get started with regular expressions. Also clicking the wizard buttons below will allow you to test your regular expression against the current input document. true diff --git a/src/calibre/gui2/convert/xpath_wizard.ui b/src/calibre/gui2/convert/xpath_wizard.ui index 52985653fe..5e112e1fcd 100644 --- a/src/calibre/gui2/convert/xpath_wizard.ui +++ b/src/calibre/gui2/convert/xpath_wizard.ui @@ -127,7 +127,7 @@ - <p>For example, to match all h2 tags that have class="chapter", set tag to <i>h2</i>, attribute to <i>class</i> and value to <i>chapter</i>.</p><p>Leaving attribute blank will match any attribute and leaving value blank will match any value. Setting tag to * will match any tag.</p><p>To learn more advanced usage of XPath see the <a href="http://calibre-ebook.com/user_manual/xpath.html">XPath Tutorial</a>. + <p>For example, to match all h2 tags that have class="chapter", set tag to <i>h2</i>, attribute to <i>class</i> and value to <i>chapter</i>.</p><p>Leaving attribute blank will match any attribute and leaving value blank will match any value. Setting tag to * will match any tag.</p><p>To learn more advanced usage of XPath see the <a href="http://manual.calibre-ebook.com/xpath.html">XPath Tutorial</a>. true diff --git a/src/calibre/gui2/dialogs/search.ui b/src/calibre/gui2/dialogs/search.ui index eb6fffdb60..f3f96547bd 100644 --- a/src/calibre/gui2/dialogs/search.ui +++ b/src/calibre/gui2/dialogs/search.ui @@ -177,7 +177,7 @@ - See the <a href="http://calibre-ebook.com/user_manual/gui.html#the-search-interface">User Manual</a> for more help + See the <a href="http://manual.calibre-ebook.com/gui.html#the-search-interface">User Manual</a> for more help true diff --git a/src/calibre/gui2/dialogs/user_profiles.ui b/src/calibre/gui2/dialogs/user_profiles.ui index 7631c74768..6493846c2b 100644 --- a/src/calibre/gui2/dialogs/user_profiles.ui +++ b/src/calibre/gui2/dialogs/user_profiles.ui @@ -386,7 +386,7 @@ p, li { white-space: pre-wrap; } - For help with writing advanced news recipes, please visit <a href="http://__appname__-ebook.com/user_manual/news.html">User Recipes</a> + For help with writing advanced news recipes, please visit <a href="http://manual.__appname__-ebook.com/news.html">User Recipes</a> true diff --git a/src/calibre/gui2/filename_pattern.ui b/src/calibre/gui2/filename_pattern.ui index c8a9b4f6f6..b86db0fa75 100644 --- a/src/calibre/gui2/filename_pattern.ui +++ b/src/calibre/gui2/filename_pattern.ui @@ -19,7 +19,7 @@ <div style="font-size:10pt;"> <p>Set a regular expression pattern to use when trying to guess ebook metadata from filenames. </p> -<p>A <a href="http://calibre-ebook.com/user_manual/regexp.html">tutorial</a> on using regular expressions is available.</p> +<p>A <a href="http://manual.calibre-ebook.com/regexp.html">tutorial</a> on using regular expressions is available.</p> <p>Use the <b>Test</b> functionality below to test your regular expression on a few sample filenames (remember to include the file extension). The group names for the various metadata entries are documented in tooltips.</p></div> diff --git a/src/calibre/gui2/library/delegates.py b/src/calibre/gui2/library/delegates.py index 50c411aaa4..6990a76b21 100644 --- a/src/calibre/gui2/library/delegates.py +++ b/src/calibre/gui2/library/delegates.py @@ -249,6 +249,23 @@ class CcDateDelegate(QStyledItemDelegate): # {{{ # }}} class CcTextDelegate(QStyledItemDelegate): # {{{ + ''' + Delegate for text data. + ''' + + def createEditor(self, parent, option, index): + m = index.model() + col = m.column_map[index.column()] + editor = MultiCompleteLineEdit(parent) + editor.set_separator(None) + complete_items = sorted(list(m.db.all_custom(label=m.db.field_metadata.key_to_label(col))), + key=sort_key) + editor.update_items_cache(complete_items) + return editor + +# }}} + +class CcNumberDelegate(QStyledItemDelegate): # {{{ ''' Delegate for text/int/float data. ''' @@ -256,25 +273,23 @@ class CcTextDelegate(QStyledItemDelegate): # {{{ def createEditor(self, parent, option, index): m = index.model() col = m.column_map[index.column()] - typ = m.custom_columns[col]['datatype'] - if typ == 'int': + if m.custom_columns[col]['datatype'] == 'int': editor = QSpinBox(parent) editor.setRange(-100, 100000000) editor.setSpecialValueText(_('Undefined')) editor.setSingleStep(1) - elif typ == 'float': + else: editor = QDoubleSpinBox(parent) editor.setSpecialValueText(_('Undefined')) editor.setRange(-100., 100000000) editor.setDecimals(2) - else: - editor = MultiCompleteLineEdit(parent) - editor.set_separator(None) - complete_items = sorted(list(m.db.all_custom(label=m.db.field_metadata.key_to_label(col))), - key=sort_key) - editor.update_items_cache(complete_items) return editor + def setEditorData(self, editor, index): + m = index.model() + val = m.db.data[index.row()][m.custom_columns[m.column_map[index.column()]]['rec_index']] + editor.setValue(val) + # }}} class CcEnumDelegate(QStyledItemDelegate): # {{{ diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index 86c5871193..554b104c34 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -623,7 +623,12 @@ class BooksModel(QAbstractTableModel): # {{{ return None return QVariant(text) - def number_type(r, idx=-1): + def number_type(r, idx=-1, fmt=None): + if fmt is not None: + try: + return QVariant(fmt.format(self.db.data[r][idx])) + except: + pass return QVariant(self.db.data[r][idx]) self.dc = { @@ -674,7 +679,8 @@ class BooksModel(QAbstractTableModel): # {{{ bool_cols_are_tristate= self.db.prefs.get('bools_are_tristate')) elif datatype in ('int', 'float'): - self.dc[col] = functools.partial(number_type, idx=idx) + fmt = self.custom_columns[col]['display'].get('number_format', None) + self.dc[col] = functools.partial(number_type, idx=idx, fmt=fmt) elif datatype == 'datetime': self.dc[col] = functools.partial(datetime_type, idx=idx) elif datatype == 'bool': diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index 1cfb04921d..f59473851f 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -15,7 +15,7 @@ from PyQt4.Qt import QTableView, Qt, QAbstractItemView, QMenu, pyqtSignal, \ from calibre.gui2.library.delegates import RatingDelegate, PubDateDelegate, \ TextDelegate, DateDelegate, CompleteDelegate, CcTextDelegate, \ CcBoolDelegate, CcCommentsDelegate, CcDateDelegate, CcTemplateDelegate, \ - CcEnumDelegate + CcEnumDelegate, CcNumberDelegate from calibre.gui2.library.models import BooksModel, DeviceBooksModel from calibre.utils.config import tweaks, prefs from calibre.gui2 import error_dialog, gprefs @@ -89,6 +89,7 @@ class BooksView(QTableView): # {{{ self.cc_bool_delegate = CcBoolDelegate(self) self.cc_comments_delegate = CcCommentsDelegate(self) self.cc_template_delegate = CcTemplateDelegate(self) + self.cc_number_delegate = CcNumberDelegate(self) self.display_parent = parent self._model = modelcls(self) self.setModel(self._model) @@ -501,8 +502,10 @@ class BooksView(QTableView): # {{{ self.tags_delegate) else: self.setItemDelegateForColumn(cm.index(colhead), self.cc_text_delegate) - elif cc['datatype'] in ('series', 'int', 'float'): + elif cc['datatype'] == 'series': self.setItemDelegateForColumn(cm.index(colhead), self.cc_text_delegate) + elif cc['datatype'] in ('int', 'float'): + self.setItemDelegateForColumn(cm.index(colhead), self.cc_number_delegate) elif cc['datatype'] == 'bool': self.setItemDelegateForColumn(cm.index(colhead), self.cc_bool_delegate) elif cc['datatype'] == 'rating': diff --git a/src/calibre/gui2/preferences/create_custom_column.py b/src/calibre/gui2/preferences/create_custom_column.py index 3a245580dd..8eaa2dd7d9 100644 --- a/src/calibre/gui2/preferences/create_custom_column.py +++ b/src/calibre/gui2/preferences/create_custom_column.py @@ -127,6 +127,9 @@ class CreateCustomColumn(QDialog, Ui_QCreateCustomColumn): elif ct == 'enumeration': self.enum_box.setText(','.join(c['display'].get('enum_values', []))) self.enum_colors.setText(','.join(c['display'].get('enum_colors', []))) + elif ct in ['int', 'float']: + if c['display'].get('number_format', None): + self.number_format_box.setText(c['display'].get('number_format', '')) self.datatype_changed() if ct in ['text', 'composite', 'enumeration']: self.use_decorations.setChecked(c['display'].get('use_decorations', False)) @@ -171,6 +174,7 @@ class CreateCustomColumn(QDialog, Ui_QCreateCustomColumn): col_type = None for x in ('box', 'default_label', 'label'): getattr(self, 'date_format_'+x).setVisible(col_type == 'datetime') + getattr(self, 'number_format_'+x).setVisible(col_type in ['int', 'float']) for x in ('box', 'default_label', 'label', 'sort_by', 'sort_by_label', 'make_category'): getattr(self, 'composite_'+x).setVisible(col_type in ['composite', '*composite']) @@ -178,6 +182,18 @@ class CreateCustomColumn(QDialog, Ui_QCreateCustomColumn): getattr(self, 'enum_'+x).setVisible(col_type == 'enumeration') self.use_decorations.setVisible(col_type in ['text', 'composite', 'enumeration']) self.is_names.setVisible(col_type == '*text') + if col_type == 'int': + self.number_format_box.setToolTip('

' + + _('Examples: The format {0:0>4d} ' + 'gives a 4-digit number with leading zeros. The format ' + '{0:d} days prints the number then the word "days"')+ '

') + elif col_type == 'float': + self.number_format_box.setToolTip('

' + + _('Examples: The format {0:.1f} gives a floating ' + 'point number with 1 digit after the decimal point. The format ' + 'Price: $ {0:,.2f} prints ' + '"Price $ " then displays the number with 2 digits ' + 'after the decimal point and thousands separated by commas.') + '

') def accept(self): col = unicode(self.column_name_box.text()).strip() @@ -267,6 +283,11 @@ class CreateCustomColumn(QDialog, Ui_QCreateCustomColumn): display_dict = {'enum_values': l, 'enum_colors': c} elif col_type == 'text' and is_multiple: display_dict = {'is_names': self.is_names.isChecked()} + elif col_type in ['int', 'float']: + if unicode(self.number_format_box.text()).strip(): + display_dict = {'number_format':unicode(self.number_format_box.text()).strip()} + else: + display_dict = {'number_format': None} if col_type in ['text', 'composite', 'enumeration'] and not is_multiple: display_dict['use_decorations'] = self.use_decorations.checkState() diff --git a/src/calibre/gui2/preferences/create_custom_column.ui b/src/calibre/gui2/preferences/create_custom_column.ui index 2bdadd4b9d..cedbfd72b8 100644 --- a/src/calibre/gui2/preferences/create_custom_column.ui +++ b/src/calibre/gui2/preferences/create_custom_column.ui @@ -171,6 +171,16 @@ Everything else will show nothing.
+ + + + + 0 + 0 + + + + @@ -181,6 +191,21 @@ Everything else will show nothing. + + + + <p>The format specifier must begin with <code>{0:</code> +and end with <code>}</code> You can have text before and after the format specifier. + + + + <p>Default: Not formatted. For format language details see <a href="http://docs.python.org/library/string.html#format-string-syntax">the python documentation</a> + + + true + + +
@@ -193,6 +218,16 @@ Everything else will show nothing.
+ + + + Format for &numbers + + + number_format_box + + + diff --git a/src/calibre/gui2/preferences/look_feel.py b/src/calibre/gui2/preferences/look_feel.py index 49bfb1df1a..b6e6de1902 100644 --- a/src/calibre/gui2/preferences/look_feel.py +++ b/src/calibre/gui2/preferences/look_feel.py @@ -164,7 +164,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): 'library view. Choose the column you wish to color, then ' 'supply a template that specifies the color to use based on ' 'the values in the column. There is a ' - '' + '' 'tutorial on using templates.') + '

' + _('If you want to color a field based on tags, then click the ' diff --git a/src/calibre/gui2/store/config/chooser/adv_search_builder.ui b/src/calibre/gui2/store/config/chooser/adv_search_builder.ui index 3ace8ef04e..63cf596bea 100644 --- a/src/calibre/gui2/store/config/chooser/adv_search_builder.ui +++ b/src/calibre/gui2/store/config/chooser/adv_search_builder.ui @@ -149,7 +149,7 @@ - See the <a href="http://calibre-ebook.com/user_manual/gui.html#the-search-interface">User Manual</a> for more help + See the <a href="http://manual.calibre-ebook.com/gui.html#the-search-interface">User Manual</a> for more help true diff --git a/src/calibre/gui2/store/search/adv_search_builder.ui b/src/calibre/gui2/store/search/adv_search_builder.ui index e07c3d7d48..ab12dbbc00 100644 --- a/src/calibre/gui2/store/search/adv_search_builder.ui +++ b/src/calibre/gui2/store/search/adv_search_builder.ui @@ -149,7 +149,7 @@ - See the <a href="http://calibre-ebook.com/user_manual/gui.html#the-search-interface">User Manual</a> for more help + See the <a href="http://manual.calibre-ebook.com/gui.html#the-search-interface">User Manual</a> for more help true diff --git a/src/calibre/gui2/wizard/finish.ui b/src/calibre/gui2/wizard/finish.ui index d637aa350a..28972d864e 100644 --- a/src/calibre/gui2/wizard/finish.ui +++ b/src/calibre/gui2/wizard/finish.ui @@ -62,7 +62,7 @@ - <h2>User Manual</h2>A User Manual is also available <a href="http://calibre-ebook.com/user_manual">online</a>. + <h2>User Manual</h2>A User Manual is also available <a href="http://manual.calibre-ebook.com">online</a>. true diff --git a/src/calibre/manual/conf.py b/src/calibre/manual/conf.py index d2b3a91d8d..91a4395007 100644 --- a/src/calibre/manual/conf.py +++ b/src/calibre/manual/conf.py @@ -43,7 +43,7 @@ language = 'en' # General substitutions. project = __appname__ -copyright = '2008, Kovid Goyal' +copyright = 'Kovid Goyal' # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. @@ -86,11 +86,19 @@ pygments_style = 'sphinx' # given in html_static_path. html_theme = 'default' html_theme_options = {'stickysidebar':'true', 'relbarbgcolor':'black'} +# Put the quick search box on top +html_sidebars = { + '**' : ['searchbox.html', 'localtoc.html', 'relations.html', + 'sourcelink.html'], +} + +# The favicon +html_favicon = 'favicon.ico' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['resources'] +html_static_path = ['resources', '../../../icons/favicon.ico'] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. @@ -108,7 +116,7 @@ html_logo = 'resources/logo.png' epub_author = 'Kovid Goyal' epub_cover = 'epub_cover.jpg' epub_publisher = 'Kovid Goyal' -epub_identifier = 'http://calibre-ebook.com/user_manual' +epub_identifier = 'http://manual.calibre-ebook.com' epub_scheme = 'url' epub_uid = 'S54a88f8e9d42455e9c6db000e989225f' epub_tocdepth = 4 @@ -131,7 +139,7 @@ html_copy_source = True # Output file base name for HTML help builder. htmlhelp_basename = 'calibredoc' -html_use_opensearch = 'http://calibre-ebook.com/user_manual' +html_use_opensearch = 'http://manual.calibre-ebook.com' html_show_sphinx = False diff --git a/src/calibre/utils/help2man.py b/src/calibre/utils/help2man.py index 00989a168d..b079dc2314 100644 --- a/src/calibre/utils/help2man.py +++ b/src/calibre/utils/help2man.py @@ -52,7 +52,7 @@ def create_man_page(prog, parser): lines += ['.SH SEE ALSO', 'The User Manual is available at ' - 'http://calibre-ebook.com/user_manual', + 'http://manual.calibre-ebook.com', '.PP', '.B Created by '+__author__] lines = [x if isinstance(x, unicode) else unicode(x, 'utf-8', 'replace') for