index.md 15 KB


title: Инструкция по работе над сайтом

  1. Содержание {:toc}

Запустите скрипт для работы над сайтом {#run}

Если вы читаете эту инструкцию, то скорее всего, уже запустили этот скрипт. Он должен быть у вас на рабочем столе.

Обновите репозиторий {#repo-update}

Скачайте изменения {#fetch}

На этом этапе git скачает изменения, сделанные другими разработчиками, но не объединит их с вашими.

Remote - Fetch from - origin

На этом этапе у вас могут запросить пароль для разблокировки ключа.

Слейте изменения {#merge}

Чтобы получить изменения, опубликованные на сайте, слейте ветку origin/master в ту ветку, где вы работаете. Если вы еще не сделали ветку себе для работы или собираетесь публиковать изменения, слейте origin/master в master.

При слиянии вы должны находиться на той ветке, куда сливаете другую (если вы находитесь на другой ветке, переключитесь на нужную):

Merge - Local Merge

Выберите ветку, которую нужно слить в текущую:

Merge tracking branch origin/master

Если все хорошо, работайте дальше. В некоторых случаях на этом этапе может возникнуть конфликт слияния. Он происходит, когда в разных ветках изменена одна и та же часть какого-то файла. В этом случае необходимо выбрать, какой вариант использовать, отредактировать файлы соответствующим образом и создать коммит, когда файлы будут выглядеть так, как вы хотите, чтобы они были объединены. При необходимости, обратитесь за помощью.

Работайте в правильной ветке {#branches}

Если у вас нет ветки, в которой вы собираетесь работать, создайте ее; если есть --- переключитесь на нее. Если вы уже на ней, переходите к редактированию.

Если изменения не очень существенные или не относятся к одному направлению, вы можете использовать персональную ветку.

Не работайте в master. Пусть master будет содержать только то, что либо уже находится на сайте, либо прямо сейчас будет туда загружено.

Создание ветки {#create-branch}

Branch - Create

В окне введите название ветки. Выберите ветку, на которой новая должна основываться (если не уверены, выберите master). Проверьте, что стоит флаг "Checkout After Creation", чтобы сразу переключиться на новую ветку.

Переключение на ветку {#checkout}

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

Branch - Checkout

Выберите ветку, на которую хотите переключиться:

Если вы используете персональную ветку, вам может потребоваться сливать в нее изменения, сделанные другими людьми или в других ветках. Слияние делается аналогично тому, что вы уже делали, только сливайте не в master, а в ту ветку, которую вы хотите обновить.

Редактируйте файлы {#edit}

Все тексты хранятся в папке content. Для добавлении новой новости создайте файл в папке content/news. Называйте файлы по шаблону YYYY-MM-slug.md где YYYY --- год, MM --- месяц (2 цифры), slug --- та часть, которая будет в адресе. В slug рекомендую ограничиться латиницей в нижнем регистре и дефисом. Если очень хочется, можно использовать латиницу в верхнем регистре, подчеркивание, цифры. Не используйте пробелы, кириллицу, прочие спецсимволы.

В начале файлов находятся метаданные между двумя строчками ---. У всех страниц есть заголовок(title), у новостей надо также прописать kind: article и created_at: YYYY-MM-DD (замените на реальную дату публикации).

Например, чтобы добавить новость от 31 декабря 1970 года, создадим файл 1970-12-important-information.md подобного содержания:

---
title: Важная новость
kind: article
created_at: 1970-12-31
---

Уважаемые клиенты! Хотим вам сообщить, что ...

Смотрите на существующие страницы, как там сделано.

Компиляция сайта {#compile}

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

Tools - Compile website

Когда сайт скомпилируется, закройте возникшее окно. Посмотреть изменения можно по адресу http://localhost:3000

Разметка {#markup}

В качестве разметки используется Markdown (если точнее, то kramdown).

Между абзацами оставляйте пустую строку:

Один абзац

Второй абзац

Списки тоже делаются просто, в качестве маркера можно использовать -, + или *:

- Элемент
- Еще элемент
- Третий элемент

Отделяйте списки от текста пустой строкой.

Нумерованные списки:

1. Первый элемент
2. Второй элемент
9. Третий элемент. Цифра не важна, на сайте будет цифра 3.

Ссылки делаются так: в квадратных скобках пишете текст ссылки, а в круглых (они должны стоять сразу после квадратных) то, куда пользователь попадет, кликнув по ней:

[Текст ссылки](http://example.com/)

Отображаться будет так: Текст ссылки.

Заголовки делаются так:

## Раздел Первый

### Статья 1

#### Пункт 1.1.1

Количество решеток соответствует уровню заголовка. Чем меньше уровень заголовка, тем он важнее. Заголовок 1 уровня --- название страницы, не используйте их в тексте. Заголовки 2 уровня --- названия разделов страницы, 3 уровня --- подразделов и т. д. Всего 6 уровней.

Закоммитьте изменения {#commit}

Коммит (снимок) --- это сохраненное состояние репозитория со вспомогательной информацией, помогающей отличить данное состояние от других (время фиксации, автор, родительский коммит (тот, на котором основывается данный) и т.д.).

Пересканируйте изменения:

Rescan

Git позволяет разделять изменения на несколько коммитов. Это полезно, если вы не хотите смешивать никак не связанные друг с другом изменения в один коммит. Посмотрите свои изменения и решите, какие из них должны войти в коммит. Если вы хотите зафиксировать все изменения, нажмите кнопку "Stage Changed", для добавления отдельных файлов нажмите на их иконку, для кусков файлов или строк используйте контекстное меню (вызывается правой кнопкой мыши).

Если вы передумали добавлять что-то, изменения удаляются из области подготовленных файлов почти так-же: кликните на иконку добавленного файла, чтобы отменить его изменение или в контекстном меню выберите "Unstage Hunk/Line From Commit".

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

В поле ввода сообщения кратко опишите изменения. Если хотите описать подробно, в первой строчке опишите кратко, вторую оставьте пустой, а дальше пишите подробно.

проверьте и опишите измениния и нажмите Commit

Отошлите изменения {#push}

На этом этапе вы отправите свои закоммиченные наработки в удаленный репозиторий, чтобы сделать их доступными другим разработчикам. Это не изменит сайт для посетителей.

Push

В диалоговом окне выберите ветку, в которой вы работали:

При отсылке изменений у вас могут потребовать пароль.

Публикация изменений {#publish}

Внимание! На момент написания этой части инструкции, у вас нет возможности самостоятельно публиковать изменения: у вас просто нет в меню опции "Publish the Website". Здесь описано то, как будет выглядеть процесс публикации.

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

status

Переключитесь на master и слейте туда сначала origin/master, а потом ту ветку, в которой вы работали.

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

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

Отправьте скомпилированный сайт на хостинг:

Tools - Publish the Website

При публикации может быть запрошен пароль от ключа либо от аккаунта на хостинге.

Дополнительно {#additional}

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

Просмотр истории {#history}

Repository - Visualize All Branch History

Откроется окно с историей:

gitk

В верхней части показаны коммиты с автором и временем их создания. Зелеными прямоугольниками показаны ветки. При клике по коммиту внизу отображается подробная информация о нем.

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

Обновление этой инструкции {#instruction-update}

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

cd instruction-nanoc
git pull
nanoc

После чего перезагрузите эту страницу.