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

From Alliance Doc
Jump to navigation Jump to search
No edit summary
(Updating to match new version of source page)
 
(4 intermediate revisions by one other user not shown)
Line 3: Line 3:


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 de la balise <nowiki><syntaxhighlight></nowiki> ==
Pour la liste des options, veuillez vous référer à [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi cette page].


=== Option ''lang'' ===
=== 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 [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages ici].
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].  
 
=== ''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  [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages here].  


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