Skip to content

Commit 36b134d

Browse files
committed
Overhaul Install index to not suck so hard
Add sphinx-design to requirements Add sphinx_design to conf.py Tidy up docs referenced by Install Index Add Extensions section to writing-docs-guide.md
1 parent 2831faf commit 36b134d

File tree

6 files changed

+69
-26
lines changed

6 files changed

+69
-26
lines changed

docs/backend/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ workflows
3131
search
3232
indexing
3333
zodb
34-
../plone.api/index.rst
34+
../plone.api/index
3535
plone-restapi
3636
sending-email
3737
upgrading/index

docs/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
"sphinx.ext.intersphinx",
4848
"sphinx.ext.todo",
4949
"sphinx_copybutton",
50+
"sphinx_design",
5051
"sphinx_sitemap",
5152
"sphinxcontrib.httpdomain", # plone.restapi
5253
"sphinxcontrib.httpexample", # plone.restapi

docs/contributing/writing-docs-guide.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,28 @@ print(f"my {a}nd line")
271271
````
272272

273273

274+
### Extensions
275+
276+
We use several extensions to enhance the presentation of Plone documentation.
277+
278+
- [`sphinx.ext.intersphinx`](https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html) provides linking between separate projects that use Sphinx for documentation.
279+
- [`sphinx.ext.todo`](https://www.sphinx-doc.org/en/master/usage/extensions/todo.html) adds support for todo items.
280+
- [`sphinx_copybutton`](https://sphinx-copybutton.readthedocs.io/en/latest/index.html) adds a little "copy" button to the right of code blocks.
281+
- [`sphinx-design`](https://sphinx-design.readthedocs.io/en/latest/) adds grids, cards, icons, badges, buttons, tabs, and dropdowns.
282+
- [`sphinx_sitemap`](https://pypi.org/project/sphinx-sitemap/) generates multiversion and multilanguage [sitemaps.org](https://www.sitemaps.org/protocol.html) compliant sitemaps.
283+
- [`sphinxcontrib.httpdomain`](https://sphinxcontrib-httpdomain.readthedocs.io/en/stable/) provides a Sphinx domain for describing HTTP APIs.
284+
It is used by Plone's {doc}`plone.restapi/docs/source/index`.
285+
- [`sphinxcontrib.httpexample`](https://sphinxcontrib-httpexample.readthedocs.io/en/latest/) enhances `sphinxcontrib-httpdomain` by generating RESTful HTTP API call examples for different tools from a single HTTP request example.
286+
Supported tools include [curl](https://curl.se/), [wget](https://www.gnu.org/software/wget/), [httpie](https://httpie.io/), and [python-requests](https://requests.readthedocs.io/en/latest/).
287+
It is used by Plone's {doc}`plone.restapi/docs/source/index`.
288+
- [`sphinxcontrib.spelling`](https://sphinxcontrib-spelling.readthedocs.io/en/latest/) provides spell checking.
289+
- [`sphinxext.opengraph`](https://pypi.org/project/sphinxext-opengraph/) generates [OpenGraph metadata](https://ogp.me/).
290+
- [`sphinx.ext.viewcode`](https://www.sphinx-doc.org/en/master/usage/extensions/viewcode.html) generates pages of source code modules and links between the source and the description.
291+
It is used by {doc}`/plone.api/index`.
292+
- [`sphinx.ext.autosummary`](https://www.sphinx-doc.org/en/master/usage/extensions/autosummary.html) generates function/method/attribute summary lists.
293+
It is used by {doc}`/plone.api/index`.
294+
295+
274296
## Abridged Plone Documentation Styleguide
275297

276298
Guides should be informational, but friendly.

docs/install/containers/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ Although there are many container engine tools for developing, managing, and run
3333

3434
(install-containers-index-system-requirements-label)=
3535

36-
### System Requirements
36+
### System requirements
3737

3838
```{todo}
39-
Add System Requirements
39+
Add system requirements
4040
```
4141

4242

docs/install/index.md

Lines changed: 42 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,61 +10,80 @@ html_meta:
1010

1111
# Install
1212

13+
In this part of the documentation, you can find how to try Plone and how to choose an installation method if you want to develop in Plone.
14+
1315

1416
(install-index-getting-started-label)=
1517

1618
## Getting started
1719

18-
What do you want to do?
20+
::::{grid} 1 2 2 2
21+
:gutter: 1 1 1 2
22+
23+
:::{grid-item-card} {octicon}`browser;1.5em;sd-mr-1` Try a demo
24+
25+
Choose a version.
1926

20-
- Try a demo now.
21-
- [Plone 6 with Volto frontend](https://6.demo.plone.org/)
22-
- [Plone 5.2.x with Barceloneta frontend](https://demo.plone.org/)
23-
- [Run Plone in containers](containers/index) (why use containers here.)
24-
- {doc}`installation-from-packages` (contribute to Plone packages, develop add-ons, or install Plone with full control)
27+
- [Plone 6 with Volto frontend](https://6.demo.plone.org/)
28+
- [Plone 6 Classic UI (nightly build)](https://6-classic.demo.plone.org/)
29+
- [Plone 5.2.x (stable) with Barceloneta frontend](https://demo.plone.org/)
30+
:::
31+
32+
:::{grid-item-card} {octicon}`download;1.5em;sd-mr-1` Install
33+
34+
Developers may choose to install Plone from either [the official container images](containers/index) or [packages](installation-from-packages).
35+
+++
36+
Help me [choose an installation method](install-index-choose-installation-method-label).
37+
:::
38+
39+
::::
2540

2641

2742
(install-index-choose-installation-method-label)=
2843

2944
## Choose an installation method
3045

31-
```{todo}
32-
Add an explanation for choosing an installation method: container versus installation from packages.
33-
Is there a combination for backend and frontend using a cookiecutter?
34-
```
35-
3646
Developers may choose to install Plone from either [the official container images](containers/index) or [packages](installation-from-packages).
3747

48+
49+
### Containers
50+
3851
The Plone 6 container images are compliant with the [Open Container Initiative (OCI)](https://opencontainers.org/).
3952
They should work with any OCI-compliant container engine for developing, managing, and running Plone 6 images.
4053
Two popular options include [podman](https://podman.io/) and [Docker](https://www.docker.com/products/docker-desktop/).
4154
The Plone 6 images have all the system requirements, pre-requisites, and Plone 6 already installed, except those requirements needed for running the container engine itself.
4255
This option is the quickest method to install and develop for Plone 6 and its packages.
4356

57+
:::{card}
58+
:link: containers/index
59+
:link-type: any
60+
{octicon}`container;1.5em;sd-mr-1` [Use containers to install Plone](containers/index)
61+
:::
62+
63+
64+
### Packages
65+
4466
There may be some cases where using a Plone 6 image is not practical or desired.
4567
You might want to use an SQL database that is not PostgreSQL, or you might use a deployment workflow that has specific requirements.
46-
For these situations, Plone 6 may be installed manually.
68+
For these situations, Plone 6 may be installed from its packages.
4769
This method takes longer.
4870
It might be a challenge if you bump up against system requirements, or need to resolve conflicts between required packages.
4971

50-
```{todo}
51-
Perhaps merge the subsequent section into this section?
52-
```
53-
54-
55-
(install-index-caveat-label)=
56-
57-
## Caveat that Plone is a large project and source installs are non-trivial
72+
:::{card}
73+
:link: installation-from-packages
74+
:link-type: any
75+
{octicon}`package;1.5em;sd-mr-1` [Install Plone from its packages](installation-from-packages)
76+
:::
5877

5978

6079
(install-index-system-requirements-label)=
6180

6281
## System Requirements
6382

64-
System requirements depend upon your choice of installation method:
83+
System requirements depend upon your choice of installation method.
6584

66-
- [Use container images](containers/index)
67-
- {doc}`installation-from-packages`
85+
- [Container system requirements](install-containers-index-system-requirements-label)
86+
- [Packages system requirements](install-packages-system-requirements-label)
6887

6988

7089
```{toctree}

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ myst-parser
77
sphinx-autobuild
88
sphinx-book-theme<=0.3.99
99
sphinx-copybutton
10+
sphinx-design
1011
sphinx-sitemap
1112
sphinx-togglebutton
1213
sphinxcontrib.httpdomain # plone.restapi

0 commit comments

Comments
 (0)