# eric6.UI.Previewers.PreviewerHTML

Module implementing a previewer widget for HTML, Markdown and ReST files.

### Global Attributes

None

### Classes

PreviewProcessingThread | Class implementing a thread to process some text into HTML usable by the previewer view.
PreviewerHTML | Class implementing a previewer widget for HTML, Markdown and ReST files.
_StrikeThroughExtension | Class is placed here, because it depends on imported markdown, and markdown import is lazy.

### Functions

None

## PreviewProcessingThread

Class implementing a thread to process some text into HTML usable by the previewer view.

### Signals

htmlReady(str, str, str)
  emitted with the file name, the processed HTML and the web site root path to signal the availability of the processed HTML

### Derived from

QThread

### Class Attributes

None

### Class Methods

None

### Methods

PreviewProcessingThread | Constructor
__convertMarkdown | Private method to convert Markdown text into HTML.
__convertReST | Private method to convert ReST text into HTML.
__convertReSTDocutils | Private method to convert ReST text into HTML using 'docutils'.
__convertReSTSphinx | Private method to convert ReST text into HTML using 'sphinx'.
__getHtml | Private method to process the given text depending upon the given language.
__processRootPath | Private method to adjust absolute references to the given root path.
__processSSI | Private method to process the given text for SSI statements.
process | Public method to convert the given text to HTML.
run | Public thread method to convert the stored data.

### Static Methods

None

#### PreviewProcessingThread (Constructor)

PreviewProcessingThread(parent=None)

Constructor

parent
  reference to the parent object (QObject)

#### PreviewProcessingThread.__convertMarkdown

__convertMarkdown(text, convertNewLineToBreak, htmlFormat)

Private method to convert Markdown text into HTML.

text
  text to be processed (string)
convertNewLineToBreak
  flag indicating to convert new lines to HTML break (Markdown only) (boolean)
htmlFormat
  HTML format to be generated by markdown (string)

Returns:
  processed HTML (string)

#### PreviewProcessingThread.__convertReST

__convertReST(text, useSphinx, restDocutilsHtmlFormat)

Private method to convert ReST text into HTML.

text
  text to be processed (string)
useSphinx
  flag indicating to use Sphinx to generate the ReST preview (boolean)
restDocutilsHtmlFormat
  HTML format to be generated by docutils (string)

Returns:
  processed HTML (string)

#### PreviewProcessingThread.__convertReSTDocutils

__convertReSTDocutils(text, htmlFormat)

Private method to convert ReST text into HTML using 'docutils'.

text
  text to be processed (string)
htmlFormat
  HTML format to be generated (string)

Returns:
  processed HTML (string)

#### PreviewProcessingThread.__convertReSTSphinx

__convertReSTSphinx(text)

Private method to convert ReST text into HTML using 'sphinx'.

text
  text to be processed (string)

Returns:
  processed HTML (string)

#### PreviewProcessingThread.__getHtml

__getHtml(language, text, ssiEnabled, filePath, rootPath, useSphinx, convertNewLineToBreak, markdownHtmlFormat, restDocutilsHtmlFormat)

Private method to process the given text depending upon the given language.

language
  language of the text (string)
text
  to be processed (string)
ssiEnabled
  flag indicating to do some (limited) SSI processing (boolean)
filePath
  file path of the text (string)
rootPath
  root path to be used for SSI processing (str)
useSphinx
  flag indicating to use Sphinx to generate the ReST preview (boolean)
convertNewLineToBreak
  flag indicating to convert new lines to HTML break (Markdown only) (boolean)
markdownHtmlFormat
  HTML format to be generated by markdown (string)
restDocutilsHtmlFormat
  HTML format to be generated by docutils (string)

Returns:
  processed HTML text (string)

#### PreviewProcessingThread.__processRootPath

__processRootPath(txt, root)

Private method to adjust absolute references to the given root path.

txt (str)
  text to be processed
root (str)
  directory of the document root

Returns:
  processed HTML

Return Type:
  str

#### PreviewProcessingThread.__processSSI

__processSSI(txt, filename, root)

Private method to process the given text for SSI statements.

Note: Only a limited subset of SSI statements are supported.

txt
  text to be processed (string)
filename
  name of the file associated with the given text (string)
root
  directory of the document root (string)

Returns:
  processed HTML (string)

#### PreviewProcessingThread.process

process(filePath, language, text, ssiEnabled, rootPath, useSphinx, convertNewLineToBreak, markdownHtmlFormat, restDocutilsHtmlFormat)

Public method to convert the given text to HTML.

filePath
  file path of the text (string)
language
  language of the text (string)
text
  text to be processed (string)
ssiEnabled
  flag indicating to do some (limited) SSI processing (boolean)
rootPath
  root path to be used for SSI processing (str)
useSphinx
  flag indicating to use Sphinx to generate the ReST preview (boolean)
convertNewLineToBreak
  flag indicating to convert new lines to HTML break (Markdown only) (boolean)
markdownHtmlFormat
  HTML format to be generated by markdown (string)
restDocutilsHtmlFormat
  HTML format to be generated by docutils (string)

#### PreviewProcessingThread.run

run()

Public thread method to convert the stored data.

Up

## PreviewerHTML

Class implementing a previewer widget for HTML, Markdown and ReST files.

### Derived from

QWidget

### Class Attributes

None

### Class Methods

None

### Methods

PreviewerHTML | Constructor
__execJavaScript | Private function to execute a JavaScript function Synchroneously.
__restoreScrollBarPositions | Private method to restore scroll bar positions for a previewed editor.
__saveScrollBarPositions | Private method to save scroll bar positions for a previewed editor.
__setHtml | Private method to set the HTML to the view and restore the scroll bars positions.
__setJavaScriptEnabled | Private method to enable/disable JavaScript.
__showLink | Private slot to show the hovered link in a tooltip.
on_jsCheckBox_clicked | Private slot to enable/disable JavaScript.
on_previewView_linkClicked | Private slot handling the clicking of a link.
on_previewView_titleChanged | Private slot to handle a change of the title.
on_ssiCheckBox_clicked | Private slot to enable/disable SSI.
processEditor | Public slot to process an editor's text.
resultCallback |
shutdown | Public method to perform shutdown actions.

### Static Methods

None

#### PreviewerHTML (Constructor)

PreviewerHTML(parent=None)

Constructor

parent
  reference to the parent widget (QWidget)

#### PreviewerHTML.__execJavaScript

__execJavaScript(script)

Private function to execute a JavaScript function Synchroneously.

script (str)
  JavaScript script source to be executed

Returns:
  result of the script

Return Type:
  depending upon script result

#### PreviewerHTML.__restoreScrollBarPositions

__restoreScrollBarPositions()

Private method to restore scroll bar positions for a previewed editor.

#### PreviewerHTML.__saveScrollBarPositions

__saveScrollBarPositions()

Private method to save scroll bar positions for a previewed editor.

#### PreviewerHTML.__setHtml

__setHtml(filePath, html, rootPath)

Private method to set the HTML to the view and restore the scroll bars positions.

filePath (str)
  file path of the previewed editor
html (str)
  processed HTML text ready to be shown
rootPath (str)
  path of the web site root

#### PreviewerHTML.__setJavaScriptEnabled

__setJavaScriptEnabled(enable)

Private method to enable/disable JavaScript.

enable
  flag indicating the enable state (boolean)

#### PreviewerHTML.__showLink

__showLink(urlStr)

Private slot to show the hovered link in a tooltip.

urlStr (str)
  hovered URL

#### PreviewerHTML.on_jsCheckBox_clicked

on_jsCheckBox_clicked(checked)

Private slot to enable/disable JavaScript.

checked
  state of the checkbox (boolean)

#### PreviewerHTML.on_previewView_linkClicked

on_previewView_linkClicked(url)

Private slot handling the clicking of a link.

url (QUrl)
  URL of the clicked link

#### PreviewerHTML.on_previewView_titleChanged

on_previewView_titleChanged(title)

Private slot to handle a change of the title.

title
  new title (string)

#### PreviewerHTML.on_ssiCheckBox_clicked

on_ssiCheckBox_clicked(checked)

Private slot to enable/disable SSI.

checked
  state of the checkbox (boolean)

#### PreviewerHTML.processEditor

processEditor(editor=None)

Public slot to process an editor's text.

editor
  editor to be processed (Editor)

#### PreviewerHTML.resultCallback

resultCallback(resDict=resultDict)

#### PreviewerHTML.shutdown

shutdown()

Public method to perform shutdown actions.

Up

## _StrikeThroughExtension

Class is placed here, because it depends on imported markdown, and markdown import is lazy.

(see https://pythonhosted.org/Markdown/extensions/api.html this page for details)

### Derived from

markdown.Extension

### Class Attributes

DEL_RE

### Class Methods

None

### Methods

extendMarkdown |

### Static Methods

None

#### _StrikeThroughExtension.extendMarkdown

extendMarkdown(md, md_globals)
Up