EthanLin-TWer / blog

使用 React 实现的博客💥

Home Page:https://ethan.thoughtworkers.me

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

【博客2.0】首页 - 列表

EthanLin-TWer opened this issue · comments

作为读者&作者,我希望看到首页有最新的文章列表,不然还是个什么博客啊。每篇文章应该有如下信息:

  • 标题
  • 简介(避免标题跪)
    • 没有的话就不显示
  • 写作日期 https://learn.cloudcannon.com/jekyll/date-formatting/
  • 修改日期,这个可以由 Git 提交修改日期提取完成 - 暂时性砍掉这个需求,Github Pages 不支持 modified at 这个插件
  • 标签?(不能人眼筛选么?) - 不做了。暂时想不到场景和用途
  • + 可点击。点击后跳转到详情页面
  • + 样式

目录部分见 #11 ,专题部分见 #12,草稿部分见 #13

多干了的事

  • + add Map classes, eslint and jest configuration
  • + add ErrorBoundary - a nice 404 page https://reactjs.org/blog/2017/07/26/error-handling-in-react-16.html
  • + add NotFound page
  • + add favicon.ico
  • + 本地 jekyll 会 serve 两份 blog 数据出来,一份来自 dist?哪儿来的? - 来自缓存。开个隐身模式就好了
  • + 弄得生产环境比开发环境还完美。本地数据好像有 cache,新加 front matter 字段出不来,两个问题解决一下 - 来自缓存。开个隐身模式就好了
  • 搭建本地测试环境
    • 首页 API 可访问
    • 做到在本地只要一键就可使整站的 API 都能在本地访问 - 因为都是用 jekyll API,所以本地能起 jekyll 服务器就可以连接轻量级的真实测试数据了。这部分再通过 npm start 封装起来,就感知不到细节了
  • + jekyll rebuild 太慢 - ignore node_modules
  • + travis deploy to github pages to work
  • + make gh-pages to work with dva - hard to use dva, dropping
  • + 怎么测试 posts.json?里面有些日期转换逻辑 - 手动测

数据获取的问题,主要要解决三个问题:

  • 部署在 Github 上后能正常获取到 API
  • 在本地能够不连接生产环境进行开发(比如不适用 Github API 次数等)
  • 本地数据与生产环境足够一致
方案 本地 远端 备注
使用 Github API 本地相当于连生产环境直接测试,不可行
自己转换并部署 API 成本较高,需要维护API。如果仓库只有自己用那没问题;如果还有念想要配置式地分享博客搭建,那就增加使用者的负担了
使用 Jekyll 转换的 API 两端都支持,首页可行,但详情页不知道是不是可行

那么现在暂定的方案是:本地用 jekyll 并且可以起 local server 进行开发;Github 上使用真实的 API。