{"id":13609779,"url":"https://github.com/GnuriaN/format-README","last_synced_at":"2025-04-12T20:32:22.166Z","repository":{"id":37393927,"uuid":"59223276","full_name":"GnuriaN/format-README","owner":"GnuriaN","description":"Формат файла README","archived":false,"fork":false,"pushed_at":"2023-07-23T16:08:53.000Z","size":73,"stargazers_count":1029,"open_issues_count":7,"forks_count":902,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-08T02:41:22.089Z","etag":null,"topics":["docs","emoji","markdown","readme","restructuredtext","rst"],"latest_commit_sha":null,"homepage":"https://github.com/GnuriaN/format-README.md","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GnuriaN.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-05-19T16:21:06.000Z","updated_at":"2025-04-06T17:33:42.000Z","dependencies_parsed_at":"2024-01-14T06:56:15.736Z","dependency_job_id":null,"html_url":"https://github.com/GnuriaN/format-README","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GnuriaN%2Fformat-README","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GnuriaN%2Fformat-README/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GnuriaN%2Fformat-README/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GnuriaN%2Fformat-README/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GnuriaN","download_url":"https://codeload.github.com/GnuriaN/format-README/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248629986,"owners_count":21136356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docs","emoji","markdown","readme","restructuredtext","rst"],"created_at":"2024-08-01T19:01:37.978Z","updated_at":"2025-04-12T20:32:21.918Z","avatar_url":"https://github.com/GnuriaN.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# Описание разметки файла README.md\nДля описания проектов на GitHub используется README.md, который пишется на языке разметки markdown. Что и как поддерживается расписано ниже. Также существует еще один формат - [reStructuredText](https://github.com/GnuriaN/format-README/blob/master/README.rst), описание которого вынесено в отдельный файл `README.rst`.\n\n## Оглавление\n\n0. [Разделительная черта](#Разделительная-черта)\n1. [Заголовки](#Заголовки)\n2. [Работа с выделением текста](#Работа-с-выделением-текста)\n3. [Использование эмодзи (emoji)](#Использование-эмодзи-emoji)\n4. [Использование цитирования в тексте](#Использование-цитирования-в-тексте)\n5. [Подсветка кода](#Подсветка-кода)\n6. [Списки](#Списки)\n    1. [Маркированный](#Маркированный)\n    2. [Нумерованный](#Нумерованный)\n    3. [Смешанные списки](#Смешанные-списки)\n    4. [Список задач](#Список-задач)\n7. [Ссылки](#Ссылки)\n8. [Вставка изображения](#Вставка-изображения)\n9. [Вставка таблиц](#Вставка-таблиц)\n10. [Диаграммы Mermaid.js](#диаграммы-mermaidjs)\n11. [Дополнения](https://github.com/GnuriaN/format-README/blob/master/Дополнения.md)\n    \n## Разделительная черта\nПри использовании\n```\n____\n```\nполучается разделительная черта\n____\n[:arrow_up:Оглавление](#Оглавление)\n___\n## Заголовки\n\nВсего существует шесть уровней заголовков. Для того, чтобы создать заголовок, необходимо в начале строки добавить символы `#`, в количестве равном его уровню.\n____\n# Заголовок первого уровня\n```\n# Заголовок 1\n```\nЗаголовок первого уровня также можно создать:\n```\nЗаголовок 1\n===========\n```\n____\n## Заголовок второго уровня\n```\n## Заголовок 2\n```\nЗаголовок второго уровня также можно создать:\n```\nЗаголовок 2\n-----------\n```\n____\n### Заголовок третьего уровня\n```\n### Заголовок 3\n```\n____\n#### Заголовок четвертого уровня\n```\n#### Заголовок 4\n```\n____\n##### Заголовок пятого уровня\n```\n##### Заголовок 5\n```\n____\n###### Заголовок шестого уровня\n```\n###### Заголовок 6\n```\n____\n[:arrow_up:Оглавление](#Оглавление)\n____\n## Работа с выделением текста\n\n```\n~~Зачеркнутый текст~~\n```\n~~Зачеркнутый текст (Strikethrough)~~\n\nДля выделения текста **`жирным`** или *`наклонным`* и их сочетания можно использовать комбинации `*` или `_`\n\n```\n**Жирный текст (bold)**\n```\n**Жирный текст (bold)**\n\n```\n*Наклонный текст (italic)*\n```\n*Наклонный текст (italic)*\n\n```\n***Жирный наклонный текст (bold italic)***\n```\n***Жирный наклонный текст (bold italic)***\n\n```\n__Жирный текст (bold)__\n```\n__Жирный текст (bold)__\n\n```\n_Наклонный текст (italic)_\n```\n_Наклонный текст (italic)_\n\n```\n___Жирный наклонный текст (bold italic)___\n```\n___Жирный наклонный текст (bold italic)___\n\n```\n~~*__Тут странный текст__*~~\n```\n~~*__Тут странный текст__*~~\n    \n[:arrow_up:Оглавление](#Оглавление)\n____\n## Использование эмодзи (emoji)\nВ самом тексте можно использовать эмодзи, например написать вот так:    \n:white_check_mark: Это уже сделано    \n:negative_squared_cross_mark: Я не буду это делать    \n:black_square_button: делать или не делать, вот в чем вопрос?    \nВ оригинале это выглядит так (в конце строки четыре (4) пробела для того, чтобы был переход на новую строку):\n```\n:white_check_mark: Это уже сделано    \n:negative_squared_cross_mark: Я не буду это делать    \n:black_square_button: делать или не делать, вот в чем вопрос?    \n```\n\nСписок работающих Эмодзи находится тут -\u003e [emoji.md](https://github.com/GnuriaN/format-README.md/blob/master/emoji.md)    \n    \n[:arrow_up:Оглавление](#Оглавление)\n___\n## Использование цитирования в тексте\n```\n\u003e Цитата (уровень 1)    \n\u003e \u003e Вложенная цитата (уровень 2)    \n\u003e \u003e \u003e Вложенная цитата (уровень 3)    \n\n\u003e \u003e Продолжение цитаты (уровень 2)    \n\n\u003e Продолжение цитаты (уровень 1)    \n```\n\u003e Цитата (уровень 1)    \n\u003e \u003e Вложенная цитата (уровень 2)    \n\u003e \u003e \u003e Вложенная цитата (уровень 3)    \n\n\u003e \u003e Продолжение цитаты (уровень 2)    \n\n\u003e Продолжение цитаты (уровень 1)    \n\nВнешний вид, конечно, не очень, но может и пригодиться.\n\n[:arrow_up:Оглавление](#Оглавление)\n___\n## Подсветка кода\n\nЕсли нужно выделить слово или фразу внутри строки, то используются одинарные обратные кавычки (`):\n\n    Это `слово` будет выделено\n\nДля выделения в блоки - тройные:\n\n    ```\n        Здесь может быть\n        Ваша реклама\n    ```\n\nДополнительно можно задавать язык кода внутри блока, указав его после первых трех кавычек:\n\n    ```html\n        \u003cinput type=\"text\"\u003e\n    ```\n\n    ```css\n        body {\n            margin: 0;\n            padding: 0;\n        }\n    ```\n\n    ```php\n        \u003c?php phpinfo();?\u003e\n    ```\n\nПример блока для `C#`:\n\n```C#\nusing MarkdownSharp;\nusing MarkdownSharp.Extensions.Mal;\n\nMarkdown mark = new Markdown();\n\n// Short link for MAL - \n// http://myanimelist.net/people/413/Kitamura_Eri =\u003e mal://Kitamura_Eri\nmark.AddExtension(new Articles()); \nmark.AddExtension(new Profile());\n\nmark.Transform(text);\n```\n\nПример блока для `Python`:\n```Python\nfrom timeit import Timer\n\ntmp = \"Python 3.2.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32.\"\n\ndef case1(): # А. инкрементальные конкатенации в цикле\n    s = \"\"\n    for i in range(10000):\n        s += tmp\n\ndef case2(): # Б. через промежуточный список и метод join\n    s = []\n    for i in range(10000):\n        s.append(tmp)\n    s = \"\".join(s)\n\ndef case3(): # В. списковое выражение и метод join\n    return \"\".join([tmp for i in range(10000)])\n\ndef case4(): # Г. генераторное выражение и метод join\n    return \"\".join(tmp for i in range(10000))\n\nfor v in range(1,5):\n    print (Timer(\"func()\",\"from __main__ import case%s as func\" % v).timeit(200))\n```\n    \n[:arrow_up:Оглавление](#Оглавление)\n___\n## Списки\n\n#### Маркированный\nЗадать **маркированный** список можно несколькими символами `-`, `+` или `*`:\n```\n- Уровень списка 1. Пункт 1.\n- Уровень списка 1. Пункт 2.\n- Уровень списка 1. Пункт 3.\n```\n- Уровень списка 1. Пункт 1.\n- Уровень списка 1. Пункт 2.\n- Уровень списка 1. Пункт 3.\n\n```\n+ Уровень списка 1. Пункт 1.\n+ Уровень списка 1. Пункт 2.\n+ Уровень списка 1. Пункт 3.\n```\n+ Уровень списка 1. Пункт 1.\n+ Уровень списка 1. Пункт 2.\n+ Уровень списка 1. Пункт 3.\n\n```\n* Уровень списка 1. Пункт 1.\n* Уровень списка 1. Пункт 2.\n* Уровень списка 1. Пункт 3.\n```\n* Уровень списка 1. Пункт 1.\n* Уровень списка 1. Пункт 2.\n* Уровень списка 1. Пункт 3.\n\nМожно создавать многоуровневые списки. Каждый уровень отделяется **четырьмя** (4) пробелами:\n```\n- Уровень списка 1. Пункт 1.\n    - Уровень списка 2. Пункт 1.\n- Уровень списка 1. Пункт 2.\n    - Уровень списка 2. Пункт 1.\n    - Уровень списка 2. Пункт 2.\n- Уровень списка 1. Пункт 3.\n    - Уровень списка 2. Пункт 1.\n        - Уровень списка 3. Пункт 1.\n        - Уровень списка 3. Пункт 2.\n           - Уровень списка 4. Пункт 1.\n```\n- Уровень списка 1. Пункт 1.\n  - Уровень списка 2. Пункт 1.\n- Уровень списка 1. Пункт 2.\n    - Уровень списка 2. Пункт 1.\n    - Уровень списка 2. Пункт 2.\n- Уровень списка 1. Пункт 3.\n    - Уровень списка 2. Пункт 1.\n      - Уровень списка 3. Пункт 1.\n      - Уровень списка 3. Пункт 2.\n         - Уровень списка 4. Пункт 1.\n\nКаждый уровень отделяется двумя пробелами.\n\n#### Нумерованный\nДля Githib работа с нумерованными списками выглядит очень интересно. Каждый уровень отделяется **четырьмя** (4) пробелами:\n```\n1. Первый уровень 1\n    1. Второй уровень 1\n        1. Третий уровень 1\n            1. Четвертый уровень 1\n                1. Пятый уровень 1\n                    1. Шестой уровень\n                        1. Седьмой уровень\n                            1. Седьмой уровень\n2. Первый уровень 2\n2. Первый уровень (должно быть 3)\n4. Первый уровень 4\n```\n1. Первый уровень 1\n    1. Второй уровень 1\n        1. Третий уровень 1\n            1. Четвертый уровень 1\n                1. Пятый уровень 1\n                    1. Шестой уровень\n                        1. Седьмой уровень\n                            1. Седьмой уровень\n2. Первый уровень 2\n2. Первый уровень (должно быть 3)\n4. Первый уровень 4\n\n#### Смешанные списки\nПри использовании смешанных списков нужно очень внимательно следить за нумерацией. Лучше, как и в нумерованных, использовать четыре (4) пробела для отделения уровня.\n```\n1. Первый уровень \"нумерованный\" - 1\n    * Второй уровень \"маркер\"\n        + Третий уровень \"маркер\"\n        - Третий уровень \"маркер\"\n        1. Третий уровень \"нумерованный\" - 1\n            1. Четвертый уровень \"нумерованный\" - 1\n                1. Пятый уровень \"нумерованный\" - 1\n                    1. Шестой уровень \"нумерованный\" - 1\n                        1. Седьмой уровень \"нумерованный\" - 1\n                        * Седьмой уровень \"маркер\"\n                        2. Седьмой уровень \"нумерованный\" - 1 (нарушена нумерация, новая нумерация 1)\n                        3. Седьмой уровень \"нумерованный\" - 1 (нарушена нумерация, новая нумерация 2)\n                            1. Восьмой уровень \"нумерованный\" - 1\n2. Первый уровень \"нумерованный\" - 2\n- Первый уровень \"нумерованный\" - 3\n4. Первый уровень \"нумерованный\" - 4 (нарушена нумерация, новая нумерация 1)\n5. Первый уровень \"нумерованный\" - 5 (нарушена нумерация, новая нумерация 2)\n```\n1. Первый уровень \"нумерованный\" - 1\n    * Второй уровень \"маркер\"\n        + Третий уровень \"маркер\"\n        - Третий уровень \"маркер\"\n        1. Третий уровень \"нумерованный\" - 1\n            1. Четвертый уровень \"нумерованный\" - 1\n                1. Пятый уровень \"нумерованный\" - 1\n                    1. Шестой уровень \"нумерованный\" - 1\n                        1. Седьмой уровень \"нумерованный\" - 1\n                        * Седьмой уровень \"маркер\"\n                        2. Седьмой уровень \"нумерованный\" - 2\n                        3. Седьмой уровень \"нумерованный\" - 3\n                            1. Восьмой уровень \"нумерованный\" - 1\n2. Первый уровень \"нумерованный\" - 2\n- Первый уровень \"маркерный\" - 3\n4. Первый уровень \"нумерованный\" - 4 (хотя по идее должен быть 3)\n5. Первый уровень \"нумерованный\" - 5 (хотя, по идее должен быть 3)\n\n#### Список задач\n(Task List)\nМожно создавать \"Списки задач\" для этого необходимо использовать `- [ ]` для поставленной задачи и `- [X]` для выполненной задачи.\n```\n- [X] Придумать внешний вид резюме\n- [ ] Написать основные категории\n- [X] Опубликовать\n\n```\n- [X] Придумать внешний вид резюме\n- [ ] Написать основные категории\n- [X] Опубликовать\n\nТакже можно создавать многоуровневые списки задач. Каждый уровень отделяется **четырьмя** (4) пробелами:\n```\n- [X] Задача 1\n    - [X] Подзадача 1 для Задачи 1\n    - [X] Подзадача 2 для Задачи 1\n- [ ] Задача 2\n    - [X] Подзадача 1 для Задачи 2\n    - [ ] Подзадача 2 для Задачи 2\n- [ ] Задача 3\n    - [ ] Подзадача 1 для Задачи 3\n        - [ ] Подзадача 1 для Подзадача 1 для Задачи 3\n```\n- [X] Задача 1\n    - [X] Подзадача 1 для Задачи 1\n    - [X] Подзадача 2 для Задачи 1\n- [ ] Задача 2\n    - [X] Подзадача 1 для Задачи 2\n    - [ ] Подзадача 2 для Задачи 2\n- [ ] Задача 3\n    - [ ] Подзадача 1 для Задачи 3\n        - [ ] Подзадача 1 для Подзадача 1 для Задачи 3\n    \n[:arrow_up:Оглавление](#Оглавление) \n___\n## Ссылки\nЛибо просто вставить ссылку, либо дополнительно задать текст ссылки (пробела между скобками быть не должно):\n```\nПервый вариант вставки ссылок - это просто написать адрес сайта http://sabaka.net\n```\nПервый вариант вставки ссылок - это просто написать адрес сайта http://sabaka.net\n\nВторой вариант записывается так: `[текст ссылки](адрес ссылки)`\n```\n[sabaka.net](http://sabaka.net)\n```\n[sabaka.net](http://sabaka.net)\n    \n[Sabaka(DOT)Net]:http://sabaka.net    \n    \n[:arrow_up:Оглавление](#Оглавление)\n____\n## Вставка изображения\n```\n![Alt-текст](https://avatars1.githubusercontent.com/u/5384215?v=3\u0026s=460 \"Орк\")\n```\n![Alt-текст](https://avatars1.githubusercontent.com/u/5384215?v=3\u0026s=460 \"Орк\")\n\n### Дополнительно:\n#### Вставка ссылки с картинкой на ролик с YouTube\nОписание комбинации `[![Тут текст](адрес до картинки)](ссылка на страничку YouTube)`        \nПример:        \n```[![Тут текст](https://img.youtube.com/vi/RHPYGwVQB2o/0.jpg)](https://youtu.be/RHPYGwVQB2o)```        \nЧто мы увидим:        \n[![Тут текст](https://img.youtube.com/vi/RHPYGwVQB2o/0.jpg)](https://youtu.be/RHPYGwVQB2o)        \n        \n[:arrow_up:Оглавление](#Оглавление) \n____\n## Вставка таблиц\n```\n| LEFT | CENTER | RIGHT |\n|----------------|:---------:|----------------:|\n| По левому краю | По центру | По правому краю |\n| текст | текст | текст |\n```\n| LEFT | CENTER | RIGHT |\n|----------------|:---------:|----------------:|\n| По левому краю | По центру | По правому краю |\n| текст | текст | текст |\n\n**Внимание:** Если в тексте таблицы нужно использовать символ \"вертикальная черта - `|`\", то в место него необходимо написать замену на комбинацию HTML-кода* `\u0026#124;`, это нужно для того, чтобы таблица не потеряла ориентации.    \n*) - Можно использовать ASCII и/или UTF коды.\n\n**Пример:**\n```\n| Обозначение | Описание | Пример регулярного выражения|\n|----:|:----:|:----------|\n| literal | Строка содержит символьный литерал literal | foo |\n| re1\u0026#124;re2 | Строка содержит регулярные выражения `rel` или `re2` | foo\u0026#124;bar |\n```\n**Результат:**\n\n| Обозначение | Описание | Пример регулярного выражения|\n|----:|:----:|:----------|\n| literal | Строка содержит символьный литерал literal | foo |\n| re1\u0026#124;re2 | Строка содержит регулярные выражения `rel` или `re2` | foo\u0026#124;bar |\n\n[:arrow_up:Оглавление](#Оглавление) \n____\n## Диаграммы Mermaid.js\nПоявилась возможность вставлять диаграммы [Mermaid.js](https://mermaid-js.github.io/mermaid/#/)\n\n\u003cpre\u003e\n```mermaid\n... код диаграммы ...\n```\n\u003c/pre\u003e\nПример:\n\u003cpre\u003e\n```mermaid\nerDiagram\n    CUSTOMER ||--o{ ORDER : places\n    ORDER ||--|{ LINE-ITEM : contains\n    CUSTOMER }|..|{ DELIVERY-ADDRESS : uses\n```\n\u003c/pre\u003e\n```mermaid\nerDiagram\n    CUSTOMER ||--o{ ORDER : places\n    ORDER ||--|{ LINE-ITEM : contains\n    CUSTOMER }|..|{ DELIVERY-ADDRESS : uses\n```\nОчень подробно на русском языке о диаграммах Mermaid.js: https://habr.com/ru/post/652867/ \n\n[:arrow_up:Оглавление](#Оглавление) \n____\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGnuriaN%2Fformat-README","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGnuriaN%2Fformat-README","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGnuriaN%2Fformat-README/lists"}