【问题标题】:Can I host my wordpress blog on github pages as a static webpage我可以在 github 页面上将我的 wordpress 博客作为静态网页托管吗
【发布时间】:2015-12-30 09:16:55
【问题描述】:

我想让我的 WordPress 博客安装在 Localhost 上以推送到 GitHub 并在 GitHub 上作为静态页面运行。我可以做吗,如果可以,请给我一个详细的答案,包括所涉及的步骤和问题?

我不在乎我的页面是否是静态的,但我可以将它托管在 GitHub 页面上吗?

【问题讨论】:

    标签: wordpress github web-hosting github-pages self-hosting


    【解决方案1】:

    你不能。如果你想要一个动态页面,你会使用 WordPress——这就是使用它的全部意义所在。您当然可以抓取 WordPress 生成的 html 并将其推送到您的 GitHub,但我认为这将是很多手动工作。

    您可以尝试使用静态页面生成器,即https://github.com/jekyll/jekyll

    【讨论】:

    • 附言。您可以使用一个工具来获取每个页面的所有源代码(如果您在 Mac 上,OS X 的 SiteSucker 非常好),然后进行多文件搜索和替换以将所有链接交换到您的 github 地址。真的没有太多的手工工作:)
    • 对于投票最多的答案,这是非常具有误导性的。作为此处另一个答案中链接的 WP 插件的作者,它和另一个流行的 WP 到静态 HTML 导出插件都可以做到这一点。我的插件还将自动部署到包括 GitHub Pages 在内的服务,因此它是一键式过程,比使用 SiteSucker、HTTrack 等手动抓取然后推送到 GH 容易得多:wordpress.org/plugins/static-html-output-plugin
    【解决方案2】:

    这个网站给出了如何做到这一点的一个很好的答案:https://www.hywel.me/static/site/wordpress/2016/07/17/fast-free-static-website-with-wordpress-and-github-pages.html

    简而言之:

    1. 设置 GitHub 页面。
    2. 在 WordPress 中安装 Simply 静态插件。
    3. 将插件中的导出推送回您的 git 存储库,您就完成了!

    【讨论】:

    • 如何在此设置中更新内容?用户可以进入管理页面还是需要将 repo 克隆到本地机器,更新内容,然后推送到源?
    • 您只需在本地(免费)或服务器上安装 WordPress 插件。接下来,让它生成一个包含所有静态文件的 zip 文件。解压缩,提交到 git 并推送到相应的 GitHub 分支。如果您按照指南操作,将按预期工作。请记住,动态非 JavaScript 内容(如搜索)将停止工作。如果您想更新,请在 WordPress 安装中进行更新,然后再次导出并重复这些步骤。您可以覆盖旧文件,git 会检测到更改。
    • 是的,但我说的是用户只能使用所见即所得的系统。他们不会设置本地 wordpress 安装并设置 git。
    • 如果你在服务器上安装 wordpress,你可以创建一个 bashscript 和一个 chronjob 来自动解压缩导出,替换文件夹并提交并推送到 git。这样你就可以说它每小时同步一次(?),他们不需要设置任何东西。
    • Simply Static 不支持 chron 作业。你有关于这个 bashscript 的示例/文档吗?我不是后端人员,所以我需要有关如何执行此操作的步骤。对我来说,任何事情都只是rest of the f-ing owl
    【解决方案3】:

    如果您绝对不能从 wordpress 切换,但绝对需要托管在 github 页面上,那么您唯一的选择可能是研究一些 wordpress 插件,它将带您的整个网站并吐出一个静态网站(有点像jekyll,但专门针对 wordpress)。

    edit:居然有这样一个插件:https://wordpress.org/plugins/static-html-output-plugin/

    我刚刚在全新的 WP 安装上对其进行了测试,它似乎可以正常工作,但有些事情似乎无法正常工作。

    【讨论】:

      【解决方案4】:

      您可以从 wordpress 迁移到 jekyll 静态站点生成器,它为 github 页面提供动力。

      你会找到migration documentation on the jekyll site

      【讨论】:

        【解决方案5】:

        不幸的是,您不能这样做,因为 WordPress 是一个 WebApp,也就是说,需要一个数据库。很抱歉成为坏消息的带来者。

        如果您正在考虑替代方案,请考虑以下可从 GitHub Pages 托管的静态站点生成器

        【讨论】:

          【解决方案6】:

          不,因为你需要:

          • 转到 Github,使用以下约定创建一个新存储库:.github.io
            为了清楚起见,我的仓库是andy4thehuynh.github.io
          • 另外,创建一个 Hugo 存储库的本地实例。
            cd 到本地机器上的一个空目录并执行hugo new site ./.
            使用 git init 初始化一个 git 存储库并添加您的远程 git remote add origin git@github.com:<your_handle>/<your_handle>.github.io.git
            太棒了,我们有一个新的博客代码库。
          • 让我们添加一个测试帖子;执行hugo new post/test.mdecho 'Your live on Github Pages' >> ./content/post/test.md
            将草稿标志设置为 true 以确保您的帖子能够呈现。
          • 运行 hugo 告诉 Hugo 构建您的网站。
            您的公共目录应填充新生成的站点。太棒了!
          • 酱汁来了;执行echo 'public' >> .gitignore。现在,Git 将不知道您的公共目录(您编译的公共内容用户将在浏览器中查看)。您很快就会明白为什么。
          • 使用git checkout -b source 退出master 分支。我们这样做是因为 GH 页面不关心我们的源代码(也就是我们的源分支)。它只关心公共内容。
          • 添加并提交您的源更改。执行git add -Agit commit -m 'Initial Commit'。使用git push origin source 推送您的更改。
          • 最后,cd 进入您的public 文件夹。请注意,Git 不会跟踪此处的更改。这是出于预期目的。执行git initgit add -Agit commit -m 'Initial commit'。使用git push origin master 推送您的更改。

          打开浏览器访问名为 .github.io 的存储库,并在 sourcemaster 分支之间切换。
          您所有编译的内容都应该在您的master 分支中。
          GH 页面会看到并在<your_handle>.github.io 上呈现它。
          您将在 source 分支中编写草稿。使用hugo 命令编译它。当您对编译的更改感到满意时,推送您的public 文件夹并成为摇滚明星。

          【讨论】:

            猜你喜欢
            • 2013-05-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-03-15
            • 2017-07-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多