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

From Alliance Doc
Jump to navigation Jump to search
(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...")
(Updating to match new version of source page)
 
(6 intermediate revisions by one other user not shown)
Line 4: Line 4:
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>'''.  
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 de la balise <nowiki><syntaxhighlight></nowiki> ==
For a complete list of options, please refer to [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi this page].
Pour la liste des options, veuillez vous référer à [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi cette page].


=== ''lang'' option ===
=== Option ''lang'' ===
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  [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages here].  
L'option '''lang''' permet de définir le langage utilisé pour la détection de la syntaxe. Le langage par défaut, si ce paramètre est omis, est le C++. La liste des langages supportés est disponible [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages ici].  


=== ''line'' option ===
=== Option ''line'' ===
The '''line''' option displays line numbers.  
L'option '''line''' permet d'afficher des numéros de ligne.  


== Example ==
== Exemple ==
Here is an example of a C++ code snippet created with the <nowiki><syntaxhighlight lang="cpp" line> ... </syntaxhighlight></nowiki> tag.
Voici un exemple de code C++ créé avec la balise <nowiki><syntaxhighlight lang="cpp" line> ... </syntaxhighlight></nowiki>.


<syntaxhighlight lang="cpp" line>
<syntaxhighlight lang="cpp" line>
Line 32: Line 32:
int buff_size = 50*1024*1024;
int buff_size = 50*1024*1024;


ofstream out ("file.dat");
ofstream out ("file.dat");
ostringstream oss (ostringstream::app);
ostringstream oss (ostringstream::app);
oss.precision(5);
oss.precision(5);

Latest revision as of 21:57, 19 May 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 de la balise <syntaxhighlight>

Pour la liste des options, veuillez vous référer à cette page.

Option lang

L'option lang permet de définir le langage utilisé pour la détection de la syntaxe. Le langage par défaut, si ce paramètre est omis, est le C++. La liste des langages supportés est disponible ici.

Option line

L'option line permet d'afficher des numéros de ligne.

Exemple

Voici un exemple de code C++ créé avec la balise <syntaxhighlight lang="cpp" line> ... </syntaxhighlight>.

#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();
}