使用 elog 打通 notion 与 hexo

作者: Oceanic / 2024-02-17

工具使用, 2024

notion 有着令人愉悦的文字编辑体验,面对如何将 notion 的编辑和hexo 结合起来的问题,现在可以使用 elog 这个工具。


安装

npm install @elog/cli -g

初始化

elog init

配置elog

module.exports = {
  write: {
    platform: 'notion',
    yuque: {
      token: process.env.YUQUE_TOKEN,
      login: process.env.YUQUE_LOGIN,
      repo: process.env.YUQUE_REPO,
      onlyPublic: false,
      onlyPublished: true,
    },
    'yuque-pwd': {
      username: process.env.YUQUE_USERNAME,
      password: process.env.YUQUE_PASSWORD,
      login: process.env.YUQUE_LOGIN,
      repo: process.env.YUQUE_REPO,
      onlyPublic: false,
      onlyPublished: true,
    },
    notion: {
      token: ,
      databaseId: ,
      filter: {property: 'status', select: {equals: '未发布'}}
    },
    feishu: {
      type: 'space',
      wikiId: process.env.FEISHU_WIKI_ID,
      folderToken: process.env.FEISHU_FOLDER_TOKEN,
      appId: process.env.FEISHU_APP_ID,
      appSecret: process.env.FEISHU_APP_SECRET,
    },
    flowus: {
      tablePageId: process.env.FLOWUS_TABLE_PAGE_ID,
      filter: false, // {property: 'status',value: '已发布'}
    }
  },
  deploy: {
    platform: 'local',
    local: {
      outputDir: './source/_posts',
      filename: 'title',
      format: 'markdown',
      catalog: false,
      frontMatter: {
        enable: true,
        include: ['categories', 'tags', 'title', 'date', 'permalink', 'index_img'],
      },
    }
  },
  image: {
    enable: true,
    platform: 'local',
    local: {
      outputDir: './source/img',
      prefixKey: '/img',
      pathFollowDoc: false,
    },
    oss: {
      secretId: process.env.OSS_SECRET_ID,
      secretKey: process.env.OSS_SECRET_KEY,
      bucket: process.env.OSS_BUCKET,
      region: process.env.OSS_REGION,
      host: process.env.OSS_HOST,
      prefixKey: '',
    },
    cos: {
      secretId: process.env.COS_SECRET_ID,
      secretKey: process.env.COS_SECRET_KEY,
      bucket: process.env.COS_BUCKET,
      region: process.env.COS_REGION,
      host: process.env.COS_HOST,
      prefixKey: '',
    },
    qiniu: {
      secretId: process.env.QINIU_SECRET_ID,
      secretKey: process.env.QINIU_SECRET_KEY,
      bucket: process.env.QINIU_BUCKET,
      region: process.env.QINIU_REGION,
      host: process.env.QINIU_HOST,
      prefixKey: '',
    },
    upyun: {
      user: process.env.UPYUN_USER,
      password: process.env.UPYUN_PASSWORD,
      bucket: process.env.UPYUN_BUCKET,
      host: process.env.UPYUN_HOST,
      prefixKey: '',
    },
    github: {
      token: process.env.GITHUB_TOKEN,
      user: process.env.ELOG_GITHUB_USER,
      repo: process.env.ELOG_GITHUB_REPO,
      prefixKey: '',
    }
  }
}

这里我使用 notion 进行写作,填入 notion 的 token 和 database id 即可,deploy 和 img 的部分我选择将文件放在本地。

开始初始化同步

elog sync -e .elog.env

同步无误之后,就可以 push 到 github,使用 vercel 部署了。

Oceanic

作者

Oceanic

我是一个很年轻的人,目前正处于奔三的早期阶段。作为无数这个年龄段的人中的一份子,我时常迷茫、焦虑,不知道路在何方但又往往醉生梦死。博客的名字「海边的木子」和我的昵称来自我最爱的人,这是我在纷攘世界的一丝慰藉。