diff --git a/docs/jsclientlib/index.rst b/docs/jsclientlib/index.rst index 305b9bcb..640c2be7 100644 --- a/docs/jsclientlib/index.rst +++ b/docs/jsclientlib/index.rst @@ -4,6 +4,42 @@ JavaScript Client Library ######################### +The JS Client Library provides an interface to all of OctoPrint's API, including the SockJS based socket to send +push messages from the server to connected clients. It is available as packed web asset file at ``/static/webassets/packed_client.js`` or as individual +component files at ``/static/js/app/client/.js`` relative to your +OctoPrint instance's base URL (e.g. ``http://octopi.local/static/webassets/packed_client.js``). + +If you are using it from a web page hosted on OctoPrint as a Jinja2 template, you should use one of the following +methods to embed it instead of manually entering the URL, in order to have OctoPrint take care of setting the +correct URL prefix: + +.. code-block:: html + + + {% assets "js_client" %}{% endassets %} + + + + + + + +Note that all components depend on the ``base`` component to be present, so if you are only including a select +number of components, make sure to at the very least include that one to be able to utilize the client. + +.. seealso:: + + `OctoPrint-ForceLogin `_ + A plugin that disables anonymous access to the regular OctoPrint UI by implementing a custom UI. Utilizes the + client library's :ref:`browser component ` to login the user. + .. toctree:: :maxdepth: 3