Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

要不要考虑把 static site generator 迁移到 hugo #19

Closed
QuantumGhost opened this issue Mar 16, 2020 · 29 comments
Closed

要不要考虑把 static site generator 迁移到 hugo #19

QuantumGhost opened this issue Mar 16, 2020 · 29 comments

Comments

@QuantumGhost
Copy link
Member

QuantumGhost commented Mar 16, 2020

Hugo 跟 Jekyll 差不多,但是安装比 Jekyll 方便(下载一个 binary 就能跑了),这样本地改样式的时候可以直接本地生成本地调试。

不过坏处就是 Github 不支持自动生成网页了,要想办法用其他工具(比如 CircleCI,Github Actions)来在 push 之后自动生成网页。

或者直接用 Netlify 来部署,看起来应该原生支持 Hugo

附:在 Github 上部署 Hugo 的文档

@too
Copy link
Contributor

too commented Mar 16, 2020

不知道用过 hexo 没有, hexo 有插件可以 push 之后自动更新

@QuantumGhost
Copy link
Member Author

Hexo 也有要装环境(Node.js)的问题,Hugo 可以避免这点。

自动部署看起来可以用 Netlify 来做

@QuantumGhost
Copy link
Member Author

不过我考虑了一下,可能前端同学们对 JS 写的 Hexo 会更喜欢(不知道这个项目都是谁在维护)

@too
Copy link
Contributor

too commented Mar 16, 2020

主要是 Hexo 比较熟悉, Hugo 据说是挺不错的,就是没弄过

@QuantumGhost
Copy link
Member Author

Hexo 我没弄过,不过这个我先看看再说吧

@haobug
Copy link
Contributor

haobug commented Mar 17, 2020 via email

@haobug
Copy link
Contributor

haobug commented Mar 17, 2020

刚发现 xxdiff 作者也在用 bitbucket 了(笑 (:D。

@QuantumGhost
Copy link
Member Author

xxdiff 是什么...

@QuantumGhost
Copy link
Member Author

FYI #20

@haobug
Copy link
Contributor

haobug commented Mar 22, 2020

@QuantumGhost 看到了效果比 jekyll 打开快一点,但是有可能是 netlify 的cdn 做的好。
但是兄弟,我切换 hugo 意思就是我们又要买vps 了(或者 netlify 有免费更新机器人?),
最重要的是你吧 hugo 的锅背起了哦,可能这一秒你愿意,但是这个承诺要 10 年的话,你能愿意吗。

所以我有一个很 sao 的想法,能不能做静态化引擎的兼容(或者的文章模板的兼容),让我们同一个仓库,可以用不同工具预览(hexo, hugo, jekyll etc.)

(jekyll 本地预览工具搭建一次就累了,但是在线预览真香)

@haobug
Copy link
Contributor

haobug commented Mar 22, 2020

(考虑到 1w 年的时候都后银河帝国时代了,想太远,改成 10 年)

@TechQuery
Copy link
Member

Hexo 我搞的多,也封装了好用的工具 —— https://tech-query.me/development/wiki-on-git/

但 Jekyll、Hexo、Hugo 这些有一个共同的问题 —— 它们都使用基于字符串拼接的模板,开发起来不能有很好的代码提示,更不能利用现代的工程化工具链。所以我正在开发一个基于最新 Web 组件标准和 JSX 的静态网站生成器 —— https://github.com/EasyWebApp/MarkCell ,这两天正在开发一个试验网站,很快就能用起来。

@QuantumGhost
Copy link
Member Author

Hugo 不用买 VPS 啊,这个也是静态站点生成器,理论上你把 hugo output 拷贝到任何服务器上然后拿个 http server serve 起来就能看到

Netlify 就是用来部署静态网站的,然后可以集成 Github 直接用 hook 来触发 Deploy

gRPC 的网站也是用 Netlify 来部署的 grpc/grpc.io#121

@QuantumGhost
Copy link
Member Author

@TechQuery 也有现代化组件化的前端框架,比如 GatsbyNext.js 或者 Nuxt.js (更多查看:https://www.staticgen.com/)

不过我觉得这些对于内容贡献者不太友好(需要安装 Node.js 和各种开发依赖才能在本地预览),对于网页设计者当然要友好很多;这也是为什么我会说用 Hugo,因为安装一个二进制包就能提交内容还是相对简单很多的

@TechQuery
Copy link
Member

@QuantumGhost 你说的那些框架用起来太重,我才自研的

Node.js 安装已经非常方便了,比如 Windows ——

choco install nodejs

git clone https://github.com/xxx/xxx.git

cd xxx/
npm install
npm start

@QuantumGhost
Copy link
Member Author

但是依然是要安装

  1. Node.js 依赖
  2. 静态网站生成器的

而且我在想,cdlug 主要的还是内容而不是主题,换一个对主题维护者友好的实现收益可能未必会很大

@haobug
Copy link
Contributor

haobug commented Mar 22, 2020

Node.js 安装已经非常方便了,比如 Windows ——

choco install nodejs

git clone https://github.com/xxx/xxx.git

cd xxx/
npm install
npm start

这是概念层面的美好愿望。请给出完整的命令,或者你找台 windows 试试看。现实有时候很残酷。

@QuantumGhost 你说的那些框架用起来太重,我才自研的

一定要做成能无依赖或者打包好能独立运行版本。单个文件的大小没有所谓的,jekyll 就是个依赖一大堆的坑货。虽然坑但它有 github page 的在线预览编辑功能很好用,对单纯贡献文章很好用。

@QuantumGhost 推荐同样
也是基于让文章贡献者更易用的目标我想。

@TechQuery
Copy link
Member

TechQuery commented Mar 22, 2020

@haobug 我给出的都不是概念性的东西,全是我在 Windows、Linux、Mac 上实战、填坑完的,已经建了好几个站了 ——

  1. https://github.com/TechQuery/TechQuery.github.io
  2. https://github.com/FreeCodeCamp-Chengdu/FreeCodeCamp-Chengdu.github.io
  3. https://github.com/kaiyuanshe/kaiyuanshe.github.io

全是以下两条命令一键搭建的 ——

choco install nodejs

npm init hexo-wiki repo_name \
    --theme name \
    --plugins one,two \
    --remote https://github.com/your_id/repo_name.git

@haobug
Copy link
Contributor

haobug commented Mar 22, 2020

@TechQuery 看到你的战绩很可观。
最后和 @too 对赌达成,后续网站基础设施都由他维护。我们只管贡献内容。这样。

@QuantumGhost
Copy link
Member Author

所以说结论是基于现在的 Jekyll 继续跑呢,还是换 Hugo 呢,还是其他方案呢

@too
Copy link
Contributor

too commented Mar 22, 2020

@TechQuery 看到你的战绩很可观。
最后和 @too 对赌达成,后续网站基础设施都由他维护。我们只管贡献内容。这样。

我维护并不能阻止其他人贡献啊,我来协调和梳理可以吧,我贡献内容也可以吧?

@too
Copy link
Contributor

too commented Mar 22, 2020

@QuantumGhost 你测试 Hugo 的情况如何? 对于 @TechQuery 的方案你觉得如何? 要不先选一个做起来看,另外一个放一放,免得重复工作了

@QuantumGhost
Copy link
Member Author

QuantumGhost commented Mar 22, 2020

我这个 #20 基本完工了 2333

其实没啥工作量,当然也算不上完美(比如 Telegram 就没有 Icon,当然这都是可以解决的)

我还是觉得让大家提交内容更简单一点比较好(当然在有人维护主题的情况下,内容提交者的差别也就是依赖了

@too
Copy link
Contributor

too commented Mar 22, 2020

我也支持先试试让大家提交内容,万一都没人看 blog 了,那折腾半天不是白忙活吗

@QuantumGhost
Copy link
Member Author

blog 还是要有的(至少需要一个关于页面和一个财务页面 = =

@QuantumGhost
Copy link
Member Author

所以说这个现在是什么情况呢

@haobug
Copy link
Contributor

haobug commented Mar 28, 2020

所以说这个现在是什么情况呢

issue #20 回复一下我。(结果还是花命的老实人)
我看了预览地址加载比现在快点。看着轻爽点。

@haobug
Copy link
Contributor

haobug commented Apr 5, 2020 via email

@QuantumGhost
Copy link
Member Author

done in #20

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants