Internals

Cell management

PlutoBoard.add_cell — Method
add_cell(
	;
	ws::WebSocket
) -> nothing

Adds a cell at the bottom of the notebook

PlutoBoard.get_cells — Method
get_cells(
	;
	ws::WebSocket
) -> Array{String}

Returns an array of all cells uuids

PlutoBoard.find_cells_with_variable — Method
find_cells_with_variable(
    var::String
) -> Set{String}

Finds all cells in the notebook that contain the given variable and returns their IDs.

JS, HTML and CSS injections

PlutoBoard.load_js — Method
load_js() -> HypertextLiteral.Result

Returns a HypertextLiteral.Result object to load entry js files as modules and css stylesheets.

PlutoBoard.get_css_files — Method
get_css_files() -> Array{String}

Returns all css files in static/css folder of developer package.

Fileserver

PlutoBoard.serve_file — Method
serve_file(req::HTTP.Request)

Serves the requested file from the SERVE_DIR directory.

PlutoBoard.monitor_folder — Method
monitor_folder(; ws)

Watches the folder specified by `SERVE_DIR` for changes. When a file change is detected, sends a notification to the provided WebSocket `ws`.

Other stuff

PlutoBoard.setup — Method
setup()::nothing

Sets up PlutoBoard project by creating a new Julia package and copying necessary files.

PlutoBoard.open_file — Method
open_file(
	path::String
)::String

Opens a file and returns its content as a string.

PlutoBoard.copy_with_delete — Method
copy_with_delete(
	from::String,
	to::String
)::nothing

Copies a file from one location to another and deletes the original file. Sets the permissions of the copied file to 666.

PlutoBoard.parse_to_symbol — Method
parse_to_symbol(
	d::Dict{String, Any}
)::Dict{Symbol, Any}

Parse a dictionary with string keys to a dictionary with symbol keys.