Принимая участие, вы соглашаетесь с ЛИЦЕНЗИЕЙ этого репозитория.
Принимая участие, вы соглашаетесь соблюдать Кодекс поведения этого репозитория. (translations*
«Ссылка для легкой загрузки книги» не всегда является ссылкой на бесплатную книгу. Пожалуйста, размещайте только бесплатный контент. Убедитесь, что это бесплатно. Мы не принимаем ссылки на страницы, которым требуются адреса электронной почты на рабочем домене для получения книг. Однако мы приветствуем списки, которые запрашивают их.
Вам необязательно знать Git: если вы нашли что-то интересное, чего еще нет в этом репозитории, пожалуйста, откройте Issue с вашими предложениями.
У нас есть 6 видов списков. Выберите подходящий:
Обязательно следуйте Руководству, приведённому ниже и соблюдайте Markdown форматирование файлов.
GitHub Actions запустит тесты, чтобы убедиться, что ваши списки отсортированы по алфавиту и соблюдаются правила форматирования. Обязательно проверьте, чтобы ваши изменения прошли проверку.
https вместо ссылки http - если они находятся в одном домене и обслуживают один и тот же контентhttp://example.com вместо http://example.com/http://example.com/dir/ лучше, чем http://example.com/dir/index.html
http://example.com/dir/book/current/ лучше, чем http://example.com/dir/book/v1.0.0/index.htmlhttps путем добавления исключения в браузер или игнорирования предупреждения.и др.» («et al.»).в процессе», как описано ниже.archived" notation, as described below. The best versions to use are recent and complete.(адрес электронной почты *запрашивают*, но он не требуется для загрузки)..md. Попробуйте изучить синтаксис Markdown. Это просто!###), а в подразделах используются заголовки уровня 4 (####).Идея состоит в том, чтобы иметь:
2 пустые строки между последней ссылкой и новым разделом.1 пустую строку между заголовком и первой ссылкой его раздела.0 пустых ссылок между двумя ссылками.1 пустую строку в конце каждого .md файла.Пример:
[...]
* [Шикарная книга](http://example.com/example.html)
(пустая строка)
(пустая строка)
### Пример
(пустая строка)
* [Другая шикарная книга](http://example.com/book.html)
* [Ещё одна другая книга](http://example.com/other.html)
Не вставляйте пробел между ] и (:
ПЛОХО : * [Другая шикарная книга] (http://example.com/book.html)
ХОРОШО: * [Другая шикарная книга](http://example.com/book.html)
Если вы указываете автора, используйте - (тире, окруженное одиночными пробелами):
ПЛОХО : * [Другая шикарная книга](http://example.com/book.html)- Джон Доу
ХОРОШО: * [Другая шикарная книга](http://example.com/book.html) - Джон Доу
Отбейте ссылку и её формат пробелом:
ПЛОХО : * [Очень хорошая книга](https://example.org/book.pdf)(PDF)
ХОРОШО: * [Очень хорошая книга](https://example.org/book.pdf) (PDF)
Сперва автор, потом формат:
ПЛОХО : * [Очень хорошая книга](https://example.org/book.pdf)- (PDF) Джейн Роу
ХОРОШО: * [Очень хорошая книга](https://example.org/book.pdf) - Джейн Роу (PDF)
Несколько форматов:
ПЛОХО : * [Другая шикарная книга](http://example.com/)- Джон Доу (HTML)
ПЛОХО : * [Другая шикарная книга](https://downloads.example.org/book.html)- Джон Доу (cайт для загрузки)
ХОРОШО: * [Другая шикарная книга](http://example.com/) - Джон Доу (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
Включите год публикации в заголовок для старых книг:
ПЛОХО : * [Очень хорошая книга](https://example.org/book.html) - Джейн Роу - 1970
ХОРОШО: * [Очень хорошая книга (1970)](https://example.org/book.html) - Джейн Роу
ХОРОШО: * [Скоро будет отличная книга](http://example.com/book2.html) - Джон Доу (HTML) *(:construction: in process)*
ХОРОШО: * [A Way-backed Interesting Book](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: archived)*
aa должно располагаться перед ab.one two должно располагаться перед onetwoЕсли вы видите неправильную ссылку, то проверьте сообщение линтера об ошибке, чтобы знать, какие строки следует поменять местами.
Хотя основы относительно просты, перечисленные нами ресурсы очень разнообразны. Вот несколько замечаний о том, как мы справляемся с этим разнообразием.
Наши списки предоставляют минимальный набор метаданных: заголовки, URL-адреса, создателей, платформы и примечания к доступу.
https) URL-адреса всегда предпочтительнее небезопасных (http) URL-адресов, в которых реализован HTTPS.Для переведенных работ следует указать оригинального автора. Мы рекомендуем использовать MARC relators чтобы отблагодарить других создателей, кроме авторов, как в этом примере:
* [A Translated Book](http://example.com/book-ru.html) - John Doe, `trl.:` Mike The Translator
здесь сокращение trl.: используется MARC relator code для слова "translator" ("переводчик").
Используйте запятые , для разграничения каждого элемента в списке авторов.
Вы можете сокращать списки авторов с помощью "et al.".
Мы не разрешаем ссылки на авторов.
Для подборок и смешенных изданий «создателю» может потребоваться описание. Например, книги «GoalKicker» или «RIP Tutorial» считаются «Скомпилированными из документации StackOverflow» ("на английском: «Compiled from StackOverflow documentation»).
*(требуется учетная запись Leanpub или действующий адрес электронной почты)*.Первое правило при принятии решения, к какому списку принадлежит ресурс, — это посмотреть, как ресурс описывает себя. Если он называет себя книгой, то, возможно, это книга.
Поскольку Интернет огромен, мы не включаем в наши списки:
В наших списках соревновательного программирования эти исключения не так строги. Объем репо определяется сообществом; если вы хотите предложить изменение или дополнение к области, пожалуйста, используйте Issue, чтобы сделать предложение.
Мы не так привередливы в "книжности" ресурса. Вот некоторые атрибуты, которые указывают на то, что ресурс - это книга:
Мы перечисляем множество книг, у которых нет этих атрибутов; это может зависеть от контекста.
Иногда их бывает трудно отличить!
С курсами часто связаны учебники, которые мы перечисляем в наших списках книг. В курсах есть лекции, упражнения, тесты, заметки или другие дидактические пособия. Отдельная лекция или видео - это не курс. PowerPoint - это не курс.
Если вы можете распечатать его и сохранить его суть, это не интерактивное руководство.
.github/workflows/fpb-lint.yml)Чтобы запустить проверку URL, нажмите фиксацию, которая включает сообщение фиксации, содержащее check_urls=ссылка_для_проверки:
check_urls=free-programming-books.md free-programming-books-ru.md
Вы можете указать более одного файла для проверки, используя один пробел для разделения каждой записи.
Если вы укажете более одного файла, результаты сборки будут основаны на результате последнего проверенного файла. Вы должны знать, что из-за этого вы можете получить проходящие зеленые сборки, поэтому обязательно проверьте журнал сборки в конце пулреквеста, нажав "Show all checks" -> "Details".