机器人
AI摘要
chengeGPT
password
AISummary
type
status
date
slug
summary
tags
category
icon

需求来源

💡
博客作为我个人的内容分享站点,我希望除了较长的博文以外,也有很多生活点滴、随想可以分享。这样的随想类似于为微博、朋友圈的动态,内容篇幅较短,形式比较自由,可以更真实地展现博主生活的点滴、思考和灵感,无论是技术博客还是生活博客,有这样一个模块无疑会减少内容发布的压力,同时为博客添加一些内容形式和丰富度。

效果展示

通过该教程,你将拥有一个NotionNext博客”说说“页,说说内容来源于Memos中公开发布的实时动态。
以后你只要通过Memos支持的任意快捷动态发布方式 [包括网页、Chrome插件、APP、客户端、小程序、iOS捷径、Webhook等] 发布公开动态,都会立刻更新并出现在说说页中。
notion image

实现流程

前置条件

  1. 你已经拥有一个NotionNext搭建的博客,以及对应的项目文件(我们需要针对项目源代码进行修改)
  1. 你已经通过Memos部署教程部署了自有的Memos服务,并具备对应的服务站点,比如:https://memos.chenge.ink。

修改NotionNext博客项目代码

增加新的页面路由

  1. 在项目根目录 /pages中新建一个名为Memos的文件夹,并在文件夹中创建一个名为Index.js的文件夹
    1. notion image
  1. 在index.js中写入以下代码:

    主题配置增加新页面的主题索引

    在 blog.config.js 文件的 LAYOUT_MAPPINGS中增加路径 /memos 的组件映射
    ⚠️ NotionNext 4.3版本才支持LAYOUT_MAPPINGS配置,如果不是这个版本,修改更复杂些,需要自己到themes/theme.js中修改对应的映射,建议升级到4.3版本。
    notion image

    主题的代码修改,增加Memos模块

    1. 在自己使用的主题 themes/chenge/index.js 中增加对应的说说页面组件,此处 chenge 是我自己的主题名,你要根据你当前使用的主题来更改。
      1. ℹ️ 建议将你选定的主题复制一份出来,重命名为自己的名字(比如我复制了hexo主题文件夹并命名为chenge),然后将主题切换为自己的主题,后续的主题修改就都在自己创建的主题中,不会和NotionNext官方的更新冲突。
        代码如下:
        Hexo主题,index.js 添加位置示例(此处在归档后)
        Hexo主题,index.js 添加位置示例(此处在归档后)
    1. 在 主题文件夹的components文件夹,新增一个BlogMemos组件,专门用于呈现Memos内容。我的路径是 themes/chenge/components/BlogMemos.js,你按照自己的主题找对应位置即可。
      1. BlogMemos.js的代码如下:
    1. 因为BlogMemos模块引入了一些外部的css和js样式来实现说说页的样式和动态加载,你需要将对应的这些文件分别放入public文件夹下。
      1. 对应文件如下:
        • CSS文件,放在public/css文件夹下:
        • 准备好说说的头像文件,命名为avatar.jpg,放在public/images下,这个图片是作为说说页面每一条说说左侧的头像。

    在Notion Blog Database新建Memos菜单

    最后,在Notion Blog Database中新建一个菜单,slug设定为/memos,名字、图标以及菜单位置可以自定义,参考如下图:
    notion image

    完成!

    接下来部署后访问你的博客,点击菜单上的“说说”,就可以跳转到这个动态页,并加载出对应的动态内容。
    ⚠️
    可能不同主题有一些样式失配,需要自己根据主题手动调整,基本上在 public/memos.css中调整即可。

    特别鸣谢 & 相关项目参考:
    关于“我觉得没用,不值得学习”心态的思考触动成长,启迪人生 ——《认知觉醒》笔记
    • Twikoo