Для описания проектов на GitHub используется README.md, который пишется на языке разметки аля - markdown. Что и как поддерживается расписано ниже. Так же есть еще один формат - это reStructuredText о нем написано в отдельном файле.
- Разделительная черта
- Заголовки
- Работа с выделением текста
- Использование эмодзи (emoji)
- Использование цитирования в тексте
- Подсветка кода
- Списки
- Ссылки
- Вставка изображения
- Вставка таблиц
- Дополнения
При использование
____
получаеться разделительная черта
Всего существует шесть вариантов создать заголовок. Для того, что бы создать заголовок необходимо в начале строки установить символ #
.
# Заголовок 1
## Заголовок 2
### Заголовок 3
#### Заголовок 4
##### Заголовок 5
###### Заголовок 6
~~Зачеркнутый текст~~
Зачеркнутый текст (Strikethrough)
Для выделения текста жирным
или наклонным
и их сочетания можно использовать комбинации *
или _
**Жирный текст (bold)**
Жирный текст (bold)
*Наклонный текст (italic)*
Наклонный текст (italic)
***Жирный наклонный текст (bold italic)***
Жирный наклонный текст (bold italic)
__Жирный текст (bold)__
Жирный текст (bold)
_Наклонный текст (italic)_
Наклонный текст (italic)
___Жирный наклонный текст (bold italic)___
Жирный наклонный текст (bold italic)
~~*__Тут странный текст__*~~
Тут странный текст
В самом тексте можно использовать эмодзи, например написать вот так:
✅ Это уже сделано
❎ Я не буду это делать
🔲 делать или не делать, вот в чем вопрос?
В оригинале это выглядит так (в конце строки четыре (4) пробела для того, что бы был переход на новую строку):
:white_check_mark: Это уже сделано
:negative_squared_cross_mark: Я не буду это делать
:black_square_button: делать или не делать, вот в чем вопрос?
Список работающих Эмодзи находится тут -> emoji.md
> Цитата (уровень 1)
> > Вложенная цитата (уровень 2)
> > > Вложенная цитата (уровень 3)
> > Продолжение цитаты (уровень 2)
> Продолжение цитаты (уровень 1)
Цитата (уровень 1)
Вложенная цитата (уровень 2)
Вложенная цитата (уровень 3)
Продолжение цитаты (уровень 2)
Продолжение цитаты (уровень 1)
Внешний вид, конечно, не очень но может и пригодится.
Если нужно выделить слово или фразу внутри строки, то используются одинарные обратные апострофы (`), для выделения в блоки - тройные. Дополнительно можно задавать язык кода внутри блока:
Можно использовать light-code
внутри строки, а можно выделять блоками.
Пример блока для C#
using MarkdownSharp;
using MarkdownSharp.Extensions.Mal;
Markdown mark = new Markdown();
// Short link for MAL -
// http://myanimelist.net/people/413/Kitamura_Eri => mal://Kitamura_Eri
mark.AddExtension(new Articles());
mark.AddExtension(new Profile());
mark.Transform(text);
Пример блока для Python
from timeit import Timer
tmp = "Python 3.2.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32."
def case1(): # А. инкрементальные конкатенации в цикле
s = ""
for i in range(10000):
s += tmp
def case2(): # Б. через промежуточный список и метод join
s = []
for i in range(10000):
s.append(tmp)
s = "".join(s)
def case3(): # В. списковое выражение и метод join
return "".join([tmp for i in range(10000)])
def case4(): # Г. генераторное выражение и метод join
return "".join(tmp for i in range(10000))
for v in range(1,5):
print (Timer("func()","from __main__ import case%s as func" % v).timeit(200))
Задать маркированный список можно несколькими символами -
, +
или *
:
- Уровень списка 1. Пункт 1.
- Уровень списка 1. Пункт 2.
- Уровень списка 1. Пункт 3.
- Уровень списка 1. Пункт 1.
- Уровень списка 1. Пункт 2.
- Уровень списка 1. Пункт 3.
+ Уровень списка 1. Пункт 1.
+ Уровень списка 1. Пункт 2.
+ Уровень списка 1. Пункт 3.
- Уровень списка 1. Пункт 1.
- Уровень списка 1. Пункт 2.
- Уровень списка 1. Пункт 3.
* Уровень списка 1. Пункт 1.
* Уровень списка 1. Пункт 2.
* Уровень списка 1. Пункт 3.
- Уровень списка 1. Пункт 1.
- Уровень списка 1. Пункт 2.
- Уровень списка 1. Пункт 3.
Можно создавать многоуровневые списки. Каждый уровень отделяеться четыремя (4) пробелами.:
- Уровень списка 1. Пункт 1.
- Уровень списка 2. Пункт 1.
- Уровень списка 1. Пункт 2.
- Уровень списка 2. Пункт 1.
- Уровень списка 2. Пункт 2.
- Уровень списка 1. Пункт 3.
- Уровень списка 2. Пункт 1.
- Уровень списка 3. Пункт 1.
- Уровень списка 3. Пункт 2.
- Уровень списка 4. Пункт 1.
- Уровень списка 1. Пункт 1.
- Уровень списка 2. Пункт 1.
- Уровень списка 1. Пункт 2.
- Уровень списка 2. Пункт 1.
- Уровень списка 2. Пункт 2.
- Уровень списка 1. Пункт 3.
- Уровень списка 2. Пункт 1.
- Уровень списка 3. Пункт 1.
- Уровень списка 3. Пункт 2.
- Уровень списка 4. Пункт 1.
- Уровень списка 2. Пункт 1.
Каждый уровень отделяеться двумя пробелами.
Для Githib работа с нумерованными списками выглядит, очень интересно. Каждый уровень отделяеться четыремя (4) пробелами.
1. Первый уровень 1
1. Второй уровень 1
1. Третий уровень 1
1. Четвертный уровень 1
1. Пятый уровень 1
1. Шестой уровень
1. Седьмой уровень
1. Седьмой уровень
2. Первый уровень 2
2. Первый уровень (должно быть 3)
4. Первый уровен 4
- Первый уровень 1
- Второй уровень 1
- Третий уровень 1
- Четвертный уровень 1
- Пятый уровень 1
- Шестой уровень
- Седьмой уровень
- Седьмой уровень
- Седьмой уровень
- Шестой уровень
- Пятый уровень 1
- Четвертный уровень 1
- Третий уровень 1
- Второй уровень 1
- Первый уровень 2
- Первый уровень (должно быть 3)
- Первый уровен 4
При использование смешанных списков нужно очень внимательно следить на нумерацией. Лучше так-же как и в нумерованных использовать четыре (4) пробела для отделения уровня.
1. Первый уровень "нумерованный" - 1
* Второй уровень "маркер"
+ Третий уровень "маркер"
- Третий уровень "маркер"
1. Третий уровень "нумерованный" - 1
1. Четвертный уровень "нумерованный" - 1
1. Пятый уровень "нумерованный" - 1
1. Шестой уровень "нумерованный" - 1
1. Седьмой уровень "нумерованный" - 1
* Седьмой уровень "маркер"
2. Седьмой уровень "нумерованный" - 1 (нарушена нумерация, новая нумерация 1)
3. Седьмой уровень "нумерованный" - 1 (нарушена нумерация, новая нумерация 2)
1. Восьмой уровень "нумерованный" - 1
2. Первый уровень "нумерованный" - 2
- Первый уровень "нумерованный" - 3
4. Первый уровень "нумерованный" - 4 (нарушена нумерация, новая нумерация 1)
5. Первый уровень "нумерованный" - 5 (нарушена нумерация, новая нумерация 2)
- Первый уровень "нумерованный" - 1
- Второй уровень "маркер"
- Третий уровень "маркер"
- Третий уровень "маркер"
- Третий уровень "нумерованный" - 1
- Четвертный уровень "нумерованный" - 1
- Пятый уровень "нумерованный" - 1
- Шестой уровень "нумерованный" - 1
- Седьмой уровень "нумерованный" - 1
- Седьмой уровень "маркер"
- Седьмой уровень "нумерованный" - 2
- Седьмой уровень "нумерованный" - 3
- Восьмой уровень "нумерованный" - 1
- Шестой уровень "нумерованный" - 1
- Пятый уровень "нумерованный" - 1
- Четвертный уровень "нумерованный" - 1
- Второй уровень "маркер"
- Первый уровень "нумерованный" - 2
- Первый уровень "маркерный" - 3
- Первый уровень "нумерованный" - 4 (хотя по идее должен быть 3)
- Первый уровень "нумерованный" - 5 (хотя, по идее должен быть 3)
(Task List)
Можно создавать "Списки задач" для этого необходимо использовать - [ ]
для поставленной задачи и - [X]
для выполненной задачи.
- [X] Предумать внешний вид резюме.
- [ ] Написать основные категории
- [X] Опубликовать
- Предумать внешний вид резюме.
- Написать основные категории
- Опубликовать
Так же можно создавать многоуровневые списки задач. Каждый уровень отделяеться четыремя (4) пробелами.:
- [X] Задача 1
- [X] Подзадача 1 для Задачи 1
- [X] Подзадача 2 для Задачи 1
- [ ] Задача 2
- [X] Подзадача 1 для Задачи 2
- [ ] Подзадача 2 для Задачи 2
- [ ] Задача 3
- [ ] Подзадача 1 для Задачи 3
- [ ] Подзадача 1 для Подзадача 1 для Задачи 3
- Задача 1
- Подзадача 1 для Задачи 1
- Подзадача 2 для Задачи 1
- Задача 2
- Подзадача 1 для Задачи 2
- Подзадача 2 для Задачи 2
- Задача 3
- Подзадача 1 для Задачи 3
- Подзадача 1 для Подзадача 1 для Задачи 3
- Подзадача 1 для Задачи 3
Либо просто вставить ссылку, либо дополнительно задать текст ссылки (пробела между скобками быть не должно):
Первый вариант вставки ссылок - это просто написать адрес сайта http://sabaka.net
Первый вариант вставки ссылок - это просто написать адрес сайта http://sabaka.net
Второй вариант записыватеься так [текст ссылки](адрес ссылки)
[sabaka.net](http://sabaka.net)
![Alt-текст](https://avatars1.githubusercontent.com/u/5384215?v=3&s=460 "Орк")
Описание комбинации [![Тут текст](адрес до картинки)](ссылка на страничку YouTube)
Пример:
[![Тут текст](https://img.youtube.com/vi/RHPYGwVQB2o/0.jpg)](https://youtu.be/RHPYGwVQB2o)
Что мы увидим:
| LEFT | CENTER | RIGHT |
|----------------|:---------:|----------------:|
| По левому краю | По центру | По правому краю |
| текст | текст | текст |
LEFT | CENTER | RIGHT |
---|---|---|
По левому краю | По центру | По правому краю |
текст | текст | текст |