Home  >  Article  >  Development Tools  >  What should I do if hexo cannot be displayed normally when deployed to gitee?

What should I do if hexo cannot be displayed normally when deployed to gitee?

PHPz
PHPzOriginal
2023-04-11 09:10:06717browse

Hexo is a very popular static blog generator that supports multi-platform deployment, including GitHub, GitLab, and Coding. It also supports deployment to the domestic code cloud (gitee) platform. However, some Hexo users found that the blog content could not be displayed properly when deploying their blogs to gitee. How to solve this problem?

First of all, we need to make it clear that this problem is not caused by Hexo itself, but due to the restrictions placed on cross-domain requests by the gitee platform. When you use Hexo to deploy your blog to the gitee platform, it will generate some static files (such as HTML, CSS, JS, etc.). The paths of images, fonts, and other static resources in these files are relative paths, such as ". ./images/test.png”. When your blog is accessed through gitee, gitee will cache these static files and provide the cached content for users to access. However, when users need to access the pictures, fonts, and other static resources, it will use relative paths. The domain name (such as "example.com") where it is located makes a cross-domain request. At this time, the problem arises. The gitee platform restricts cross-domain requests, resulting in the inability to display blog content normally.

So, how to solve this problem? Here are some possible solutions:

  1. Use a CDN. Using CDN can solve the problem of relative paths. You can upload all static resources to CDN and set the address to an absolute path, so as to avoid cross-domain request problems. For example, "https://cdn.example.com/images/test.png". However, using CDN requires payment. If financial conditions do not allow it, you can consider the following options.
  2. Upload all static resources to a warehouse in gitee. In gitee, we can create a new warehouse and then upload all static resources to this warehouse. We need to add the access address in the warehouse to the Hexo configuration file to avoid cross-domain request problems. For example, "https://gitee.com/username/static/raw/master/images/test.png". The disadvantage of this method is that it requires manual uploading of files, which is troublesome. However, if the blog content does not change, you can use the caching function to reduce the number of requests.
  3. Use Travis CI. This solution requires you to have some programming experience. Travis CI is an integrated testing and deployment tool that can automatically build, test, and deploy code to a continuous integration server, so that you can automatically deploy your blog. For specific operations, please refer to the official documentation. This solution is relatively complex, but the effect is very good.

To sum up, the problem of not being able to display the Hexo blog properly is because the gitee platform has restrictions on cross-domain requests. You can use CDN, upload static files to a warehouse in gitee, and Use Travis CI to solve this problem. Each option has its advantages and disadvantages, and you can choose the one that suits you based on your actual situation.

The above is the detailed content of What should I do if hexo cannot be displayed normally when deployed to gitee?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn