@@ -28,11 +28,12 @@ Gaining commit privileges
2828After a candidate has demonstrated consistent contributions, commit privileges
2929are granted through these steps:
3030
31- #. A core developer (submitter, usually the mentor) starts a poll in the
32- `Committers category `_ on the `Python Discourse `_.
31+ #. A core developer (submitter, usually the mentor) starts a poll
32+ (see the :ref: `template <coredev-template >` below) in
33+ the `Committers category `_ on the `Python Discourse `_.
3334
3435 - open for 7 days
35- - results shown upon close
36+ - results shown only upon closing
3637
3738#. If the candidate receives at least two-thirds positive votes when the poll closes
3839 (as per :pep: `13 `), the submitter `emails the steering council
@@ -59,6 +60,44 @@ are granted through these steps:
5960 were in the form of a separate post on the already open topic with
6061 the poll.
6162
63+ Poll template
64+ =============
65+
66+ .. _coredev-template :
67+
68+ While Discourse uses Markdown for formatting, the poll functionality is
69+ custom and somewhat resembles BBcode. There's a creator for polls in the
70+ UI (click the cog icon in the edit box toolbar and choose "Build Poll").
71+ Here's what it outputs, you can copy and paste it for your poll:
72+
73+ .. code-block :: bbcode
74+
75+ [poll type=regular results=on_close public=false chartType=bar groups=committers close=2024-07-15T21:15:00.000Z]
76+ * Promote Basil Fawlty
77+ * Do not promote
78+ [/poll]
79+
80+ The important options in the poll builder set to get this result:
81+ - Show who voted: **disabled ** (``public=false ``)
82+ - Limit voting to these groups: **committers ** (``groups=committers ``)
83+ - Automatically close poll: **in 7 days ** (``close=... ``)
84+ - Show results: **When poll is closed ** (``results=on_close ``)
85+
86+ .. raw :: html
87+
88+ <script >
89+ for (let span of document .querySelectorAll (' span' )) {
90+ if (span .textContent === ' 2024-07-15T21:15:00.000Z' ) {
91+ const nextWeek = new Date ();
92+ nextWeek .setDate (nextWeek .getDate () + 7 );
93+ nextWeek .setSeconds (0 );
94+ nextWeek .setMilliseconds (0 );
95+ span .textContent = nextWeek .toISOString ();
96+ break ;
97+ }
98+ }
99+ </script >
100+
62101.. _Code of Conduct : https://policies.python.org/python.org/code-of-conduct/
63102.. _Committers category : https://discuss.python.org/c/committers/5
64103.. _Python Discourse : https://discuss.python.org
0 commit comments