Including source code within the wiki/fr: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Created page with "Inclure une commande dans le wiki")
 
(Created page with "Pour inclure du code source dans le wiki, nous utilisons l'extension [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi SyntaxHighlight_GeSHi]. Vous pouvez facilem...")
Line 2: Line 2:
<languages />
<languages />


To include source code within the wiki, we are using the extension [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi SyntaxHighlight_GeSHi]. You can easily include a code snippet using the tag '''<nowiki><syntaxhighlight> </syntaxhighlight></nowiki>'''.  
Pour inclure du code source dans le wiki, nous utilisons l'extension [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi SyntaxHighlight_GeSHi]. Vous pouvez facilement inclure un extrait de code source grâce à la balise '''<nowiki><syntaxhighlight> </syntaxhighlight></nowiki>'''.  


== Options of the <nowiki><syntaxhighlight></nowiki> tag ==
== Options of the <nowiki><syntaxhighlight></nowiki> tag ==

Revision as of 12:27, 28 April 2016

Other languages:

Pour inclure du code source dans le wiki, nous utilisons l'extension SyntaxHighlight_GeSHi. Vous pouvez facilement inclure un extrait de code source grâce à la balise <syntaxhighlight> </syntaxhighlight>.

Options of the <syntaxhighlight> tag

For a complete list of options, please refer to this page.

lang option

The lang option defines the language used for syntax highlighting. The default language, if this option is omitted, is C++. The complete list of supported languages is available here.

line option

The line option displays line numbers.

Example

Here is an example of a C++ code snippet created with the <syntaxhighlight lang="cpp" line> ... </syntaxhighlight> tag.

#include <iostream>
#include <fstream>
#include <unistd.h>
#include <sstream>
using namespace std;

void flushIfBig(ofstream & out, ostringstream & oss, int size, bool force=false) {
	if (oss.tellp() >= size) {
		out << oss.str();
		oss.str(""); //reset buffer
	}
}
int main() {
	int buff_size = 50*1024*1024;

	ofstream out ("file.dat");
	ostringstream oss (ostringstream::app);
	oss.precision(5);
	for (int i=0; i<100*buff_size; i++)
	{
		oss << i << endl;
		flushIfBig(out,oss,buff_size);
	}
	flushIfBig(out,oss,buff_size,true);
	out.close();
}