Outputs Interface
- Browsers:
CodePen
Stackblitz
JsFiddle
w3CTryIt
- Files:
Jupyter
JupyterLab
HTML page
HTML, JavaScript and CSS files
Web:
- class epyk.core.py.PyOuts.OutBrowsers(context)
- codepen(path: Optional[str] = None, target: str = '_blank', open_browser: bool = True)
Update the Html launcher and send the data to Codepen. URL used: https://codepen.io/pen/define/
Usage:
page = Report() page.ui.text("This is a text") page.outs.browser.codepen()
Related Pages:
- Parameters:
path – Optional. Output path in which the static files will be generated.
target – Optional. Load the data in a new tab in the browser.
open_browser – Optional. Flag to open the browser automatically.
- Returns:
The output launcher full file name.
- stackblitz(path: Optional[str] = None, target: str = '_blank', open_browser: bool = True)
Create an output to be compatible with stackblitz.
Usage:
page = Report() page.ui.text("This is a text") page.outs.codepen()
Related Pages:
- Parameters:
path – Optional. Output path in which the static files will be generated.
target – Optional. Not used. Load the data in a new tab in the browser.
open_browser – Optional. Flag to open the browser automatically.
- class epyk.core.py.PyOuts.PyOuts(page: Optional[PageModel] = None, options: Optional[dict] = None)
- property browser
This module will require the package web browser. It will allow outputs to be created directly in the web pages (without using intermediary text files.
- codepen(path: Optional[str] = None, name: Optional[str] = None)
Produce files which will be compatible with codepen.
Usage:
page = Report() page.ui.text("This is a text") page.outs.codepen()
Related Pages:
- Parameters:
path – Optional. The path in which the output files will be created.
name – Optional. The filename without the extension.
TODO Try to add the prefill https://blog.codepen.io/documentation/api/prefill/
- Returns:
The file path
- html()
Function to get the result HTML page fragments from all the HTML components.
Usage:
page = Report() page.ui.text("This is a text") page.outs.html()
- html_file(path: Optional[str] = None, name: Optional[str] = None, options: Optional[dict] = None, print_paths: bool = False)
Function used to generate a static HTML page for the report.
Usage:
page = Report() page.ui.text("This is a text") page.outs.html_file() # To generate multiple files using local packages page.imports.static_url = "C:\epyks\statics" page.outs.html_file(name="test.html", options={"split": True, "minify": True, "static_path": page.imports.static_url})
- Parameters:
path – Optional. The path in which the output files will be created
name – Optional. The filename without the extension
print_paths – Optional. Print the page for the created file
options – Optional.
- Returns:
The file full path.
- jsfiddle(path: Optional[str] = None, name: Optional[str] = None, framework: str = 'jsfiddle')
Produce files which can be copied directly to https://jsfiddle.net in order to test the results and perform changes.
The output is always in a sub-directory jsfiddle.
Usage:
page = Report() page.ui.text("This is a text") page.outs.codepen()
Related Pages:
- Parameters:
path – Optional. The path in which the output files will be created.
name – Optional. The filename without the extension.
framework – optional. The framework in which the result page will be used.
- Returns:
The file path
- jupyter(verbose: bool = False, requireJs: Optional[dict] = None, closure: bool = True, requirejs_path: Optional[dict] = None, requirejs_func: Optional[dict] = None)
For a display of the report in Jupyter. Thanks to this function some packages will not be imported to not conflict with the existing ones.
Usage:
page = Report() page.ui.text("This is a text") page.outs.jupyter()
Related Pages:
- Parameters:
verbose – Optional. Get the excluded packages.
requireJs – Optional. The requirements overrides from the apps property.
closure – Optional.
requirejs_path – Optional.
requirejs_func – Optional.
- Returns:
The output object with the function _repr_html_
- jupyterlab()
For a display of the report in JupyterLab. Thanks to this function some packages will not be imported to not conflict with the existing ones.
Usage:
page = Report() page.ui.text("This is a text") page.outs.jupyterlab()
Related Pages:
- markdown_file(path: Optional[str] = None, name: Optional[str] = None)
Writes a Markdown file from the report object.
- Parameters:
path – The path in which the output files will be created.
name – The filename without the extension.
- Returns:
The file path
- publish(server: str, app_path: str, selector: str, name: Optional[str] = None, module: Optional[str] = None, target_folder: str = 'apps', auto_route: bool = False)
Publish the HTML page to a distant web server.
Usage:
page = Report() page.ui.text("This is a text")
- Parameters:
server – The webserver type (angular, react, vue, node, deno).
app_path – The webserver path.
selector –
name – Optional. The application name in the webserver.
module –
target_folder –
auto_route –
- w3cTryIt(path: Optional[str] = None, name: Optional[str] = None)
This will produce everything in a single page which can be directly copied to the try editor in w3C website.
Usage:
page = Report() page.ui.text("This is a text") page.outs.w3cTryIt()
Related Pages:
- Parameters:
path – Optional. The path in which the output files will be created.
name – Optional. The filename without the extension.
- web()
Return the complete page structure to allow the various web framework to split the code accordingly. Fragments will then be used by the various framework to create the corresponding pages.