You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/contributing/writing-docs-guide.md
+28-12Lines changed: 28 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -235,15 +235,13 @@ Using {term}`React` makes frontends fun again!
235
235
Using {term}`React` makes frontends fun again!
236
236
237
237
238
-
#### Toggle paragraph (Exercise solution / FAQ)
238
+
#### Nesting directives
239
239
240
-
Text snippets can be hidden with the option to show. Wrap it in an `admonition` and add the `class``toggle`.
240
+
You can [nest directives](https://myst-parser.readthedocs.io/en/latest/syntax/roles-and-directives.html#nesting-directives), such as [admonitions](https://myst-parser.readthedocs.io/en/latest/syntax/roles-and-directives.html#admonitions) and code blocks, by ensuring that the backtick-lines corresponding to the outermost directive are longer than the backtick-lines for the inner directives.
241
241
242
242
`````
243
-
````{admonition} f-strings can make your life easier
244
-
:class: toggle
245
-
246
-
To use formatted string literals, begin a string with `f` or `F` before the opening quotation mark or triple quotation mark.
243
+
````{tip}
244
+
To use formatted string literals ("f-strings"), begin a string with `f` or `F` before the opening quotation mark or triple quotation mark.
247
245
Inside this string, you can write a Python expression between `{` and `}` characters that can refer to variables or literal values.
248
246
249
247
```{code-block} python
@@ -257,14 +255,10 @@ print(f"my {a}nd line")
257
255
````
258
256
`````
259
257
260
-
You can [nest directives](https://myst-parser.readthedocs.io/en/latest/syntax/roles-and-directives.html#nesting-directives), such as admonitions and code blocks, by ensuring that the backtick-lines corresponding to the outermost directive are longer than the backtick-lines for the inner directives.
261
-
262
258
This would be rendered as:
263
259
264
-
````{admonition} f-strings can make your life easier
265
-
:class: toggle
266
-
267
-
To use formatted string literals, begin a string with `f` or `F` before the opening quotation mark or triple quotation mark.
260
+
````{tip}
261
+
To use formatted string literals ("f-strings"), begin a string with `f` or `F` before the opening quotation mark or triple quotation mark.
268
262
Inside this string, you can write a Python expression between `{` and `}` characters that can refer to variables or literal values.
269
263
270
264
```{code-block} python
@@ -278,6 +272,28 @@ print(f"my {a}nd line")
278
272
````
279
273
280
274
275
+
### Extensions
276
+
277
+
We use several extensions to enhance the presentation of Plone documentation.
278
+
279
+
-[`sphinx.ext.intersphinx`](https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html) provides linking between separate projects that use Sphinx for documentation.
280
+
-[`sphinx.ext.todo`](https://www.sphinx-doc.org/en/master/usage/extensions/todo.html) adds support for todo items.
281
+
-[`sphinx_copybutton`](https://sphinx-copybutton.readthedocs.io/en/latest/index.html) adds a little "copy" button to the right of code blocks.
282
+
-[`sphinx-design`](https://sphinx-design.readthedocs.io/en/latest/) adds grids, cards, icons, badges, buttons, tabs, and dropdowns.
283
+
-[`sphinx_sitemap`](https://pypi.org/project/sphinx-sitemap/) generates multiversion and multilanguage [sitemaps.org](https://www.sitemaps.org/protocol.html) compliant sitemaps.
284
+
-[`sphinxcontrib.httpdomain`](https://sphinxcontrib-httpdomain.readthedocs.io/en/stable/) provides a Sphinx domain for describing HTTP APIs.
285
+
It is used by Plone's {doc}`plone.restapi/docs/source/index`.
286
+
-[`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.
287
+
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/).
288
+
It is used by Plone's {doc}`plone.restapi/docs/source/index`.
-[`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.
Copy file name to clipboardExpand all lines: docs/glossary.md
+17-5Lines changed: 17 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,9 +25,12 @@ CMS
25
25
Content Management System
26
26
27
27
Cookiecutter
28
-
A command-line utility that creates projects from cookiecutters (project templates), e.g. creating a Python package project from a Python package project template.
28
+
A command-line utility that creates projects from cookiecutters (project templates), for example, creating a Python package project from a Python package project template.
[cookiecutter-plone-starter](https://github.com/collective/cookiecutter-plone-starter/) is a framework for jumpstarting Plone 6 projects quickly.
33
+
31
34
cookiecutter-zope-instance
32
35
[cookiecutter-zope-instance](https://github.com/plone/cookiecutter-zope-instance) is a cookiecutter template to create a full and complex configuration of a Zope WSGI instance.
33
36
@@ -48,7 +51,7 @@ Linode
48
51
[Linode.com](https://www.linode.com/) is an American privately owned virtual private server provider company based in Galloway, New Jersey, United States.
49
52
50
53
mxdev
51
-
[mxdev](https://github.com/mxstack/mxdev) [mɪks dɛv] is a utility that makes it easy to work with Python projects containing lots of packages, of which you only want to develop some.
54
+
[mxdev](https://github.com/mxstack/mxdev) [mɪks dɛv] is a utility that makes it easy to work with Python projects containing lots of packages, and you want to develop only some of those packages.
52
55
It is designed for developers who use stable version constraints, then layer their customizations on top of that base while using a version control system.
53
56
This design allows developers to override their base package constraints with a customized or newer version.
54
57
@@ -69,7 +72,9 @@ pm2
69
72
[PM2](https://pm2.keymetrics.io/) is a daemon process manager.
70
73
71
74
REST API
72
-
TODO REST API in general. TODO REST API of Plone.
75
+
```{todo}
76
+
REST API in general. REST API of Plone.
77
+
```
73
78
74
79
S3
75
80
[Amazon Web Services S3](https://aws.amazon.com/s3/).
@@ -345,8 +350,8 @@ Slate
345
350
[Slate.js](https://docs.slatejs.org/) is a highly customizable platform for creating rich-text editors, also known as `WYSIWYG` editors.
346
351
It enables you to create powerful, intuitive editors similar to those you've probably used in Medium, Dropbox Paper, or Google Docs.
347
352
348
-
volto-slate
349
-
`volto-slate` is an interactive default text editor for Volto, developed on top of {term}`Slate` while offering enhanced WYSIWYG functionality and behavior.
353
+
`volto-slate`
354
+
`volto-slate` is an interactive default text editor for Volto, developed on top of {term}`Slate`, offering enhanced WYSIWYG functionality and behavior.
350
355
351
356
elementEditor
352
357
A generic {term}`volto-slate` plugin architecture that can be used to create other editor interactions that follow the pattern of having a button that toggles a format (an inline element).
@@ -439,6 +444,13 @@ ZODB
439
444
Zope
440
445
[Zope](https://zope.readthedocs.io/en/latest/) is a Python-based application server for building secure and highly scalable web applications.
441
446
447
+
Make
448
+
make
449
+
[GNU Make](https://www.gnu.org/software/make/) is a tool which controls the generation of executables and other non-source files of a program from the program's source files.
450
+
451
+
Make gets its knowledge of how to build your program from a file called the _makefile_, which lists each of the non-source files and how to compute it from other files.
452
+
When you write a program, you should write a makefile for it, so that it is possible to use Make to build and install the program.
453
+
442
454
PLIP
443
455
PLIPs are **PL**one **I**mprovement **P**roposals.
444
456
These are about larger changes to Plone, discussed beforehand by the community.
Developers may choose to install Plone from either [the official container images](containers/index) or [packages](install-from-packages).
36
+
+++
37
+
Help me [choose an installation method](install-index-choose-installation-method-label).
38
+
:::
39
+
40
+
::::
26
41
27
42
28
43
(install-index-choose-installation-method-label)=
29
44
30
45
## Choose an installation method
31
46
32
-
% TODO Explanation when to choose which installation method: container vs installation from its packages. Combination for backend and frontend?
47
+
Developers may choose to install Plone from either [the official container images](containers/index) or [packages](install-from-packages).
33
48
34
-
Developers may choose to install Plone from either [the official container images](containers/index) or [source](source).
49
+
50
+
### Containers
35
51
36
52
The Plone 6 container images are compliant with the [Open Container Initiative (OCI)](https://opencontainers.org/).
37
53
They should work with any OCI-compliant container engine for developing, managing, and running Plone 6 images.
38
54
Two popular options include [podman](https://podman.io/) and [Docker](https://www.docker.com/products/docker-desktop/).
55
+
39
56
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.
57
+
40
58
This option is the quickest method to install and develop for Plone 6 and its packages.
41
59
42
-
There may be some cases where using a Plone 6 image is not practical or desired.
43
-
You might want to use an SQL database that is not PostgreSQL, or you might use a deployment workflow that has specific requirements.
44
-
For these situations, Plone 6 may be installed manually.
45
-
This method takes longer.
46
-
It might be a challenge if you bump up against system requirements, or need to resolve conflicts between required packages.
60
+
:::{card}
61
+
:link: containers/index
62
+
:link-type: any
63
+
{octicon}`container;1.5em;sd-mr-1`[Use containers to install Plone](containers/index)
64
+
:::
47
65
48
-
```{todo}
49
-
Perhaps merge the subsequent section into this section?
50
-
```
51
66
67
+
### Packages
68
+
69
+
There may be some cases where using a Plone 6 image and containers is not practical or desired.
70
+
71
+
- You use an SQL database that is not PostgreSQL.
72
+
- You develop custom applications, themes, and add-ons for Plone.
73
+
- You use a deployment workflow that has specific requirements.
74
+
75
+
For these situations, Plone 6 may be installed from its packages.
76
+
77
+
It might be a challenge if you bump up against system requirements, or need to resolve conflicts between required packages.
52
78
53
-
(install-index-caveat-label)=
79
+
This method takes longer than using containers.
54
80
55
-
## Caveat that Plone is a large project and source installs are non-trivial
81
+
:::{card}
82
+
:link: install-from-packages
83
+
:link-type: any
84
+
{octicon}`package;1.5em;sd-mr-1`[Install Plone from its packages](install-from-packages)
85
+
:::
56
86
57
87
58
88
(install-index-system-requirements-label)=
59
89
60
90
## System Requirements
61
91
62
-
System requirements depend upon your choice of installation method:
92
+
System requirements depend upon your choice of installation method.
63
93
64
-
-[Use container images](containers/index)
65
-
-{doc}`source`
94
+
-[Container system requirements](install-containers-index-system-requirements-label)
95
+
-[Packages system requirements](install-packages-system-requirements-label)
0 commit comments