Подсветка синтаксиса — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
Строка 1: Строка 1:
На этом сайте установлено расширение, позволяющее делать подсветку синтаксиса.
+
==Описание==
 +
На этом сайте установлено расширение [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight GeSHi], позволяющее делать подсветку синтаксиса.
  
Примеры:
+
Это расширение добавляет тег <tt>&lt;source></tt> для отображения кода.
Исходный код на C# с нумерацией строк
+
 
 +
Внутри тега <tt>source</tt> сохраняется выравнивание с помощью пробелов, символов табуляции.
 +
 
 +
==Атрибуты==
 +
* '''lang''': язык подсветки, список значений см. ниже.
 +
* '''line''': нумерация строк. 0 - нет, 1 - есть, значение по умолчанию - 0.
 +
* '''start''': если включена нумерация строк, <tt>start</tt> определяет, с какого числа начинается нумерация. Значение по умолчанию - 1.
 +
 
 +
==Примеры==
 +
===C#, с нумерацией строк===
 +
<pre><nowiki>
 +
<source lang="csharp" line="1">
 +
// Hello World in Microsoft C# ("C-Sharp").
 +
 
 +
using System;
 +
 
 +
class HelloWorld
 +
{
 +
    public static int Main(String[] args)
 +
    {
 +
        Console.WriteLine("Hello, World!");
 +
        return 0;
 +
    }
 +
}
 +
</source>
 +
</nowiki></pre>
 +
Результат:
 
----
 
----
 
<source lang="csharp" line="1">
 
<source lang="csharp" line="1">
Строка 19: Строка 46:
 
</source>
 
</source>
 
----
 
----
Исходный код на PascalABC.NET, подсветка синтаксиса по правилам Delphi без нумерации строк
+
===C#, c нумерацией строк не с начала===
 +
Здесь приведен фрагмент кода из предыдущего примера. Нумерация начинается не с единицы, чтобы номера строк в этом фрагменте совпадали с номерами строк всего кода, приведенного ранее.
 +
<pre><nowiki>
 +
<source lang="csharp" line="1" start="7">
 +
    public static int Main(String[] args)
 +
    {
 +
        Console.WriteLine("Hello, World!");
 +
        return 0;
 +
    }
 +
</source>
 +
</nowiki></pre>
 +
Результат:
 +
----
 +
<source lang="csharp" line="1" start="7">
 +
    public static int Main(String[] args)
 +
    {
 +
        Console.WriteLine("Hello, World!");
 +
        return 0;
 +
    }
 +
</source>
 +
 
 +
----
 +
===Delphi, без нумерации строк===
 +
<pre><nowiki>
 +
<source lang="delphi">
 +
// comment
 +
var i:integer;
 +
begin 
 +
  i:=10;
 +
  write(i);
 +
end.
 +
</source>
 +
</nowiki></pre>
 +
Результат:
 
----
 
----
 
<source lang="delphi">
 
<source lang="delphi">
 
// comment
 
// comment
 
+
var i:integer;
 
begin
 
begin
  var i:integer;
 
 
   i:=10;
 
   i:=10;
 
   write(i);
 
   write(i);
Строка 31: Строка 90:
 
</source>
 
</source>
 
----
 
----
 
+
==Поддерживаемые языки==
 
+
{| class="simple" style="float:left;border-collapse:collapse" border="1"
Синтаксис:
+
!Code||Language
 
+
|-
'''&lt;source lang="lang" line="1"><br>'''
+
|<code>abap</code>||ABAP
'''Код<br>'''
+
|-
'''&lt;/source>'''
+
|<code>actionscript</code>||ActionScript
 
+
|-
Где атрибут lang определяет язык подсветки, а необязательный атрибут line определяет наличие (1) или отсутствие (0 - значение по умолчанию) нумерации строк.
+
|<code>ada</code>||Ada
Список доступных языков пока можно посмотреть [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages тут], чуть позже я напишу более подробную справку и таблицу с языками.
+
|-
 +
|<code>apache</code>||Apache Log
 +
|-
 +
|<code>applescript</code>||AppleScript
 +
|-
 +
|<code>asm</code>||ASM
 +
|-
 +
|<code>asp</code>||Active Server Pages (ASP)
 +
|-
 +
|<code>autoit</code>||AutoIt
 +
|-
 +
|<code>bash</code>||Bash
 +
|-
 +
|<code>basic4gl</code>||Basic4GL
 +
|-
 +
|<code>blitzbasic</code>|||Blitz BASIC
 +
|-
 +
|<code>bnf</code>||Backus-Naur Form
 +
|-
 +
|<code>c</code>||C
 +
|-
 +
|<code>c_mac</code>||C (Mac)
 +
|-
 +
|<code>caddcl</code>||AutoCAD DCL
 +
|-
 +
|<code>cadlisp</code>||AutoLISP
 +
|-
 +
|<code>cfdg</code>||CFDG
 +
|-
 +
|<code>cfm</code>||ColdFusion
 +
|-
 +
|<code>cpp-qt</code>||C++ (Qt toolkit)
 +
|-
 +
|<code>cpp</code>||C++
 +
|-
 +
|<code>csharp</code>||C#
 +
|-
 +
|<code>css</code>|||Cascading Style Sheets (CSS)
 +
|-
 +
|<code>d</code>||D
 +
|-
 +
|<code>delphi</code>||Delphi
 +
|-
 +
|<code>diff</code>||Diff
 +
|-
 +
|<code>div</code>||DIV
 +
|-
 +
|<code>dos</code>||DOS batch file
 +
|-
 +
|<code>dot</code>||DOT
 +
|-
 +
|<code>eiffel</code>||Eiffel
 +
|-
 +
|<code>fortran</code>||Fortran
 +
|-
 +
|<code>freebasic</code>||FreeBASIC
 +
|-
 +
|<code>genero</code>||Genero
 +
|-
 +
|<code>gml</code>||Game Maker Language (GML)
 +
|-
 +
|<code>groovy</code>||Groovy
 +
|-
 +
|<code>haskell</code>||Haskell
 +
|-
 +
|<code>html4strict</code>||HTML
 +
|-
 +
|<code>idl</code>||Uno IDL
 +
|-
 +
|<code>ini</code>||INI
 +
|-
 +
|<code>inno</code>||Inno
 +
|-
 +
|<code>io</code>||Io
 +
|-
 +
|<code>java</code>||Java
 +
|-
 +
|<code>java5</code>||Java(TM) 2 Platform Standard Edition 5.0
 +
|-
 +
|<code>javascript</code>||JavaScript
 +
|-
 +
|<code>latex</code>||LaTeX
 +
|}
 +
{| class="simple" style="float:left;border-collapse:collapse" border="1"
 +
!Code||Language
 +
|-
 +
|<code>lisp</code>||Lisp
 +
|-
 +
|<code>lua</code>||Lua
 +
|-
 +
|<code>m68k</code>||Motorola 68000 Assembler
 +
|-
 +
|<code>matlab</code>||MATLAB M
 +
|-
 +
|<code>mirc</code>||mIRC scripting language
 +
|-
 +
|<code>mpasm</code>||Microchip Assembler
 +
|-
 +
|<code>mysql</code>||MySQL
 +
|-
 +
|<code>nsis</code>||Nullsoft Scriptable Install System (NSIS)
 +
|-
 +
|<code>objc</code>||Objective-C
 +
|-
 +
|<code>ocaml-brief</code>||OCaml
 +
|-
 +
|<code>ocaml</code>||OCaml
 +
|-
 +
|<code>oobas</code>||OpenOffice.org Basic
 +
|-
 +
|<code>oracle8</code>||Oracle 8 SQL
 +
|-
 +
|<code>pascal</code>||Pascal
 +
|-
 +
|<code>per</code>||per
 +
|-
 +
|<code>perl</code>||Perl
 +
|-
 +
|<code>php-brief</code>||PHP
 +
|-
 +
|<code>php</code>||PHP
 +
|-
 +
|<code>plsql</code>||PL/SQL
 +
|-
 +
|<code>python</code>||Python
 +
|-
 +
|<code>qbasic</code>||QBasic/QuickBASIC
 +
|-
 +
|<code>rails</code>||Rails
 +
|-
 +
|<code>reg</code>||Windows Registry
 +
|-
 +
|<code>robots</code>||robots.txt
 +
|-
 +
|<code>ruby</code>||Ruby
 +
|-
 +
|<code>sas</code>||SAS
 +
|-
 +
|<code>scheme</code>||Scheme
 +
|-
 +
|<code>sdlbasic</code>||SdlBasic
 +
|-
 +
|<code>smalltalk</code>||Smalltalk
 +
|-
 +
|<code>smarty</code>||Smarty
 +
|-
 +
|<code>sql</code>||SQL
 +
|-
 +
|<code>tcl</code>||Tcl
 +
|-
 +
|<code>text</code>||Plain text
 +
|-
 +
|<code>thinbasic</code>||thinBasic
 +
|-
 +
|<code>tsql</code>||Transact-SQL
 +
|-
 +
|<code>vb</code>||Visual Basic
 +
|-
 +
|<code>vbnet</code>||Visual Basic .NET
 +
|-
 +
|<code>vhdl</code>||VHDL
 +
|-
 +
|<code>visualfoxpro</code>||Visual FoxPro
 +
|-
 +
|<code>winbatch</code>||Winbatch
 +
|-
 +
|<code>xml</code>||XML
 +
|-
 +
|<code>xpp</code>||X++
 +
|-
 +
|<code>z80</code>||ZiLOG Z80 Assembler
 +
|}
 +
<div style="clear:both"></div>
 +
Примечание:<br>
 +
Список доступных кодов в установленной версии расширения можно посмотреть при предварительном просмотре, набрав
 +
&lt;source lang="-">&lt;/source>
 +
в редакторе статьи.

Версия 16:11, 14 декабря 2008

Описание

На этом сайте установлено расширение Extension:SyntaxHighlight GeSHi, позволяющее делать подсветку синтаксиса.

Это расширение добавляет тег <source> для отображения кода.

Внутри тега source сохраняется выравнивание с помощью пробелов, символов табуляции.

Атрибуты

  • lang: язык подсветки, список значений см. ниже.
  • line: нумерация строк. 0 - нет, 1 - есть, значение по умолчанию - 0.
  • start: если включена нумерация строк, start определяет, с какого числа начинается нумерация. Значение по умолчанию - 1.

Примеры

C#, с нумерацией строк

<source lang="csharp" line="1">
// Hello World in Microsoft C# ("C-Sharp").

using System;

class HelloWorld
{
    public static int Main(String[] args)
    {
        Console.WriteLine("Hello, World!");
        return 0;
    }
}
</source>

Результат:


// Hello World in Microsoft C# ("C-Sharp").

using System;

class HelloWorld
{
    public static int Main(String[] args)
    {
        Console.WriteLine("Hello, World!");
        return 0;
    }
}

C#, c нумерацией строк не с начала

Здесь приведен фрагмент кода из предыдущего примера. Нумерация начинается не с единицы, чтобы номера строк в этом фрагменте совпадали с номерами строк всего кода, приведенного ранее.

<source lang="csharp" line="1" start="7">
    public static int Main(String[] args)
    {
        Console.WriteLine("Hello, World!");
        return 0;
    }
</source>

Результат:


     public static int Main(String[] args)
     {
         Console.WriteLine("Hello, World!");
         return 0;
     }

Delphi, без нумерации строк

<source lang="delphi">
// comment
var i:integer;
begin   
  i:=10;
  write(i);
end.
</source>

Результат:


// comment
var i:integer;
begin
  i:=10;
  write(i);
end.

Поддерживаемые языки

Code Language
abap ABAP
actionscript ActionScript
ada Ada
apache Apache Log
applescript AppleScript
asm ASM
asp Active Server Pages (ASP)
autoit AutoIt
bash Bash
basic4gl Basic4GL
blitzbasic Blitz BASIC
bnf Backus-Naur Form
c C
c_mac C (Mac)
caddcl AutoCAD DCL
cadlisp AutoLISP
cfdg CFDG
cfm ColdFusion
cpp-qt C++ (Qt toolkit)
cpp C++
csharp C#
css Cascading Style Sheets (CSS)
d D
delphi Delphi
diff Diff
div DIV
dos DOS batch file
dot DOT
eiffel Eiffel
fortran Fortran
freebasic FreeBASIC
genero Genero
gml Game Maker Language (GML)
groovy Groovy
haskell Haskell
html4strict HTML
idl Uno IDL
ini INI
inno Inno
io Io
java Java
java5 Java(TM) 2 Platform Standard Edition 5.0
javascript JavaScript
latex LaTeX
Code Language
lisp Lisp
lua Lua
m68k Motorola 68000 Assembler
matlab MATLAB M
mirc mIRC scripting language
mpasm Microchip Assembler
mysql MySQL
nsis Nullsoft Scriptable Install System (NSIS)
objc Objective-C
ocaml-brief OCaml
ocaml OCaml
oobas OpenOffice.org Basic
oracle8 Oracle 8 SQL
pascal Pascal
per per
perl Perl
php-brief PHP
php PHP
plsql PL/SQL
python Python
qbasic QBasic/QuickBASIC
rails Rails
reg Windows Registry
robots robots.txt
ruby Ruby
sas SAS
scheme Scheme
sdlbasic SdlBasic
smalltalk Smalltalk
smarty Smarty
sql SQL
tcl Tcl
text Plain text
thinbasic thinBasic
tsql Transact-SQL
vb Visual Basic
vbnet Visual Basic .NET
vhdl VHDL
visualfoxpro Visual FoxPro
winbatch Winbatch
xml XML
xpp X++
z80 ZiLOG Z80 Assembler

Примечание:
Список доступных кодов в установленной версии расширения можно посмотреть при предварительном просмотре, набрав

<source lang="-"></source>

в редакторе статьи.