我了解 Web 采取了主要的安全措施来防止程序访问客户端计算机上的文件。我想要做的是使用 AJAX 或其他一些功能来动态访问位于我的 Github 存储库中的我自己的公共目录中的文件和文件夹名称,以便在我的静态 Github 页面上提供服务。
为了对我正在从事的项目有一点了解,我将举这个例子:假设我想轻松地将内容添加到我的博客中,我的目录如下所示:
- website (folder)
-- articles.html
-- articles (folder)
--- top-10-diys.txt
--- child-falls-in-well.txt
--- my-biography.txt
--- new-article.txt
当我将“new-article.txt”添加到“articles”文件夹时,我不想编辑相应的“articles.html”页面来添加指向新文章的链接。我只是想要 AJAX 或类似的功能来获取文件夹中的所有文件名并生成指向我的文章的链接。
这可能吗?我只是想为我的静态 Github 页面创建这个功能。使用 AJAX 不是必需的,但我想要一个纯 Javascript 或 AJAX 方法。
编辑:
我遇到了两种可能的选择,可以给我想要的东西。
选项 1:使用 AJAX 在我的服务器上请求一个目录,这将返回一个完整的 HTML 文档,其中包含指向该目录中所有文件的链接。
选项 2:维护一个包含目录中所有文件名的文本文件,并使用 AJAX 加载列表中的所有文件。
然而,这两种方法都存在问题。选项 1 要求我从 HTML 文档中解析出文件名。这不是一个干净的解决方案,并且根据服务器权限,它可能根本不起作用。我宁愿不依赖这个黑客。
选项 2 的问题在于它仍然需要我将文件名硬编码到文本文档中,因此该解决方案并不是真正动态的。当然,我会节省一些时间来维护每个单独的链接,但我仍然需要维护文本文件。最重要的是,这似乎是一个草率的解决方案。
再次编辑
我遇到了一个我以前没有看到的选项,那就是使用静态站点生成器。Github 目前使用的是 Jekyll。如果我找不到任何其他方式来获得我想要的东西,我可能会选择 SSG,但这对于我的目的来说真的不理想。我真的只是包括这个编辑,所以有我问题的人知道他们的选择。