Simple copy and paste from web pages does not preserve the text format.
A fast and universal approach with Firefox browser is to use the
Pentadactyl addon. If you are not familiar with
Vim editor syntax, please follow these
instructions to select and copy text to the clipboard by keyboard interaction. The yank buffer has to be set in the command line before: js editor.defaultRegister="+"
The code examples on the wiki pages are formatted inside html pre tags with a leading space. Following javascript code extracts the code into separate popup windows, where the plain text is ready to be marked and copied to your tcl interpreter.
You have to allow popup windows in your browser settings - add an exception to allow popup windows for wiki.tcl.tk.
Visit a wiki page with gray code blocks, then copy this code to your browser's console window and run it. Try F12 key to open developer tools and continue with console or scripting.
function reap(minlines) {
if (typeof(minlines)==='undefined') minlines=1;
var pre=document.getElementsByTagName('pre');
var w=[];
var page;
var title='';
var lines=[];
var d;
var skip=[];
for (var i=0; i<pre.length; i++) {
var raw=pre[i].innerText || pre[i].textContent;
lines=raw.split('\n');
if (lines.length<minlines) {
skip.push(i+1);
continue;
}
w[i]=window.open('','_blank', 'width=400,height=300,resizable=yes,scrollbars=1');
d=w[i].document;
if (!w[i]) {
alert('Popup could not be created\nPlease allow pop-ups from wiki.tcl.tk\nSee the notification in your browser\'s upper right corner\nThen try again');
return;
}
d.open('text/plain');
//this omits <> tags: d.write('<pre>'+raw+'</pre>');
for (var k=0; k<lines.length; k++) {
d.write('<xmp>');
d.write(lines[k]);
d.write('</xmp>');
}
d.close();
page=i+1;
title=page.toString();
title=title.concat('/',pre.length,' ','-(',skip.join(','),') ',document.title);
d.title=title;
}
}
//reap(); //get all code snippets
reap(20); //get code snippets with at least 20 lines
Tested with IE10, Firefox 25, and Chrome 30
See also :
AMG: The Wiki also supports code and other fixed text inside sections bracketed by lines consisting of
=== (interprets [bracketed links]) or
====== (ignores brackets). Append the language name or "none", e.g. "======c", to override the language used for syntax highlighting.