Песочница — различия между версиями
Vooon (обсуждение | вклад) |
Vooon (обсуждение | вклад) (→подсветка синтаксиса) |
||
Строка 187: | Строка 187: | ||
== подсветка синтаксиса == | == подсветка синтаксиса == | ||
− | <code>[python,N] | + | {| |
+ | |<code>[python,N] | ||
import serial | import serial | ||
Строка 201: | Строка 202: | ||
pass | pass | ||
return available | return available | ||
− | + | </code> | |
− | def | + | | |
− | """scan for | + | <pre><nowiki><code>[python,N] |
− | + | import serial | |
− | + | def availPorts(): | |
− | for | + | """scan for available ports. return a list of tuples (num, name)""" |
+ | available = [] | ||
+ | for i in range(256): | ||
try: | try: | ||
− | s. | + | s = serial.Serial(i) |
− | + | available.append( (i, s.portstr)) | |
− | except | + | s.close() #explicit close 'cause of delayed GC in java |
+ | except serial.SerialException: | ||
pass | pass | ||
− | return | + | return available |
+ | </code> | ||
+ | </nowiki></pre> | ||
+ | |} | ||
+ | |||
+ | === Аргументы === | ||
+ | <pre><nowiki> | ||
+ | Синтаксис: | ||
+ | <code>[lang,line_no,start_at,range(1-4,6-7)]...</code> | ||
+ | Примеры: | ||
+ | <code>[lang]...</code> // line_no default=Y, start_at default=1 | ||
+ | <code>[lang,N]...</code> // no line numbers | ||
+ | <code>[lang,5]...</code> // start at line 5 (with line numbers | ||
+ | <code>[lang,Y,5]...</code> // deprecated - same as above | ||
+ | // ('Y' is implied by start_at) | ||
+ | <code>[lang,1,(3-5,7)]...</code> // mark lines 3,4,5 and 7 | ||
+ | |||
+ | - lang is required, others are optional | ||
+ | - line_no default is Y, start_at is default to 1 | ||
+ | </nowiki></pre> | ||
+ | |||
+ | === Пример - Задан номер первой строки === | ||
+ | {| | ||
+ | | | ||
+ | <code>[pascal,5] | ||
+ | for i := 0 to high(myArray) do begin | ||
+ | writeln('Hi '+myArray[i]+'!'); | ||
+ | end; | ||
+ | </code> | ||
+ | | | ||
+ | <pre><nowiki> | ||
+ | <code>[pascal,5] | ||
+ | for i := 0 to high(myArray) do begin | ||
+ | writeln('Hi '+myArray[i]+'!'); | ||
+ | end; | ||
+ | </code> | ||
+ | </nowiki></pre> | ||
+ | |} | ||
+ | |||
+ | === Пример - Выделены линии === | ||
+ | {| | ||
+ | | | ||
+ | <code>[pascal,1,(2,4-6)] | ||
+ | // here is some code... | ||
+ | for i := 0 to high(myArray) do | ||
+ | begin | ||
+ | writeln('Hi '+myArray[i]+'!'); | ||
+ | end; | ||
+ | |||
+ | for i := high(myArray) downto 0 do | ||
+ | begin | ||
+ | writeln('Hi '+myArray[i]+'!'); | ||
+ | end; | ||
+ | </code> | ||
+ | | | ||
+ | <pre><nowiki><code>[pascal,1,(2,4-6)] | ||
+ | // here is some code... | ||
+ | for i := 0 to high(myArray) do | ||
+ | begin | ||
+ | writeln('Hi '+myArray[i]+'!'); | ||
+ | end; | ||
+ | |||
+ | for i := high(myArray) downto 0 do | ||
+ | begin | ||
+ | writeln('Hi '+myArray[i]+'!'); | ||
+ | end; | ||
+ | </code> | ||
+ | </nowiki></pre> | ||
+ | |} | ||
+ | |||
+ | === Пример - Параметры переданы как HTML параметры === | ||
+ | {| | ||
+ | | | ||
+ | <code lang="pascal" startat="1" range="2,4-6">[pascal,1,(2,4-6)] | ||
+ | // here is some code... | ||
+ | for i := 0 to high(myArray) do | ||
+ | begin | ||
+ | writeln('Hi '+myArray[i]+'!'); | ||
+ | end; | ||
+ | |||
+ | for i := high(myArray) downto 0 do | ||
+ | begin | ||
+ | writeln('Hi '+myArray[i]+'!'); | ||
+ | end; | ||
</code> | </code> | ||
+ | | | ||
+ | <pre><nowiki><code lang="pascal" startat="1" range="2,4-6"> | ||
+ | // here is some code... | ||
+ | for i := 0 to high(myArray) do | ||
+ | begin | ||
+ | writeln('Hi '+myArray[i]+'!'); | ||
+ | end; | ||
+ | |||
+ | for i := high(myArray) downto 0 do | ||
+ | begin | ||
+ | writeln('Hi '+myArray[i]+'!'); | ||
+ | end; | ||
+ | </code> | ||
+ | </nowiki></pre> | ||
+ | |} | ||
+ | странно - не работает :( | ||
+ | |||
+ | === Какие языки поддерживаются? === | ||
+ | #actionscript, | ||
+ | #ada, | ||
+ | #apache, | ||
+ | #asm, | ||
+ | #bash, | ||
+ | #c, | ||
+ | #cpp, | ||
+ | #csharp, | ||
+ | #css, | ||
+ | #delphi, | ||
+ | #dos, | ||
+ | #eiffel, | ||
+ | #html, | ||
+ | #ini, | ||
+ | #java, | ||
+ | #java5, | ||
+ | #javascript, | ||
+ | #js, | ||
+ | #lisp, | ||
+ | #matlab, | ||
+ | #mpasm, | ||
+ | #objc, | ||
+ | #oracle8, | ||
+ | #pascal, | ||
+ | #perl, | ||
+ | #php, | ||
+ | #pseudocode, | ||
+ | #python, | ||
+ | #qbasic, | ||
+ | #ruby, | ||
+ | #scheme, | ||
+ | #smarty, | ||
+ | #sql, | ||
+ | #text, | ||
+ | #vb, | ||
+ | #vbnet, | ||
+ | #vhdl, | ||
+ | #xhtml, | ||
+ | #xml |
Версия 06:48, 1 июля 2007
Setar - просто подпись, тэг ~~~
Setar 13:46, 11 апреля 2007 (MSD) - подпись с датой , тэг ~~~~
13:54, 11 апреля 2007 (MSD) дата , тэг ~~~~~
линия - тэг ----
Содержание
создание статей
1. тестовая страница - для создания ссылки на новую страницу (даже несуществующую) [[любое словосочетание]]
2. В строке браузера http://www.roboforum.ru/mediawiki/index.php/тестовая страница (можно по русски)
3. набрать имя статьи в строке "поиск" и нажать кнопку "Перейти". Тем самым Вы сразу узнаете есть-ли уже такая статья, а если нет, то Вы можете ее создать пройдя по ссылке Создать страницу.
- все страницы можно увидеть Служебная:Allpages
Ссылки
[[тестовая страница | текст ссылки ]]; текст ссылки
[[тестовая страница#раздел 1]] => тестовая страница#раздел 1.
Если ссылка идет на раздел внутри статьи, то название статьи можно опустить: [[#категории]] => #категории.
категории
Новые категории могут быть созданы так же, как и обычные страницы, однако при их просмотре к ним в конец будут добавлены автоматически создаваемые списки состоящие из статей относящихся к данной категории.
Служебная:Categories
Любая статья может быть включена в любую категорию. Достаточно на странице статьи добавить ссылку на страницу категории: [[Категория:Имя категории]].
Страница может быть внесена больше чем в одну категорию — нужно просто добавить несколько ссылко на категории.
При просмотре отредактированной страницы эти ссылки отображаются не в основном тексте, а внизу страницы. Имена категорий чувствительны к регистру, за исключением первого символа.
Если вы хотите просто создать ссылку на категорию, не добавляя в неё текущую страницу, используйте ссылки следующего вида: [[:Категория:Имя_категории]].
разделы
подразделы
под-под-разделы
форматирование
Если Вы хотите начать новую строку, но не начинать новый абзац,
разместите в конце строки тэг <br>.
- Двоеточие в начале строки дает отступ строки или абзаца.
списки
- каждая строка начинается со звёздочки;
- чем больше звёздочек — тем глубже уровень;
- чем больше звёздочек — тем глубже уровень;
- чем больше звёздочек — тем глубже уровень;
- Нумерованные списки тоже хороши:
- очень организованные;
- легко читаются.
- Можно
- делать
- вложенную
- нумерацию
- делать
- Вот так.
форматированный текст
ЕСЛИ строка начинается с пробела, ТОГДА она будет отформатирована так же, как и набрана. Шрифтом фиксированной ширины без переноса строк;
Аналогичного результата можно добиться используя тэг <pre>текст</pre>.
Выравнивание текста
Этот абзац отцентрирован. Использована конструкция: <p align=center> _текст_абзаца_ </p>. Для того, что бы лучше показать чем отличается выравнивание по центру от выравнивания по ширине и от выравнивания по левому и правому краю пришлось вставить этот никчемный текст.
Этот абзац выровнен по ширине. Использована конструкция: <p align=justify> _текст_абзаца_ </p>. Для того, что бы лучше показать чем отличается выравнивание по центру от выравнивания по ширине и от выравнивания по левому и правому краю пришлось вставить этот никчемный текст.
Этот абзац выровнен по левому краю. Использована конструкция: <p align=left> _текст_абзаца_ </p>. Для того, что бы лучше показать чем отличается выравнивание по центру от выравнивания по ширине и от выравнивания по левому и правому краю пришлось вставить этот никчемный текст.
Этот абзац выровнен по правому краю. Использована конструкция: <p align=right> _текст_абзаца_ </p>. Для того, что бы лучше показать чем отличается выравнивание по центру от выравнивания по ширине и от выравнивания по левому и правому краю пришлось вставить этот никчемный текст.
По умолчанию принято выравнивание по левому краю.
Содержание статьи
Если в статье содержится, по меньшей мере, четыре раздела, то панель «Содержание» (с оглавлением статьи) автоматически появляется на странице, непосредственно перед первым заголовком (то есть сразу после вступительного раздела).
Если вы хотите, чтобы «Содержание» появилось в каком-либо другом месте статьи (а не там, где оно появляется по умолчанию), то поместите ключевое слово __TOC__ в этом месте. А для того, чтобы «Содержание» вообще нигде не появлялось, достаточно поместить ключевое слово __NOTOC__ где угодно на странице.
Имена статей
Следующие символы нельзя использовать для заголовков статей:
# < > [ ] | { }
Следующие символы не рекомендуется использовать для заголовков статей:
. : /
Символ подчёркивания «_» автоматически заменяется на пробел.
Первая буква названия статьи должна быть заглавной. При викификации статьи автоматически создаются статьи с заглавными буквами.
Длина имени не должна превышать 255 байт в кодировке UTF-8. Поскольку русские буквы кодируются парами байт UTF-8, реальное ограничение — около 130 символов.
Статьи, названия которых совпадают с названиями категорий, могут вызывать проблемы.
Перенаправления
Перенаправления создаются, когда у одного предмета есть несколько альтернатив названия. У статьи всегда одно «настоящее» название, а для других создаются страницы-перенаправления. Когда пользователь запрашивает такую страницу, он автоматически попадает туда, куда она указывает.
Для создания перенаправления, напишите в исходном тексте статьи одну строку:
#REDIRECT [[Название статьи, куда будет перенаправлено]]
Больше никакого исходного текста быть не должно. Перенаправлений с одной страницы на несколько не бывает.
Если целевая страница сама есть перенаправление, то повторно оно не срабатывает. Поэтому следует исправлять двойные перенаправления, чтобы они всегда вели на действительную статью. Переименовывая статью, исправьте все перенаправления, ведущие на страницу со старым названием, ибо при переименовании та становится перенаправлением.
Форматирование символов
Используйте логическое ударение, | ''логическое ударение'' |
а так же структурное выделение | '''структурное выделение''' |
или даже логическое ударение в структурном выделении (или наоборот). | '''''логическое ударение в структурном выделении (или наоборот)''''' |
Моноширинный шрифт для технических терминов, | <tt>технических терминов</tt> |
специальное форматирование для фрагментов [text,N]исходного кода .
|
<code>[text,N]исходного кода</code> |
Вы можете использовать маленький текст для подзаголовков, | <small>маленький текст</small> |
и большой текст для смыслового выделения. | <big>большой</big> |
Вы можете |
<s>перечёркивать удалённый материал</s> |
и подчёркивать новый материал. | <u>подчёркивать новый материал</u> |
Цвета символов
Для окраски текста в вики, как и в HTML, служит атрибут style. Куски текста, цвет которых нужно изменить, включают в теги .
Цветной текст | <span style="color:red">Цветной текст</span> |
Фон для одного или неcкольких слов | <span style="background-color:yellow">Фон для одного или неcкольких слов</span> |
Можно комбинировать | <span style="color:red; background-color:yellow">Можно комбинировать</span> |
Яркие цвета в статьях должны использоваться только в виде исключения, когда это целесообразно. Цвета нужно использовать обдуманно.
Вы можете использовать как шестнадцатиричный код цвета, так и его название.
Специальные символы
Движок MediaWiki записывает статьи в кодировке Юникод, поэтому для удобства чтения исходного текста рекомендуется символы вставлять непосредственно, без использования кодов HTML, напр., α вместо α.
Внимание! Не все браузеры поддерживают расширенный набор символов.
Для размещения символов в верхних и нижних индексах:
нижний индекс: x2 | x<sub>2</sub> |
верхний индекс: x2 | x<sup>2</sup> |
или x² | x² |
² - это символ, их три: ¹, ², ³
подсветка синтаксиса
[python,N]
|
<code>[python,N] import serial def availPorts(): """scan for available ports. return a list of tuples (num, name)""" available = [] for i in range(256): try: s = serial.Serial(i) available.append( (i, s.portstr)) s.close() #explicit close 'cause of delayed GC in java except serial.SerialException: pass return available </code> |
Аргументы
Синтаксис: <code>[lang,line_no,start_at,range(1-4,6-7)]...</code> Примеры: <code>[lang]...</code> // line_no default=Y, start_at default=1 <code>[lang,N]...</code> // no line numbers <code>[lang,5]...</code> // start at line 5 (with line numbers <code>[lang,Y,5]...</code> // deprecated - same as above // ('Y' is implied by start_at) <code>[lang,1,(3-5,7)]...</code> // mark lines 3,4,5 and 7 - lang is required, others are optional - line_no default is Y, start_at is default to 1
Пример - Задан номер первой строки
|
<code>[pascal,5] for i := 0 to high(myArray) do begin writeln('Hi '+myArray[i]+'!'); end; </code> |
Пример - Выделены линии
|
<code>[pascal,1,(2,4-6)] // here is some code... for i := 0 to high(myArray) do begin writeln('Hi '+myArray[i]+'!'); end; for i := high(myArray) downto 0 do begin writeln('Hi '+myArray[i]+'!'); end; </code> |
Пример - Параметры переданы как HTML параметры
|
<code lang="pascal" startat="1" range="2,4-6"> // here is some code... for i := 0 to high(myArray) do begin writeln('Hi '+myArray[i]+'!'); end; for i := high(myArray) downto 0 do begin writeln('Hi '+myArray[i]+'!'); end; </code> |
странно - не работает :(
Какие языки поддерживаются?
- actionscript,
- ada,
- apache,
- asm,
- bash,
- c,
- cpp,
- csharp,
- css,
- delphi,
- dos,
- eiffel,
- html,
- ini,
- java,
- java5,
- javascript,
- js,
- lisp,
- matlab,
- mpasm,
- objc,
- oracle8,
- pascal,
- perl,
- php,
- pseudocode,
- python,
- qbasic,
- ruby,
- scheme,
- smarty,
- sql,
- text,
- vb,
- vbnet,
- vhdl,
- xhtml,
- xml