2020-01-24 05:36

如何搭建这样的博客

摘要

:如何在云服务器上搭建这样的博客

这个博客是根据一个开源的博客 iBlog进行修改而来,如果想搭一个类似的,则需要做以下事情

代码修改

1.关于Glup的修改

如果不需要调试测试环境,可以省去这一步

因为本地nodejs版本一般都比较高,因此需要升级至4.0的版本

首先安装glup 4.0,然后进入gulpfile.js, 修改最后一行的task为

gulp.task('default', gulp.series('server', 'minify-js', 'minify-css', 'watch'));

2.修改依赖的地址

如果是在国外或者对速度没有什么要求,也可以省去这一步

highlight.jsjQuery-cycleTextjquery-qrcodescrollnavswitchery 这五个框架放到本地服务或者是放在gitee上,并且修改packages.js中这五个库的请求地址。

3.修改hightlight.js的样式

这个开源博客自带的hightlight样式比较简洁,如果不介意样式的也可以省去这一步

原来的样式是这样的

image

你可以去 highlight.js 的官网去挑选喜欢的样式,然后将他们放到github/gitee 或者自己的云服务/OSS上,获取css和js的url。全局搜索 https://cdn.bootcss.com/highlight.js/9.12.0/styles/github.min.csshttps://cdn.bootcss.com/highlight.js/9.12.0/highlight.min.js 进行css以及js的替换。如果背景需要换成深色的背景,则全局搜索f6f8fa替换为你想要的颜色,我用的是282828。

4.修改作者暴露出来的一些配置以及文字

在config目录下,修改setting.json、about.json可以对网站名称、留言等进行修改。 通过views/share/layoutAdmin 可以对页脚进行修改。如果需要多管理员,则不但需要修改config/account 中json为数组,并且修改 routes/auth.js 中修改以下两个方法

passport.use(new Strategy({
        // 页面上的用户名字段的name属性值
    usernameField: 'UserName',

        // 页面上的密码字段的name属性值
    passwordField: 'Password'
},
    (username, password, cb) => {
    const accountList = require('../config/account');
        for (let idx = 0; idx < accountList.length; idx++) {
            let account = accountList[idx];
            // 自己判断用户是否有效
            if (username === account.UserName && password === account.Password) {
                // 验证通过
                return cb(null, account);
            }
        }
        // 验证失败
        return cb(null, false);
    }));
passport.deserializeUser((id, cb) => {
    const accountList = require('../config/account');
    for (let idx = 0; idx < accountList.length; idx++) {
        let account = accountList[idx];
        if (account.Id === id) {
            return cb(null, account);
        }
    }
    return cb(err);
});

5.修改后台管理系统

如果对后台管理系统那些用不到的例如留言统计项目也想进行删减,则首先要在 views/admin/layoutAdmin 中删除那些不用的选项, 然后在 public/src/js的目录下查看文件名带有manage的文件,如果其中有类似 #side-menu>li:eq 的代码,则需要将后面的值改为与当前期望相符合的数字,改完之后建议全局搜索 #side-menu>li:eq ,检查有没有其他地方需要修改的(例如public/dist目录)。此外,主页的render方法如果已修改,则需进入 router/admin.js 对 router.get 等方法进行修改

这样,代码部分基本修改完成,那么现在要进行的是云服务的部署

代码部署

1.所需环境(我的服务器系统为 centOS 7.5)

要在服务器安装好 nodejs 运行环境, pm2, mongodb

2.代码部署运行

将代码上传至云服务器, 更新好 nodejs 依赖,在代码目录下执行以下命令即可完成部署

npm run production