Skip to content

Commit b619add

Browse files
committed
docs: manual fixes following rst-to-myst
1 parent 6f1f9c1 commit b619add

File tree

4 files changed

+107
-108
lines changed

4 files changed

+107
-108
lines changed

docs/source/arbitrary-ports-hosts.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ For security reasons the host must match an entry in the `host_allowlist` in you
2222

2323
Let's say you are using a JupyterHub set up on a remote machine,
2424
and you have a process running on that machine listening on port
25-
8080\. If your hub URL is `myhub.org`, each user can
25+
8080. If your hub URL is `myhub.org`, each user can
2626
access the service running on port 8080 with the URL
2727
`myhub.org/hub/user-redirect/proxy/8080`. The `user-redirect`
2828
will make sure that:
2929

3030
1. It provides a redirect to the correct URL for the particular
31-
user who is logged in
31+
user who is logged in.
3232
2. If a user is not logged in, it'll present them with a login
3333
screen. They'll be redirected there after completing authentication.
3434

docs/source/convenience/new.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ This should ask you a bunch of questions, and generate a directory
1414
named after your project with a python package. From there, you should:
1515

1616
1. Edit the `__init__.py` file to fill in the command used to start your
17-
process, any environment variables, and title of the launcher icon
17+
process, any environment variables, and title of the launcher icon.
1818
2. (Optionally) Add a square svg icon for your launcher in the `icons`
1919
subfolder, with the same name as your project.

docs/source/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ Jupyter Server Proxy lets you run arbitrary external processes (such
44
as RStudio, Shiny Server, syncthing, PostgreSQL, etc) alongside your
55
notebook, and provide authenticated web access to them.
66

7-
:::{note}
7+
```{note}
88
This project used to be called **nbserverproxy**. if you have an older
99
version of nbserverproxy installed, remember to uninstall it before installing
1010
jupyter-server-proxy - otherwise they may conflict
11-
:::
11+
```
1212

1313
The primary use cases are:
1414

docs/source/server-process.md

Lines changed: 102 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -19,138 +19,137 @@ pairs.
1919

2020
### `command`
2121

22-
> One of:
23-
>
24-
> - A list of strings that is the command used to start the
25-
> process. The following template strings will be replaced:
26-
>
27-
> - `{port}` the port that the process should listen on. This will be 0 if
28-
> it should use a Unix socket instead.
29-
> - `{unix_socket}` the path at which the process should listen on a Unix
30-
> socket. This will be an empty string if it should use a TCP port.
31-
> - `{base_url}` the base URL of the notebook
32-
>
33-
> For example, if the application needs to know its full path it can
34-
> be constructed from `{base_url}/proxy/{port}`
35-
>
36-
> - A callable that takes any {ref}`callable arguments <server-process/callable-arguments>`,
37-
> and returns a list of strings that are used & treated same as above.
38-
>
39-
> If the command is not specified or is an empty list, the server process is
40-
> assumed to be started ahead of time and already available to be proxied to.
22+
One of:
23+
24+
- A list of strings that is the command used to start the
25+
process. The following template strings will be replaced:
26+
27+
- `{port}` the port that the process should listen on. This will be 0 if it
28+
should use a Unix socket instead.
29+
- `{unix_socket}` the path at which the process should listen on a Unix
30+
socket. This will be an empty string if it should use a TCP port.
31+
- `{base_url}` the base URL of the notebook. For example, if the application
32+
needs to know its full path it can be constructed from
33+
`{base_url}/proxy/{port}`
34+
35+
- A callable that takes any {ref}`callable arguments <server-process/callable-arguments>`,
36+
and returns a list of strings that are used & treated same as above.
37+
38+
If the command is not specified or is an empty list, the server process is
39+
assumed to be started ahead of time and already available to be proxied to.
4140

4241
### `timeout`
4342

44-
> Timeout in seconds for the process to become ready, default `5`.
45-
>
46-
> A process is considered 'ready' when it can return a valid HTTP response on the
47-
> port it is supposed to start at.
43+
Timeout in seconds for the process to become ready, default `5`.
44+
45+
A process is considered 'ready' when it can return a valid HTTP response on the
46+
port it is supposed to start at.
4847

4948
### `environment`
5049

51-
> One of:
52-
>
53-
> - A dictionary of strings that are passed in as the environment to
54-
> the started process, in addition to the environment of the notebook
55-
> process itself. The strings `{port}`, `{unix_socket}` and
56-
> `{base_url}` will be replaced as for **command**.
57-
> - A callable that takes any {ref}`callable arguments <server-process/callable-arguments>`,
58-
> and returns a dictionary of strings that are used & treated same as above.
50+
One of:
51+
52+
- A dictionary of strings that are passed in as the environment to
53+
the started process, in addition to the environment of the notebook
54+
process itself. The strings `{port}`, `{unix_socket}` and
55+
`{base_url}` will be replaced as for **command**.
56+
- A callable that takes any {ref}`callable arguments <server-process/callable-arguments>`,
57+
and returns a dictionary of strings that are used & treated same as above.
5958

6059
### `absolute_url`
6160

62-
> *True* if the URL as seen by the proxied application should be the full URL
63-
> sent by the user. *False* if the URL as seen by the proxied application should
64-
> see the URL after the parts specific to jupyter-server-proxy have been stripped.
65-
>
66-
> For example, with the following config:
67-
>
68-
> ```python
69-
> c.ServerProxy.servers = {
70-
> 'test-server': {
71-
> 'command': ['python3', '-m', 'http.server', '{port}'],
72-
> 'absolute_url': False
73-
> }
74-
> }
75-
> ```
76-
>
77-
> When a user requests `/test-server/some-url`, the proxied server will see it
78-
> as a request for `/some-url` - the `/test-server` part is stripped out.
79-
>
80-
> If `absolute_url` is set to `True` instead, the proxied server will see it
81-
> as a request for `/test-server/some-url` instead - without any stripping.
82-
>
83-
> This is very useful with applications that require a `base_url` to be set.
84-
>
85-
> Defaults to *False*.
61+
*True* if the URL as seen by the proxied application should be the full URL
62+
sent by the user. *False* if the URL as seen by the proxied application should
63+
see the URL after the parts specific to jupyter-server-proxy have been stripped.
64+
65+
For example, with the following config:
66+
67+
```python
68+
c.ServerProxy.servers = {
69+
'test-server': {
70+
'command': ['python3', '-m', 'http.server', '{port}'],
71+
'absolute_url': False
72+
}
73+
}
74+
```
75+
76+
When a user requests `/test-server/some-url`, the proxied server will see it
77+
as a request for `/some-url` - the `/test-server` part is stripped out.
78+
79+
If `absolute_url` is set to `True` instead, the proxied server will see it
80+
as a request for `/test-server/some-url` instead - without any stripping.
81+
82+
This is very useful with applications that require a `base_url` to be set.
83+
84+
Defaults to *False*.
8685

8786
### `port`
8887

89-
> Set the port that the service will listen on. The default is to
90-
> automatically select an unused port.
88+
Set the port that the service will listen on. The default is to
89+
automatically select an unused port.
9190

9291
(server-process-unix-socket)=
9392

9493
### `unix_socket`
9594

96-
> This option uses a Unix socket on a filesystem path, instead of a TCP
97-
> port. It can be passed as a string specifying the socket path, or *True* for
98-
> Jupyter Server Proxy to create a temporary directory to hold the socket,
99-
> ensuring that only the user running Jupyter can connect to it.
100-
>
101-
> If this is used, the `{unix_socket}` argument in the command template
102-
> (see {ref}`server-process-cmd`) will be a filesystem path. The server should
103-
> create a Unix socket bound to this path and listen for HTTP requests on it.
104-
> The `port` configuration key will be ignored.
105-
>
106-
> :::{note}
107-
> Proxying websockets over a Unix socket requires Tornado >= 6.3.
108-
> :::
95+
This option uses a Unix socket on a filesystem path, instead of a TCP
96+
port. It can be passed as a string specifying the socket path, or *True* for
97+
Jupyter Server Proxy to create a temporary directory to hold the socket,
98+
ensuring that only the user running Jupyter can connect to it.
99+
100+
If this is used, the `{unix_socket}` argument in the command template
101+
(see {ref}`server-process-cmd`) will be a filesystem path. The server should
102+
create a Unix socket bound to this path and listen for HTTP requests on it.
103+
The `port` configuration key will be ignored.
104+
105+
```{note}
106+
Proxying websockets over a Unix socket requires Tornado >= 6.3.
107+
```
109108

110109
### `mappath`
111110

112-
> Map request paths to proxied paths.
113-
> Either a dictionary of request paths to proxied paths,
114-
> or a callable that takes parameter `path` and returns the proxied path.
111+
Map request paths to proxied paths.
112+
Either a dictionary of request paths to proxied paths,
113+
or a callable that takes parameter `path` and returns the proxied path.
115114

116115
### `launcher_entry`
117116

118-
> A dictionary with options on if / how an entry in the classic Jupyter Notebook
119-
> 'New' dropdown or the JupyterLab launcher should be added. It can contain
120-
> the following keys:
121-
>
122-
> 1. **enabled**
123-
> Set to True (default) to make an entry in the launchers. Set to False to have no
124-
> explicit entry.
125-
> 2. **icon_path**
126-
> Full path to an svg icon that could be used with a launcher. Currently only used by the
127-
> JupyterLab launcher
128-
> 3. **title**
129-
> Title to be used for the launcher entry. Defaults to the name of the server if missing.
117+
A dictionary with options on if / how an entry in the classic Jupyter Notebook
118+
'New' dropdown or the JupyterLab launcher should be added. It can contain
119+
the following keys:
120+
121+
1. **enabled**
122+
Set to True (default) to make an entry in the launchers. Set to False to have no
123+
explicit entry.
124+
2. **icon_path**
125+
Full path to an svg icon that could be used with a launcher. Currently only used by the
126+
JupyterLab launcher
127+
3. **title**
128+
Title to be used for the launcher entry. Defaults to the name of the server if missing.
130129

131130
### `new_browser_tab`
132131

133-
> *JupyterLab only* - *True* if the proxied server URL should be opened in a new browser tab.
134-
> *False* (default) if the proxied server URL should be opened in a new JupyterLab tab.
135-
>
136-
> If *False*, the proxied server needs to allow its pages to be rendered in an iframe. This
137-
> is generally done by configuring the web server `X-Frame-Options` to `SAMEORIGIN`.
138-
> For more information, refer to
139-
> [MDN Web docs on X-Frame-Options](https://developer.mozilla.org/docs/Web/HTTP/Headers/X-Frame-Options).
140-
>
141-
> Note that applications might use a different terminology to refer to frame options.
142-
> For example, RStudio uses the term *frame origin* and require the flag
143-
> `--www-frame-origin=same` to allow rendering of its pages in an iframe.
132+
*JupyterLab only* - *True* if the proxied server URL should be opened in a new browser tab.
133+
*False* (default) if the proxied server URL should be opened in a new JupyterLab tab.
134+
135+
If *False*, the proxied server needs to allow its pages to be rendered in an iframe. This
136+
is generally done by configuring the web server `X-Frame-Options` to `SAMEORIGIN`.
137+
For more information, refer to
138+
[MDN Web docs on X-Frame-Options](https://developer.mozilla.org/docs/Web/HTTP/Headers/X-Frame-Options).
139+
140+
Note that applications might use a different terminology to refer to frame options.
141+
For example, RStudio uses the term *frame origin* and require the flag
142+
`--www-frame-origin=same` to allow rendering of its pages in an iframe.
144143

145144
### `request_headers_override`
146145

147-
> One of:
148-
>
149-
> - A dictionary of strings that are passed in as HTTP headers to the proxy
150-
> request. The strings `{port}` and `{base_url}` will be replaced as
151-
> for **command**.
152-
> - A callable that takes any {ref}`callable arguments <server-process/callable-arguments>`,
153-
> and returns a dictionary of strings that are used & treated same as above.
146+
One of:
147+
148+
- A dictionary of strings that are passed in as HTTP headers to the proxy
149+
request. The strings `{port}` and `{base_url}` will be replaced as
150+
for **command**.
151+
- A callable that takes any {ref}`callable arguments <server-process/callable-arguments>`,
152+
and returns a dictionary of strings that are used & treated same as above.
154153

155154
(server-process-callable-arguments)=
156155

0 commit comments

Comments
 (0)