[Python-Dev] [Python-checkins] cpython (2.7): Add a button to the code examples in the doc to show/hide the prompts and (original) (raw)

Ezio Melotti ezio.melotti at gmail.com
Mon Oct 31 18:51:54 CET 2011


Hi Éric,

On 31/10/2011 19.19, Éric Araujo wrote:

Hi Ezio,

http://hg.python.org/cpython/rev/18bbfed9aafa user: Ezio Melotti<ezio.melotti at gmail.com> summary: Add a button to the code examples in the doc to show/hide the prompts and output. Looks cool! I hope this will stop our use of two or three different styles for Python code in the docs (doctest-compatible vs. source-file-style vs. copy-paste-ready) and ultimately help make them doctest-compatible.

My main concern about this is that it works only with the HTML doc and now with the pdf/chm, so converting the examples would make the situation a bit worse for the pdf/chm users (and also for js-less users). I think in the examples we should just use what make more sense -- either copy/paste from an interpreter session when the output is relevant, copy only the source when it's not, and avoid the "hybrid style" (i.e. include the '>>>' and the output but omit the '...').
Nonetheless I think most of the users use the HTML doc, so it should be an improvement for them :)

+$(document).ready(function() { + /* Add a [>>>] button on the top-right corner of code samples to hide + * the>>> and ... prompts and the output and thus make the code + * copyable. */ I think it would be more user-friendly if the button/trigger would use real English text like “Hide prompts”/“Show prompts” rather than symbols.

I thought about that and ended up adding a title="" with a more accurate description, while leaving the button short and unobtrusive. A bigger button might interfer/overlap with the code if the code contains long lines and/or if the window is too narrow. I expect that people will anyway try it out as soon as they notice it and learn quickly what it does.

In a couple of years this whole script could be replaced with a couple of lines of CSS using the CSS3 "user-select" property (so that only the code and not the rest is actually copied), but at the moment the support for it is still a bit lacking and inconsistent.

Best Regards, Ezio Melotti

Cheers



More information about the Python-Dev mailing list