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

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Новая: На этом сайте установлено расширение, позволяющее делать подсветку синтаксиса. Примеры: Исходный ко...)
 
 
(не показаны 3 промежуточные версии 1 участника)
Строка 1: Строка 1:
На этом сайте установлено расширение, позволяющее делать подсветку синтаксиса.
+
==Описание==
 +
На этом сайте установлено расширение [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi Extension:SyntaxHighlight GeSHi], позволяющее делать подсветку синтаксиса. Это расширение добавляет тег <tt>&lt;source></tt> для отображения кода. Внутри тега <tt>source</tt> сохраняется выравнивание с помощью пробелов, символов табуляции.
  
Примеры:
+
==Атрибуты==
Исходный код на C# с нумерацией строк
+
 
----
+
{| {{prettytable}} 
 +
| <tt>lang</tt>
 +
| язык подсветки. Список значений см. ниже
 +
|-
 +
| <tt>line</tt>
 +
| нумерация строк. 0 - нет, 1 - есть. Значение по умолчанию — 0
 +
|-
 +
| <tt>start</tt>
 +
| если включена нумерация строк, <tt>start</tt> определяет, с какого числа начинается нумерация. Значение по умолчанию — 1
 +
|}
 +
 
 +
==Поддерживаемые языки==
 +
{| class="simple" style="float:left;border-collapse:collapse" border="1"
 +
!Code||Language
 +
|-
 +
|<code>abap</code>||ABAP
 +
|-
 +
|<code>actionscript</code>||ActionScript
 +
|-
 +
|<code>ada</code>||Ada
 +
|-
 +
|<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>
 +
'''Примечание'''. Список доступных кодов в установленной версии расширения можно посмотреть при предварительном просмотре, набрав
 +
&lt;source lang="-">&lt;/source>
 +
в редакторе статьи.
 +
 
 +
==Примеры==
 +
===C#, с нумерацией строк===
 +
{| {{prettytable}}
 +
!Что пишем
 +
!Результат
 +
|-
 +
|<pre><nowiki>
 
<source lang="csharp" line="1">
 
<source lang="csharp" line="1">
 
// Hello World in Microsoft C# ("C-Sharp").
 
// Hello World in Microsoft C# ("C-Sharp").
Строка 18: Строка 222:
 
}
 
}
 
</source>
 
</source>
----
+
</nowiki></pre>
Исходный код на Delphi без нумерации строк
+
|<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>
 +
|}
 +
 
 +
===C#, c нумерацией строк не с начала===
 +
Здесь приведен фрагмент кода из предыдущего примера. Нумерация начинается не с единицы, чтобы номера строк в этом фрагменте совпадали с номерами строк всего кода, приведенного ранее.
 +
 
 +
{| {{prettytable}} 
 +
!Что пишем
 +
!Результат
 +
|-
 +
|<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, без нумерации строк===
 +
{| {{standart}} 
 +
!Что пишем
 +
!Результат
 +
|-
 +
|<pre><nowiki>
 
<source lang="delphi">
 
<source lang="delphi">
 
// comment
 
// comment
 
+
var i:integer;
 +
begin 
 +
  i:=10;
 +
  write(i);
 +
end.
 +
</source>
 +
</nowiki></pre>
 +
|<source lang="delphi">
 +
// comment
 +
var i:integer;
 
begin
 
begin
  var i:integer;
 
 
   i:=10;
 
   i:=10;
 
   write(i);
 
   write(i);
 
end.
 
end.
 
</source>
 
</source>
----
+
|}
 
 
 
 
Синтаксис:
 
 
 
'''&lt;source lang="lang" line="1"><br>'''
 
'''Код<br>'''
 
'''&lt;/source>'''
 
  
Где атрибут lang определяет язык подсветки, а необязательный атрибут line определяет наличие (1) или отсутствие (0 - значение по умолчанию) нумерации строк.
+
[[Категория:Wiki]]
Список доступных языков пока можно посмотреть [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages тут], чуть позже я напишу более подробную справку и таблицу с языками.
 

Текущая версия на 03:16, 11 августа 2009

Описание

На этом сайте установлено расширение Extension:SyntaxHighlight GeSHi, позволяющее делать подсветку синтаксиса. Это расширение добавляет тег <source> для отображения кода. Внутри тега source сохраняется выравнивание с помощью пробелов, символов табуляции.

Атрибуты

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

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

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>

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

Примеры

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.