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")
 
(Updating to match new version of source page)
 
(7 intermediate revisions by one other user not shown)
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 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();
}