Как получить список файлов в каталоге на страницах GitHub? - PullRequest
0 голосов
/ 30 мая 2018

Предположим, что репо myname/myrepo с включенными страницами github, тогда будет доступно myname.github.io/myrepo с размещением того же контента, что и в оригинальном репо, без какого-либо специального развертывания.

repo
  |-- folder
        |-- file1
        |-- file2

Я ожидаю отправить http-запрос как myname.github.io/myrepo/folder чтобы получить что-то вроде ['file1', 'file2'] динамически (даже просто строку, которую я могу разобрать через javascript), например, nginx autoindex.

Как мне этого добиться?

Примечание: я знаю, что могунаписать скрипт, возможно, на любом языке, например bash, python, ruby, perl, чтобы бесконечно называть имена, чтобы создать индексный файл.Я не хочу никакого дополнительного развертывания, даже с CI.

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Вдохновленный octotree (плагин chrome для github), отправьте API GET https://api.github.com/repos/{owner}/{repo}/git/trees/master, чтобы получить структуру корневой папки, и рекурсивно посещайте дочерние элементы "type": "tree".

Поскольку API-интерфейс github имеет ограничение скорости 5000 запросов/ час, это не может быть хорошо для глубокого и широкого дерева.

0 голосов
/ 30 мая 2018

Список каталогов - GitHub Pages

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

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

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

ОБНОВЛЕНИЕ 1:

Я нашел что-то , которое может заставить его работать, но должно быть установлено, так что оно может вам не понравиться (см. «* примечание» ниже).Это немного устарело (последний коммит в феврале).

* Примечание: большинство людей согласны с тем, что для достижения того, что вы хотите, вам понадобится язык на стороне сервера, но php не поддерживается в GHP, так какобъяснил раньше. Подробнее здесь.

...