跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 分享一款将 LeetCode 中 AC 的题目转化为 MarkDown 表格的插件
未分類
5 10 月 2020

分享一款将 LeetCode 中 AC 的题目转化为 MarkDown 表格的插件

分享一款将 LeetCode 中 AC 的题目转化为 MarkDown 表格的插件

資深大佬 : muyunyun 0

背景: 写博客的时候每当新增 LeetCode 题解时都需要在 https://github.com/MuYunyun/blog/blob/master/LeetCode/README.md 手动更新表格, 非常费劲。因此构思了该插件实现自动化同步更新 leetcode ac 题解为 markdown table 。

crd-leetcode-cli

crd-leetcode-cli 提供将 leetcode 中已 AC 的题目转化为 markdown 表格的能力。

Install

执行 yarn add crd-leetcode-cli -g, 国内用户可以执行 cnpm install crd-leetcode-cli -g

Usage

leetcode download       // 增量拉取 AC 题目(若无登录, 则会先执行登录逻辑) leetcode download -a    // 全量拉取 AC 题目 leetcode login          // 登录 leetcode logout         // 登出 

接入项目示例

Render Markdown Table Customly

插件提供了自定义渲染 markdown table 的能力。

  • 在项目根目录创建 config.js 文件。
  • 在 config.js 内自定义生成 markdown 的 transform_markdown_table 函数。
const transform_markdown_table = (dataArr) => {   const beforeDescription = `The markdown table is generated by [crd-leetcode-cli]( https://github.com/MuYunyun/create-react-doc/tree/master/packages/leetcode-cli)`;   let result = beforeDescription + 'n' +     '| # | Title | Explanation | Difficulty | Type |' +     'n' +     '|:---:|:---:|:---:|:---:|:---:|';    for (let i = 0; i < dataArr.length; i++) {     result += `n| ${dataArr[i].questionId} | [${dataArr[i].title       }]( https://leetcode.com/problems/${dataArr[i].titleSlug       }/) | [Analyze]( https://github.com/MuYunyun/blog/blob/master/LeetCode/${dataArr[i].questionId       }.${dataArr[i].title.split(' ').join('_')}.md) | ${dataArr[i].difficulty       } | ${dataArr[i].topicTags} |`;   }   return result; };  module.exports = { transform_markdown_table } 

通过自定义 transform_markdown_table 函数, 便可得到如下 markdown table:

分享一款将 LeetCode 中 AC 的题目转化为 MarkDown 表格的插件

Technology Details

  • 使用 puppeteer 登录 leetcode 获取 cookie 信息。
    • 分享一款将 LeetCode 中 AC 的题目转化为 MarkDown 表格的插件
  • 获取 cookie 后, 使用 graphql-request 调用 graphql 接口获取题目详情信息。
  • 自定义生成 markdown table。
大佬有話說 (5)

  • 資深大佬 : jiangshanmeta

    题主 为了完成同样的事情,我只用了一个[node 脚本]( https://github.com/jiangshanmeta/meta/blob/master/scripts/generate.js)

  • 主 資深大佬 : muyunyun

    @jiangshanmeta 神奇, 调用 restful 接口不用 cookie 就能访问么。。我这边多了一步登陆操作, 成本其实相差不大, 后续涉及到编辑的接口也能访问了。

  • 主 資深大佬 : muyunyun

    插件地址好像忘记添了, 在 https://github.com/MuYunyun/create-react-doc/tree/master/packages/leetcode-cli

  • 資深大佬 : asanelder

    挺好,不错,鼓励,给个赞

  • 資深大佬 : xrr2016

    标记

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具