无需服务器,教你搭建一个完整功能 Bolg 系统 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
loveyou1
V2EX    前端开发

无需服务器,教你搭建一个完整功能 Bolg 系统

  •  
  •   loveyou1 2019 年 8 月 4 日 4596 次点击
    这是一个创建于 2352 天前的主题,其中的信息可能已经有所发展或是发生改变。

    博客地址

    如果你看主址,可以看见博客是基于 github + issues 搭建,完全没有依赖于服务器

    • 支持评论
    • 支持分页
    • 支持发布
    • 无需服务器
    • 功能 DIY
    • 一次开发

    现在我们就来从零开始一步一步搭建个博客服务

    步骤

    第一步

    • 注册一个 github 账号 [来掘金的咋都有吧.....]
    • 创建一个仓库 [名字随机]
    • 创建一个 OAuth application,重点如下图

    J53M9)7YKH5@Y 9U~HYGBVY

    第二步

    技术选型

    • vue react .... 随便你

    接口一览 和重点

    • issues
    • issues 数据请求参数

    }3W90QD(RQSFIM00U4LFJOW

    因为开发需要,参数其实是不全的,比如,要做分页功能, 其他参数如下

    参数 | 说明 | 默认
    -|-|- page | 第几页 | 无 | per_page | 没页数量 | 无 | client_id | 因为 github 有请求限制,带上这个两个参数做认证就不会有限制 | 无 | client_secret | 因为 github 有请求限制,带上这个两个参数做认证就不会有限制 | 无 | Accept| 请求头部 [ application/vnd.github.squirrel-girl-preview,application/vnd.github.html+json ] 加上这个获取的返回值是 html 可以直接渲染,不加会返回 md 数据,你还需要自己解析才能渲染 | 无

    上面的 OAuth application 创建完就可以获取 client_id 和 client_secret

    HN8V%E))~370J624 OK6 9K

    使用库

    • gitalk, 做评论的,有 GitHub 登陆限制
    • tocbot, 更具 标签转换为目录的库

    如果上面的过程开发完了,就是部署问题了

    就用 vue 做说明吧,不要问为什么,因为我用的就是

    • 打包,请创建 vue.config.js, 并写上
    module.exports = { outputDir: 'docs', // 更改打包后的目录,方便部署 publicPath: './' // 解决 GitHub 因为路径问题 } 
    • 打包完上传到你的 github 创建的仓库中,并...
    • 进入仓库 Settings

    KO~@)~B2C U60K2_W}NW{GA

    如果一切顺利的话,就可以访问了,恭喜你搭建成功

    结尾

    如果嫌弃自己开发麻烦

    • 现成模板
    • 已经将配置抽离了出来,放到全局下了 blog.config.js
    • 你只需要 完成上面的注册部分,更改配置,就可以,直接使用了
    • 上面的还是需要那么一点基础的,起码你的会发请求,爱倒腾......
    • 重点 ---- 请勿喷 ME -----
    第 1 条附言    2019 年 8 月 4 日
    • blog 写错了,写的时候没注意,抱歉,这里的文字不能更新吗?还是我没找到......
    • 欢迎关注我的blog啊
    31 条回复    2019-08-05 20:50:40 +08:00
    oxogenesis
        1
    oxogenesis  
       2019 年 8 月 4 日
    与天斗其乐无穷
    与地斗其乐无穷
    与机器斗其乐无穷
    hhyvs111
        2
    hhyvs111  
       2019 年 8 月 4 日
    bolg ?
    lloovve
        3
    lloovve  
       2019 年 8 月 4 日 via iPhone
    不需要服务器。你需要 github 貌似更难
    learningman
        4
    learningman  
       2019 年 8 月 4 日
    兄啊你 blog 打的都是错的啊
    learningman
        5
    learningman  
       2019 年 8 月 4 日
    兄啊你偷人文章里面的掘金都没删啊
    liukangxu
        6
    liukangxu  
       2019 年 8 月 4 日   1
    在 PC 上,这种滑入 /滑出的页面切换方式真的让人头晕
    loveyou1
        7
    loveyou1  
    OP
       2019 年 8 月 4 日
    @hhyvs111 写错了 .....
    loveyou1
        8
    loveyou1  
    OP
       2019 年 8 月 4 日
    @lloovve github 不是更简单
    loveyou1
        9
    loveyou1  
    OP
       2019 年 8 月 4 日
    @learningman 没有吧,我自己刚写的,掘金那个都是我写的
    loveyou1
        10
    loveyou1  
    OP
       2019 年 8 月 4 日
    @liukangxu 还好吧,pc 上加点过度,可能是我的审美问题, 哈哈哈哈
    loveyou1
        11
    loveyou1  
    OP
       2019 年 8 月 4 日
    @oxogenesis 欢迎关注啊
    loveyou1
        12
    loveyou1  
    OP
       2019 年 8 月 4 日
    这里的编辑器为什么不能更改啊,......
    pandasoda
        13
    pandasoda  
       2019 年 8 月 4 日
    这个访问速度...
    loveyou1
        14
    loveyou1  
    OP
       2019 年 8 月 4 日
    @pandasoda 访问速度,可能是我加了大图片导致的,你们自己开发,自己看好了
    edgnoz
        15
    edgnoz  
       2019 年 8 月 4 日 via iPhone   1
    Girhub 的服务器不是服务器吗
    loveyou1
        16
    loveyou1  
    OP
       2019 年 8 月 4 日
    @edgnoz github 是自己的吗?你自己买服务器,和微软的服务器,你认为谁更可能挂,自己买服务器,还需要会配置 等等
    loveyou1
        17
    loveyou1  
    OP
       2019 年 8 月 4 日
    [https://github.com/loo41/Blog]( https://github.com/loo41/Blog) @edgnoz 一般除非,微软挂了,或者限制访问等情况,不然怎么可能挂掉
    mayx
        18
    mayx  
       2019 年 8 月 4 日 via Android
    jekyll 难道还不够用吗?
    loveyou1
        19
    loveyou1  
    OP
       2019 年 8 月 4 日
    @mayx 没用过
    mayx
        20
    mayx  
       2019 年 8 月 4 日 via Android
    @loveyou1 Github Pages 原生支持 Jekyll 啊,比 Vue 再次读取渲染 md 文件要好吧
    loveyou1
        21
    loveyou1  
    OP
       2019 年 8 月 4 日
    @mayx 好吧,我了解一些,我是自己请求返回的 html 没有返回 md 再次渲染,其实就和后端模板渲染差不多
    liuxey
        22
    liuxey  
       2019 年 8 月 4 日
    这... (邓超脸)
    vibbow
        23
    vibbow  
       2019 年 8 月 4 日
    github 的服务器就不算服务器了么...
    loveyou1
        24
    loveyou1  
    OP
       2019 年 8 月 4 日
    @vibbow 我所谓的服务器是不需要自己搭建服务器环境的,就像小程序的云开发,你都不需要会服务器
    TMaize
        25
    TMaize  
       2019 年 8 月 4 日 via Android
    还可以这样玩!不过对搜索引擎应该不太好
    loveyou1
        26
    loveyou1  
    OP
       2019 年 8 月 4 日
    @TMaize vue 前端渲染,你打开开发者工具,都是 js 里面渲染的,怎么可能对搜索引擎好,如果你想对搜索引擎好的话,ssr next.js 这些,还有 github.io 的网站,百度也不收录,好不好其实没啥影响
    CEBBCAT
        27
    CEBBCAT  
       2019 年 8 月 5 日 via Android
    2019 年了,不打算试试 newtlife ?
    CEBBCAT
        28
    CEBBCAT  
       2019 年 8 月 5 日 via Android
    打错,是 netlify
    lzhnull
        29
    lzhnull  
       2019 年 8 月 5 日
    ???
    loveyou1
        30
    loveyou1  
    OP
       2019 年 8 月 5 日
    @CEBBCAT ??
    @lzhnull ??
    CEBBCAT
        31
    CEBBCAT  
       2019 年 8 月 5 日
    @loveyou1 #29 没看错,就是 netlify,配置好了只用写 Markdown 文件,不用管发布那一套。有基础的英文能力应该就能按照教程配置出来,你可以看看我的 https://github.com/Zhang-Siyang/Blog
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2761 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 15:04 PVG 23:04 LAX 07:04 JFK 10:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86