问题描述
我目前正在为同人游戏社区创建存储库。该存储库将提供人们可用于修改游戏的可下载资源。其中包括肖像、动画和其他类似内容。
我目前正在从 Gdrive 切换到 Github,因为它不再适合我的目的。这是我的存储库:
https://github.com/Klokinator/Fire-Emblem-Graphics-Repository
举个例子,如果您导航到 Portrait Repository 文件夹,您可以看到人们提交的各种用户创建的图像。不过由于github的限制,一次只能点击一张图片查看。
而不是看到一个列表,像这样:
https://i.imgur.com/nrpZvYH.png
我希望人们能够真正看到并能够一目了然地浏览这些图像,如下所示:
https://i.imgur.com/vEzA4vq.png
是否有 github 浏览器扩展或其他工具可以使这成为可能?当然,高级用户可以克隆存储库并以这种方式浏览图像,但有些人生活在下载图像会占用大量带宽的国家/地区,可能还有其他问题等。我想为他们提供任何可能的替代方案。
我已经有一些可以链接的扩展,它们可以让人们一个一个下载单个文件夹或文件,而不是下载整个存储库。只有查看图片才会给我带来问题。
解决方法
您可以在每个文件夹中自动生成一个 README.md
Markdown 文件,显示所有图像。
GitHub 会自动显示 Markdown 文件,但在当前文件夹的文件列表之后。
以下是生成此内容的示例 Node.js 脚本:
#!/usr/bin/env node
const fs = require('fs');
const path = require('path');
const ROOT_DIR = './Portrait Repository/FE10 Mugs (Radiant Dawn)/';
const README_FILENAME = 'README.md';
const NB_IMAGES_PER_LINE = 4;
let nbImages = 0;
let mdContent = '<table><tr>';
fs.readdirSync(ROOT_DIR).forEach((image) => {
if (image !== README_FILENAME) {
if (!(nbImages % NB_IMAGES_PER_LINE)) {
if (nbImages > 0) {
mdContent += `
</tr>`;
}
mdContent += `
<tr>`;
}
nbImages++;
mdContent += `
<td valign="bottom">
<img src="./${image}" width="200"><br>
${image}
</td>
`;
}
});
mdContent += `
</tr></table>`;
fs.writeFileSync(path.join(ROOT_DIR,README_FILENAME),mdContent);
这是它产生的一个例子: https://github.com/nhoizey/nicolas-hoizey.com/tree/main/src/assets/logos#readme