当前位置: 首页 > wzjs >正文

iis网站建设中学做网站需要学什么

iis网站建设中,学做网站需要学什么,网站首页页脚设计,wordpress图片被强制放大9年前自己开始学习gitHub hexo搭建个人博客,查了很多资料,最后用hexo 搭建一个个人博客,托管在gitHub上,前段时间换了一个电脑,我在新的电脑上想再发布一篇文章,才发现不行了。因为之前只在GitHub托管了hex…

9年前自己开始学习gitHub hexo搭建个人博客,查了很多资料,最后用hexo 搭建一个个人博客,托管在gitHub上,前段时间换了一个电脑,我在新的电脑上想再发布一篇文章,才发现不行了。因为之前只在GitHub托管了hexo生成的静态文件(public),忘记备份Hexo的源文件。
source/_posts/(所有文章)
_config.yml(Hexo 主配置)
themes/(主题文件)
package.json(依赖列表)
如果你遇到这种情况,跟着我进入接下来的重新部署过程。

gitHub hexo 个人博客基础版。

首先确认你本地已经不存在source/_posts文件夹,再查一查github是否有备份,如何远程和本地都没有,那就只能重新部署了。

1.静态文件(如 public/ 下的 HTML)可通过浏览器右键「查看页面源代码」复制正文,或使用工具解析 HTML 结构。

2.使用 Markdown 渲染,HTML 中的 “article ”标签内通常包含原始文本的转换结果。

3.生成.md文件放在_posts文件夹里面。

1.备份Hexo的源文件

到这里就可以重新发布文章了,但是为了下一次不要再出现这种情况,我们需要对Hexo的源文件进行备份。

备份方式共有两种:

1.在当前gitHub管理的hexo生成的静态文件仓库中再开一个分支,用于备份Hexo的源文件。

2.单独创建一个私有仓库用于备份Hexo的源文件。

因为博客需要对外展示,所以当前gitHub管理的hexo生成的静态文件仓库必须是公开的,所以如果你选择第一种方式你的原文件也只能放在公开的仓库分支。如果不想将自己的Hexo的源文件公开就可以选择第二种方式:单独创建一个私有的仓库用来备份Hexo的源文件。

2.自动化

上文创建完成后每次发布博客,都需要去git提交备份文件,这样太麻烦了。我们可以创建一个自动化脚本,将这些重复步骤自动化。

创建一个deploy.sh放在博客根目录:

# 设置绝对路径
BLOG_DIR="实际路径/blog"# 进入博客目录
cd "$BLOG_DIR" || exit 1# Hexo操作
hexo clean
hexo generate
hexo deploy# 源文件备份
git add .
git commit -m "自动备份: $(date +"%Y-%m-%d %H:%M")"
git push origin main

这样一个简单的发布博客并且源文件备份的自动化脚本就好了。
以后每一次写完文章后再在终端进入"实际路径/blog" 执行./deploy.sh 就行了

执行./deploy.sh

首次执行需要先设置执行权限:

chmod +x deploy.sh

3.多博客自动化

当我们有多个博客需要同步是就需要对Hexo的源文件进行再次修改。

我以github为例:

1.首先我们的有两个GitHub账号并且本地配置好SSH

本地SSH配置

2.添加配置文件

_config.yml:为其中一个GitHub账号的配置

url: https://gavincarter1991.github.io# 博客完整URL

deploy

_config_other.yml:为另外一个GitHub账号的配置

url: https://kindyourself.github.io # 博客完整URL

deploy

考虑到多个博客内容可能不一样:在根目录新建一个scripts文件夹创建一个JS脚本multi-site.js进行内容配置,公共文章放在source/_posts,不同的文章各自放在自己的目录里面(source/_posts_gavin source/_posts_gavin _posts_kind)脚本会分开发布。

const fs = require('fs-extra');
const path = require('path');hexo.extend.filter.register('before_generate', function() {const baseDir = hexo.base_dir;const sites = [{ name: 'kind', postDir: '_posts_kind', config: '_config.yml' },{ name: 'gavin', postDir: '_posts_gavin', config: '_config_gavin.yml' }];sites.forEach(site => {const sourceDir = path.join(baseDir, 'source');const tempSourceDir = path.join(baseDir, `temp_source_${site.name}`);const sitePostsDir = path.join(baseDir, site.postDir);hexo.log.info(`准备 ${site.name} 站点内容...`);try {// 创建临时源目录fs.ensureDirSync(tempSourceDir);fs.emptyDirSync(tempSourceDir);// 复制共享内容fs.copySync(sourceDir, tempSourceDir);// 添加专属文章if (fs.existsSync(sitePostsDir)) {const targetPostsDir = path.join(tempSourceDir, '_posts');fs.ensureDirSync(targetPostsDir);fs.readdirSync(sitePostsDir).forEach(file => {if (file.endsWith('.md')) {fs.copySync(path.join(sitePostsDir, file),path.join(targetPostsDir, file));}});}// 更新配置中的source_dirconst configPath = path.join(baseDir, site.config);let configContent = fs.readFileSync(configPath, 'utf-8');configContent = configContent.replace(/source_dir:.+/,`source_dir: ${tempSourceDir}`);fs.writeFileSync(configPath, configContent);hexo.log.info(`${site.name} 站点内容准备完成`);} catch (e) {hexo.log.error(`${site.name} 站点准备失败: ${e.message}`);}});
});

当然deploy.sh也需要更改为:

#!/usr/bin/env bash# 配置区
BLOG_DIR="/自己路径/blog"
SOURCE_BRANCH="master"
PUBLIC_REPO_KIND="git@github.com-kind:kindyourself/kindyourself.github.io.git"
PUBLIC_REPO_GAVIN="git@github.com-gavin:gavincarter1991/gavincarter1991.github.io.git"
PRIVATE_REPO_KIND="git@github.com-kind:kindyourself/blog-source.git"
PRIVATE_REPO_GAVIN="git@github.com-gavin:gavincarter1991/blog-source.git"cd "$BLOG_DIR" || { echo "❌ 无法进入博客目录"; exit 1; }# 清理上次生成的临时文件
rm -rf temp_source_* public public_gavin# 生成两个站点的内容
echo "===== 生成站点内容 ====="
hexo generate --config _config.yml
hexo generate --config _config_gavin.yml# 部署到GitHub Pages
echo "===== 部署到GitHub Pages ====="
hexo deploy --config _config.yml
hexo deploy --config _config_gavin.yml# 备份到私有仓库
echo "===== 备份源文件到私有仓库 ====="
git add .
if git diff-index --quiet HEAD --; thenecho "无文件变更"
elsegit commit -m "自动备份: $(date +"%Y-%m-%d %H:%M:%S")"# 推送到两个私有仓库git push "$PRIVATE_REPO_KIND" "$SOURCE_BRANCH" && \echo "✅ kindyourself/blog-source 备份成功" || \echo "❌ kindyourself/blog-source 备份失败"git push "$PRIVATE_REPO_GAVIN" "$SOURCE_BRANCH" && \echo "✅ gavincarter1991/blog-source 备份成功" || \echo "❌ gavincarter1991/blog-source 备份失败"
fiecho "===== 部署完成 ====="
echo "博客地址1: https://kindyourself.github.io"
echo "博客地址2: https://gavincarter1991.github.io"

以上就是gitHub hexo 个人博客升级版

http://www.dtcms.com/wzjs/283331.html

相关文章:

  • 吴江seo百度首页排名优化平台
  • 电子商务网站建设期末题库长沙seo关键词排名
  • 京东客网站怎么做公司百度官网优化
  • 建设网站架构服务器需要多少钱天津百度seo排名优化
  • 网站文章标题改了 百度快照多久能改百度电脑版下载安装
  • 未成年在线观看视频播放免费百度关键词优化公司
  • 广州网站优化公司seo点击
  • 北京智能网站建设制作推广专员是做什么的
  • 东莞网页网站制作网站广告收费标准
  • 东莞建站模板seo和sem哪个工资高
  • 无货源电商怎么找货源seo怎么做
  • 伦敦做网站开发网站需要多少钱
  • 网站搭建实训报告企业网站怎么注册官网
  • 怎样从用户体现提高网站的搜索引擎信任度郑州seo优化培训
  • 徐州网站开发服务人民网舆情数据中心官网
  • 从做系统怎么找一起的收藏网站徐州百度运营中心
  • 公司网络推广网站就选火13星仁德长沙优化官网服务
  • 网站建设验收内容seo工程师招聘
  • 移动广告公司网站建设百度在线客服人工服务
  • 营销型网站建设要学seo的培训学校
  • 网站管理与开发怎么做网站公司建立网站的步骤
  • 企业级网站开发与部署班级优化大师官方免费下载
  • 小型企业网站建设的背景全国疫情高峰感染高峰进度
  • 太原有哪些做网站的公司最新经济新闻
  • 武昌网站建设百度指数入口
  • wordpress用户信息爱站网seo综合查询
  • 公司官网怎么搭建广州:推动优化防控措施落
  • 百度在西安有分公司吗seo引擎
  • 一学一做看视频网站有哪些内容重庆高端网站seo
  • 做存储各种环境信息的网站谷歌play商店