Рекомендации по написанию статей для сайта

Автор: Александр Бельченко
Дата: 3 октября 2005
Версия: 1.0

В данном документе изложены рекомендации по формату и стилю оформления статей для публикации на сайте "Про встраиваемые системы".

1 Используемый формат и инструменты

Я использую свою собственную систему сборки страниц сайта, написанную на Питоне. В качестве исходного материала используются тексты статей в формате ReStructuredText и шаблоны html-страниц.

Тексты в формате ReStructuredText представляют собой обычные текстовые файлы с включение в текст несложной разметки, определяющей как тот или иной участок текста будет выглядеть в браузере.

Для написания текстов в формате ReStructuredText достаточно иметь обычный текстовый редактор. Мне для публикации Вы высылаете статью в формате ReStructuredText, преобразование в html-вид я осуществляю сам.

Для преобразования текста в html-форму понадобятся инструменты:

  1. Интерпретатор языка Python (версии 2.3 и выше, рекомендуется 2.4): http://www.python.org
  2. Набор утилит Docutils: http://docutils.sf.net

Эти инструменты могут быть нужны, если Вам интересно увидеть, как будет выглядеть Ваша статья в браузере.

1.1 Установка интерпретатора Python

Скачайте дистрибутив Python для вашей платформы.

  1. Если Вы используете Windows, то дальше Вам понадобится запустить загруженный файл и провести типичную инсталляцию программы для Windows. После успешного завершения процесса рекомендую добавить в переменную окружения PATH путь к каталогу, в который установлен Python (в типичном случае это будет C:\Python24), а также путь к подкаталогу Scripts (который в типичном случае будет C:\Python24\Scripts).
  2. Если Вы используете Cygwin, то при помощи программы установки выберите и загрузите (если Вы ещё не загружали) из интернета интерпретатор Python и установите его стандартным для Cygwin способом: через программу загрузки/установки/удаления пакетов.
  3. Если для Вашей платформы имеется готовый скомпилированный пакет с Python, то установите его в соответствии с инструкцией для своей платформы, в противном случае Вам понадобится скачать исходные тексты интерпретатора и скомпилировать их самостоятельно.

Замечание: Большинство современных дистрибутивов Linux содержат интерпретатор Python в стандартной поставке.

1.2 Установка Docutils

Скачайте архив с последней версией утилиты Docutils. Распакуйте архив, перейдите в папку с распакованными файлами (Вам нужна папка, в которой находится файл setup.py). Установите утилиту при помощи команды:

python setup.py install

Для преобразования текста из формата ReStructuredText в html-формат используется утилита rst2html.py, которая после установки будет находиться в подкаталоге Scripts для Python, либо её можно скопировать в удобное место из распакованного архива docutils (см. в подкаталоге tools).

1.3 Запуск преобразования в формат html

Преобразование осуществляется командой:

rst2html.py -i cp1251 -l ru input_file output_file

Здесь:

  • -i cp1251 — указание кодировки Вашего исходного текстового файла. Для текстов, набираемых в стандартных GUI-редакторах Windows кодировка будет cp1251. Для текстов, набираемых в консольном ДОС-окне, кодировка будет cp866. Типичной используемой кодировкой для Линукс-систем является или koi8_r (КОИ-8) или utf8 (UTF-8). Пользователи Mac скорее всего используют кодировку mac_cyrillic.
  • -l ru — язык текста: Русский
  • input_file — имя исходного текстового файла
  • output_file — имя для выходного текстового файла (рекомендую использовать расширение .htm)

Полученный в результате преобразования html-файл затем Вы можете просмотреть в своём любимом браузере.

2 Рекомендации по использованию ReStructuredText

2.1 Шапка документа

Каждый документ должен иметь заголовок и может иметь подзаголовок (title и subtitle).

Также в шапке документа непосредственно после заголовка/подзаголовка должны идти как минимум два поля: дата и автор. В поле автор нужно указать имя и фамилию автора, дополнительно можно указать ник автора, электронный адрес. В связи с тем, что спам достал уже всех, то электронный адрес необходимо указывать неявной форме: вместо знака @ используйте слова синонимы (AT, (at), (a) и др.), вместо точек тоже имеет смысл вставить слово (DOT, dt) или вообще оставить пробел. Возможны более изощрённые варианты шифрования адреса электронной почты от спам-роботов. Основное условие: чтобы такой адрес мог быть расшифрован человеческим мозгом.

Пример оформления шапки в формате ReStructuredText:

=========
Заголовок
=========
------------
Подзаголовок
------------

:Автор: Александр Бельченко
:Дата: 3 октября 2005

2.2 Аннотация и содержание

После шапки документа может следовать краткая аннотация статьи и содержание.

2.2.1 Аннотация

Аннотация (если присутствует) должна предшествовать содержанию или первому заголовку статьи. Аннотация должна представлять краткий текст из нескольких предложений, который бы давал представление о теме нижеследующей статьи. Допускается в конце аннотации приводить список ключевых слов.

Аннотация должна быть оформлена как обычный текст, без отступов.

2.2.2 Содержание

Если статья большая и объёмная, то она как правило должна быть разбита на разделы. Если число разделов/подразделов больше 3х, то имеет смысл давать содержание. Содержание генерируется автоматически. Для вставки содержания необходимо использовать специальную директиву:

.. Содержание::

2.3 Текст статьи

2.3.1 Заголовки

Текст статьи может разбиваться на ряд разделов/подразделов. Заголовок каждого раздела выделяется подчёркиванием в нижеследующей строке. Для заголовков разных уровней используются различные виды подчёркиваний. Рекомендуется ограничиваться использованием трёх уровней заголовков.

Заголовки могут иметь нумерацию. Нумерация должна начинаться с цифры 1. Каждый уровень заголовков имеет нумерацию из нескольких цифр, количество которых соответствует уровню заголовка. Цифры в номере заголовка разделяются точками, после последней цифры точка не ставится. Между номером заголовка и текстом заголовка должен быть пробел. Приложения (если таковые имеются) следует нумеровать, добавляя букву П в начале.

Пример оформления:

1 Заголовок А
=============

1.1 Заголовок Б
---------------
текст

1.1.1 Заголовок В
*****************
текст

1.2 Заголовок Д
---------------
текст

2.3.2 Логическое и смысловое выделение текста

Для того, чтобы акцентировать внимание на отдельные слова в тексте, используется два вида выделений: выделение текста и ударение.

Для отображения выделенного текста обычно используется курсив, для индикации сильного выделения (или ударения) в тексте обычно используется полужирный шрифт.

Старайтесь не злоупотреблять выделением текста, особенно ударением.

Выделенный текст в формате ReStructuredText оформляется при помощи обрамления в виде "звёздочек":

*выделение*

**ударение**

2.3.3 Вставка рисунков

Для вставки рисунков используется директива image:

.. image::

Подробнее — см. в документации к Docutils.

2.3.4 Текст с отступом

Для вставки длинных цитат, примечаний и комментариев к основному тексту целесообразно использовать отступы:

основной текст

        длинный многострочный комментарий

снова основной текст

2.3.5 Списки (перечисления)

Для вставки в текст различного рода списков (нумерованных и ненумерованных) используются либо маркеры, либо обычный пронумерованный список. Каждый элемент должен начинаться с новой строки. Если текст одного элемента не умещается на одной строке и переносится на следующую, то он должен иметь небольшой отступ, чтобы совпадать с началом текста на предыдущей строке.

Пример ненумерованного списка:

* первый элемент;
* второй элемент, многострочный.
  Вторая строка второго элемента;
* третий элемент.

Пример нумерованного списка:

1) апельсин;
2) арбуз;
3) ананас.

При записи списков рекомендуется каждый пункт, кроме последнего, заканчивать символом точка с запятой (;), последний пункт следует заканчивать точкой.

2.3.6 Моноширинный текст

Для вставки в предложения текста, который соответствует именам переменным, инструкциям ассемблера или для других аналогичных случаев, можно использовать оформление вставляемого текста при помощи моноширинного шрифта. Такие кусочки текста должны обрамляться двойными обратными кавычками:

простой текст ``моноширинный текст``

2.3.7 Примеры программ, преформатированный текст

Для вставки в текст больших участков преформатированного текста (например, примеры кода программ) используйте текст с отступом, который предваряет двойное двоеточие (::).

Пример программы::

        int main(void)
        {
                return 0;
        }

2.3.8 Таблицы

Для вставки таблиц могут использоваться две формы записи.

В первом случае таблица "рисуется" при помощи символов:

  • - для горизонтальных линий;
  • | для вертикальных линий;
  • + для пересечений линий;
  • = для отделения заголовка таблицы от основного тела.

Во втором случае для простых таблиц, состоящих из нескольких колонок и строк, используется форма с отделением колонок и строк друг от друга при помощи пробелов и пустых строк:

=========  =========  ============
Колонка 1  Колонка 2  Колонка 3
=========  =========  ============
Строка 1   12         34

Строка 2   56         78
=========  =========  ============

Подробнее о таблицах и других возможностях — см. справку по синтаксису ReStructuredText.

3 Рекомендации по стилю изложения

Большинство технических изданий требуют излагать материал от третьего лица. Я считаю такой подход излишне формальным и сухим, а потому рекомендую использовать изложение от первого лица, если автором является один человек. Мой интернет-сайт — не столько библиотека, сколько трибуна для изложения мыслей, статьи могут не только содержать справочную информацию, но ещё и давать пищу для размышлений, провоцировать читателей на дискуссию. А это требует от автора использования активной позиции.

Остальных требований к написанию технических статей рекомендуется придерживаться с большой тщательностью.

  • Используйте единство терминологии в пределах статьи;

  • Будьте корректны при использовании терминов, единиц измерений;

  • Пишите то, о чем Вы точно знаете, излагайте факты, а не стройте догадки. Это не значит, что Вы не можете высказывать свои предположения, но старайтесь, чтобы их число было относительно невелико по отношению к числу приведённых фактов;

  • старайтесь проверить орфографию в статье перед отправкой на публикацию. Для проверки орфографии существует множество инструментов и программ, есть также хорошие свободные программы, например ispell, для которой в сети можно скачать русские словари;

  • большую статью разбивайте на разделы;

  • единицей информации в тексте является абзац. Каждый абзац должен содержать в себе одну законченную мысль. Хорошим стилем является изложение главной мысли в первом предложении абзаца, с развитием этой мысли в последующих предложениях;

  • Старайтесь не использовать много длинных сложноподчинённых предложений с большим числом причастных и деепричастных оборотов. Это затрудняет чтение. Вместо этого старайтесь разбивать изложение на ряд точных и лаконичных предложений;

  • Помните, что рецепт хорошей статьи описывается формулой:

    хорошая статья = статья - 10%
    

4 Редакторская правка

Я, как редактор сайта, оставляю за собой право вносить незначительные коррективы и правки в текст статьи, которые не влияют на суть излагаемого материала, но могут улучшить читаемость текста.

Очень большие статьи, которые в html-виде будут иметь размер более 20-30 КБ, могут быть разбиты на несколько связанных страниц.

5 Пример оформления

Данный документ может использоваться как пример оформления текста. Исходный текст статьи в формате ReStructuredText содержится в архиве rstx-example.zip.

В том же архиве Вы найдете таблицу стилей default.css, которую можно использовать для просмотра Ваших статей после преобразования в html-вид. Статьи будут отображаться в виде, наиболее близком к оформлению на сайте. Скопируйте файл с таблицей стилей в папку с преобразованным html-документом.