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

clean up themes & plugins #1941

Merged
merged 1 commit into from
Nov 18, 2022
Merged

clean up themes & plugins #1941

merged 1 commit into from
Nov 18, 2022

Conversation

stevenjoezhang
Copy link
Member

@stevenjoezhang stevenjoezhang commented Nov 17, 2022

Check List

Please read and check followings before submitting a PR.

  • I want to publish my theme on Hexo official website.
    • I have read the theme publishing doc.
    • name is unique.
    • link URL is correct.
    • preview URL is correct.
    • preview URL web site is rendered correctly.
    • Add a screenshot to source/themes/screenshots.
    • Screenshot filename is same as value of name.
    • Screenshot size is 800 * 500.
    • Screenshot file format is png.
  • I want to publish my plugin on Hexo official website.
  • Others (Update, fix, translation, etc...)
    • Languages:
    • en English
    • ru Russian
    • zh-cn simplified Chinese
    • zh-tw traditional Chinese

See #1473
Pending #1600 (comment)

See also #1429

Note

No need to translate ko, pt-br, th languages if you submit a PR for documentation.

Warning

ko, pt-br, th languages document are inactive. Plase, submit issue if you want to continuous contribution to them.

@github-actions
Copy link
Contributor

Theme name validation passed.
Theme thumbnails validation completed.

@stevenjoezhang
Copy link
Member Author

https://www.deadlinkchecker.com/website-dead-link-checker.asp

StatusURLSource link text
-1 Not found: The server name or address could not be resolved https://mduilw.186526.xyz/<No Text>
404 Not Foundhttps://problem233.github.io/<No Text>
-1 Not found: The server name or address could not be resolved http://blog.minhow.com/<No Text>
404 Not Foundhttps://farnaziifz.github.io/<No Text>
-1 Not found: The server name or address could not be resolved http://blog.321zou.com/<No Text>
-1 Not found: The server name or address could not be resolved https://sakura.hojun.cn/<No Text>
404 Not Foundhttps://hmybmny.github.io/hexo-theme-concise/<No Text>
-1 Not found: The server name or address could not be resolved http://lewis.suclub.cn/<No Text>
-1 Not found: The server name or address could not be resolved http://www.yzz1995.cn/<No Text>
-1 Not found: The date in the certificate is invalid or has expired https://blog.shijukun.com/<No Text>
-1 Not found: The server name or address could not be resolved http://sora1.coding.me/<No Text>
-1 Timeouthttps://huaji8.top/<No Text>
404 Not Foundhttps://f0r3at.github.io/<No Text>
-1 Not found: The server name or address could not be resolved http://www.ccblog.win/<No Text>
404 Not Foundhttps://zo-ly.github.io/<No Text>
-1 Not found: The server name or address could not be resolved http://blog.meiqiu.me/<No Text>
404 Not Foundhttps://suolawangzai.github.io/<No Text>
404 Not Foundhttp://dev-dark-theme.codermarcos.com/<No Text>
404 Not Foundhttp://www.flygon.net/<No Text>
-1 Not found: The server name or address could not be resolved http://lalala.lol/<No Text>
-1 Not found: The server name or address could not be resolved http://www.rudy-yuan.net/<No Text>
-1 Not found: The server name or address could not be resolved https://github.la/<No Text>
404 Not Foundhttps://scroll.glumi.cn/<No Text>
404 Not Foundhttps://github.com/2670637999/hexo-theme-scrollScroll
-1 Timeouthttp://geeksblog.cc/<No Text>
-1 Not found: The server name or address could not be resolved http://sora3.coding.me/<No Text>
404 Not Foundhttps://github.com/guxuelong/hexo-theme-technologyTechnology
404 Not Foundhttps://vevlins.github.io/<No Text>
404 Not Foundhttp://it-ebooks.flygon.net/<No Text>
-1 Timeouthttp://8uf4mm.coding-pages.com/<No Text>
404 Not Foundhttps://mikecoder.github.io/oj-code<No Text>
-1 Not found: The server name or address could not be resolved http://blog.geekaholic.cn/<No Text>
-1 Not found: The server returned an invalid or unrecognized response https://www.aimmdy.com/<No Text>
-1 Not found: The server name or address could not be resolved https://fun.tianhui.xin/<No Text>
-1 Not found: The server name or address could not be resolved https://github.la/hexo-theme-varaint<No Text>
404 Not Foundhttps://lyndonoc.github.io/<No Text>
-1 Not found: The server name or address could not be resolved http://cafe.giscafer.com/<No Text>
404 Not Foundhttps://fuzhouxxdong.github.io/hexo-theme-dxx/<No Text>
404 Not Foundhttps://github.com/Sneakydogs/hexo-theme-dxxDxx
-1 Not found: A connection with the server could not be established https://www.dearmsdan.com/<No Text>
404 Not Foundhttps://mkkhedawat.github.io/<No Text>
-1 Timeouthttp://yangxiang.cc/<No Text>
-1 Not found: The server name or address could not be resolved https://amazingremake-preview.imakiseki.cf/<No Text>
-1 Not found: The server name or address could not be resolved https://www.lyyourc.com/<No Text>
-1 Not found: The server name or address could not be resolved https://kntan.coding.me/kntan/<No Text>
-1 Not found: The server name or address could not be resolved http://www.ahonn.me/<No Text>
-1 Timeouthttps://blog.itypen.com/<No Text>
-1 Not found: The server name or address could not be resolved https://one.jiehua1995.xyz/hexo-theme-love/<No Text>
-1 Not found: The server name or address could not be resolved https://dmx.pub/<No Text>
404 Not Foundhttps://xwartz.github.com/blog<No Text>
-1 Timeouthttp://jser.it/<No Text>
-1 Not found: The server name or address could not be resolved http://blog.minfive.com/<No Text>
404 Not Foundhttps://kexin-li.github.io/<No Text>
404 Not Foundhttps://github.com/Kexin-Li/hexo-theme-cicadaCicada
404 Not Foundhttps://lizhihao6.github.io/<No Text>
403 Forbiddenhttp://blog.shanamaid.top/<No Text>
-1 Timeouthttps://hexo-theme-aircv.molavec.com/<No Text>
403 Forbiddenhttps://www.liuxunzhuo.top/<No Text>
-1 Not found: The server name or address could not be resolved https://blog.viosey.com/<No Text>
-1 Not found: The server name or address could not be resolved http://www.codeteenager.cn/<No Text>
-1 Not found: The server name or address could not be resolved https://blog.utone.xyz/<No Text>
-1 Not found: The host name in the certificate is invalid or does not match https://callmesoul.cn/<No Text>
404 Not Foundhttps://lv-fan.gitee.io/<No Text>
-1 Not found: The host name in the certificate is invalid or does not match https://tonychenn.cn/<No Text>
404 Not Foundhttps://fervent-bell-d9130f.netlify.app/ [301 from https://fervent-bell-d9130f.netlify.com/]
404 Not Foundhttp://blog.sprabbit.com/hexo-theme-chan [301 from http://denjones.github.io/hexo-theme-chan]
403 Forbiddenhttp://ww16.godbmw.com/?sub1=20221117-1429-2664-9d85-2c17c62254b2 [302 from https://godbmw.com/]
404 Not Foundhttps://www.yujunren.com/blog/ [301 from http://www.yujunren.com/blog/]
403 Forbiddenhttp://ww16.godbmw.com/theme-bmw/?sub1=20221117-1429-408f-a7bd-2f3605957e77 [302 from https://godbmw.com/theme-bmw/]
-1 Not found: The date in the certificate is invalid or has expired https://lanmiao.oschina.io/ [301 from http://lanmiao.oschina.io/]
-1 Not found: The date in the certificate is invalid or has expired https://chaoo.oschina.io/ [301 from http://chaoo.oschina.io/]
403 Forbiddenhttp://ww16.simple99.cn/?sub1=20221117-1429-58ec-bbc3-c3bb2eb7982a [302 from https://simple99.cn/]
-1 Not found: The server name or address could not be resolved http://blog.utone.xyz/ [301 from https://shixiaohu2206.github.io/]

@stevenjoezhang
Copy link
Member Author

There are at least 70 theme preview links that need to be updated.
It's too painful to check for these invalid links. Since these are static sites, we could allow theme developers to upload the minimal demo site source code to a specific repository. Then we can preview themes from URL like https://hexo.io/theme-preview/hexo-theme-landscape/

Using git to manage this content is also not very convenient, perhaps we can use an object storage like cloudflare r2

CC @hexojs/core

@renbaoshuo
Copy link
Member

renbaoshuo commented Nov 17, 2022

Instead of using https://hexo.io/theme-preview/hexo-theme-landscape/, I think we should use https://theme-preview.hexo.io/landscape/ to host these previews.

@yoshinorin
Copy link
Member

yoshinorin commented Nov 18, 2022

Since these are static sites, we could allow theme developers to upload the minimal demo site source code to a specific repository.

Good idea. But how to update them automatically? They will be updated many times. But I assume many of the theme authors will not update after merging first-time PR.

@stevenjoezhang
Copy link
Member Author

Since these are static sites, we could allow theme developers to upload the minimal demo site source code to a specific repository.

Good idea. But how to update them automatically? They will be updated many times. But I assume many of the theme authors will not update after merging first-time PR.

How about using GitHub Actions? Every time when the author updates the theme, the GitHub Actions will be triggered to build the demo site with hexo-theme-unit-test, then submit the content to a Git repository in hexojs, or to a cloud storage.

We can also use this to infer when the theme was last updated, and whether it is compatible with the latest Hexo

@SukkaW SukkaW merged commit a47977f into master Nov 18, 2022
@stevenjoezhang stevenjoezhang deleted the cleanup branch November 18, 2022 15:57
@yoshinorin
Copy link
Member

Every time when the author updates the theme, the GitHub Actions will be triggered to build the demo site with hexo-theme-unit-test,

Sorry, I can't image this. I don't know how to detect a theme has changed even if we use GitHub Action. So, is it means theme authors have to add GitHub Actions to their repositories and send a notification to us in some way?

@stevenjoezhang
Copy link
Member Author

stevenjoezhang commented Nov 21, 2022

@yoshinorin Yes, theme authors need to add github actions scripts to their theme repositories, to automatically build the site with hexo-theme-unit-test when new commits are pushed, and submit the demo sites to the cloud storage or git repository provided by hexo. There will be some security and access control issues that will need to be discussed further.

@yoshinorin
Copy link
Member

Ok. Understand. I think it is worth trying that :)

@yoshinorin
Copy link
Member

P.S

How about polling registered repositories?

  1. Polling all repositories (daily or weekly)
  2. Check & Store commit hash (maybe JSON file?)
  3. Pull theme & publish somewhere, if commit hash is difference with prev polling

Pros:
Authors no need to add GitHub Actions to their repositories.

Cons:
Maybe we have to get an agreement to automatically publish with authors.

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

Successfully merging this pull request may close these issues.

4 participants