Code Monkey home page Code Monkey logo

feishu2md's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

feishu2md's Issues

mbp 非M1 下载运行报错

问题描述
下载的是feishu2md-v1.3.4-darwin-arm64.tar.gz
解压后运行一直报错

To Reproduce
是否有可公开访问的脱敏链接以供测试。

期望的 markdown 格式

请描述在这里

报错的截图
image

更多信息
如有

遇到 checkbox 时报错 panic: runtime error: invalid memory address or nil pointer

问题描述

发现遇到 checkbox(即下图中的 test2 一行)就无法正常导出,报错 panic: runtime error: invalid memory address or nil pointer dereference。已阅读过 #2#3 ,未能解决。有没有可能是因为 markdown 的 checkbox 一般是 - [ ] 而飞书的是 []

image

To Reproduce

https://q6hxyvlrdh.feishu.cn/docx/KmnQddpS3oVUmkxqsGDcvI2Nnvc,即上述截图中的文档

期望的 markdown 格式


test

test1

  • test2

# test

test1

- [ ] test2

报错的截图

Captured document token: KmnQddpS3oVUmkxqsGDcvI2Nnvc
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x0 pc=0xac81b0]

goroutine 1 [running]:
github.com/Wsine/feishu2md/core.(*Parser).ParseDocxBlock(0xc00029fb90, 0xc0003ae420, 0xc00029fb90)
        /github/workspace/core/parser.go:369 +0x9f0
github.com/Wsine/feishu2md/core.(*Parser).ParseDocxContent(0xc000006520, 0xe4ae20, {0xc0003950c8, 0x3, 0x1b})
        /github/workspace/core/parser.go:279 +0x14c
main.handleUrlArgument({0xc000010340, 0x3d}, 0x0)
        /github/workspace/main.go:97 +0x38b
main.main.func1(0xc0002b63c0)
        /github/workspace/main.go:151 +0xbd
github.com/urfave/cli/v2.(*App).RunContext(0xc000247ba0, {0xe4adb0, 0xc00000a070}, {0xc00002a3e0, 0x2, 0x2})
        /go/pkg/mod/github.com/urfave/cli/[email protected]/app.go:322 +0x7a8
github.com/urfave/cli/v2.(*App).Run(...)
        /go/pkg/mod/github.com/urfave/cli/[email protected]/app.go:224
main.main()
        /github/workspace/main.go:182 +0x394

飞书转markdown,有序列表编号错误

问题描述
有序列表存在正文,代码块,截图或者引用,或者嵌套二级有序或者无序列表时,后面的有序列表编号错误,缩进错误。

To Reproduce
是否有可公开访问的脱敏链接以供测试。
https://acoinfos.feishu.cn/docx/CNcddpyOFoTPx3xg76Jc3cz9nJg

期望的 markdown 格式

请描述在这里

有序列表编号能跟飞书文档保持完全一致。
有序列表里面的截图、正文、代码块、引用的缩进,在飞书转md时也要完全一致
报错的截图
image

更多信息
有序列表转换时,新增了很多空行,需要删除

导出文档失败

问题描述
导出内部文档,应用权限已给,暂无脱敏链接:
2023/03/16 15:42:54 request Drive#GetDriveDocContent failed: code: 95006, msg: Failed

panic: Invalid feishu/larksuite URL containing docToken

panic: Invalid feishu/larksuite URL containing docToken

goroutine 1 [running]:
main.checkErr(...)
/home/runner/work/feishu2md/feishu2md/utils.go:10
main.main.func1(0xc0002ca000)
/home/runner/work/feishu2md/feishu2md/main.go:116 +0x105
github.com/urfave/cli/v2.(*App).RunContext(0xc00024dba0, {0x17be2d0, 0xc000012030}, {0xc0000423c0, 0x2, 0x2})
/home/runner/go/pkg/mod/github.com/urfave/cli/[email protected]/app.go:322 +0x7a8
github.com/urfave/cli/v2.(*App).Run(...)
/home/runner/go/pkg/mod/github.com/urfave/cli/[email protected]/app.go:224
main.main()
/home/runner/work/feishu2md/feishu2md/main.go:122 +0x156

正式应用无法下载含有图片的文章,报错为403

问题描述
注意是在正式应用下无法下载含有图片的文章,在年前应该是可以的。
测试应用可以在测试公司进行下载,但正式应用无法在正式环境下载。

需要正式环境下的原因如下:
大多数文章在企业内部已经整理,需要进行下载。

报错的截图
image

更多信息
经过测试发现如果含有图片就无法进行下载,非图片的文章可以进行下载。
云文档的所有权限都已经开放。
飞书改版前是可以的,可能是改版的原因?

图片导出问题

不好意思问一下,我把md文件成功从飞书导出来,但是图片没有成功导出,md文件里面的img路径找不到图片。需要怎么做呢?

默认配置文件路径提示有误

          > @willdla 你需要手动修改配置文件中的配置项。

配置文件路径参考

生成的配置文件路径为:

Windows: %AppData%/feishu2md/config.json

Linux: $XDG_CONFIG_HOME/feishu2md/config.json

Mac: $XDG_CONFIG_HOME/feishu2md/config.json

如无配置 XDG_CONFIG_HOME 环境变量,则默认为 ~/.config 目录。

相关配置项为 TitleAsFilename 默认为 false,可根据需求更改为 true

image

找不到这个文件夹 o(╥﹏╥)o.. 是不是出现了异常

Originally posted by @willdla in #26 (comment)

如何进行批量导出呢

问题描述
如何进行批量导出呢,用了下单个导出很方便。很多时候目录结构很重要,能怎么按目录导出呢?

To Reproduce
是否有可公开访问的脱敏链接以供测试。

期望的 markdown 格式

请描述在这里

报错的截图
如有

更多信息
如有

[需求请求] 文档名作为文件名称

作者您好:
该工具目前有一个小缺陷是:1) 文档名会变成一级标题位于文档第一行;2) 文档中的有序列表未连续编号。其他都是准确的。3)markdown的文档名称是一串编码,是否可让markdown的文档的命名与原本的文档命名相同。
由于这个工具对我们团队现在的工作很有帮助,我们团队恳请您帮助我们针对上述三个问题对feishu2md做一些修改,我们团队将会聊表心意。

导出的md 的代码块没有标识代码块的语言是什么

问题描述
首先谢谢大佬的脚本,十分好用!
当前的问题是 导出的md 的代码块没有标识代码块的语言是什么

To Reproduce
image
当前没有脱敏的文档可以使用,抱歉,不过导出的图倒是有一个。

期望的 markdown 格式

如果导出代码块,希望能够获取到这个代码块的标识
比如是 java/go/bash/shell 等等,以便解释器着色。

飞书文档 Web Card 无法导出

问题描述
飞书文档中包含的 Web Card 无法导出。

To Reproduce
链接在此

期望的 markdown 格式

[<文本>](<链接>)

直接转为 markdown 文本链接即可。
链接是写好的。如果能获取网页标题,就用标题作为文本,否则直接用链接作为文本。

报错的截图
情况比较 trivial 就不提供了。

更多信息
环境是 Ubuntu18.04
Release 是 feishu2md-v1.4.0-linux-amd64

Access denied: API 权限获取问题

问题描述
windows10环境
个人版的自建应用

request Drive#GetDocxDocument failed: code: 99991672, msg: Access denied. One of the following scopes is required: [docx:document, docx:document:readonly]

报错的截图
image

麻烦帮忙看一下问题,谢谢!

再现403 Forbidden

如题
可能原因:现在飞书文档需要将机器人添加为文档应用,才能下载了。
一个礼拜前没这个问题的。
今天遇到的。
最后是将机器人添加为文档应用后,可以下载了。
有点诡异,不知道其他同学有没有遇到。

Crash in MacOS 13.0

问题描述
执行任意feishu2md命令,例如:feishu2md --help
均会得到一个如下错误:
[1] 82459 segmentation fault feishu2md --help

To Reproduce
是否有可公开访问的脱敏链接以供测试。

期望的 markdown 格式

请描述在这里

报错的截图
image

更多信息
操作系统:MacOS 13.0
芯片:Intel
安装包:feishu2md-v1.3.3-darwin-amd64.tar.gz

下载文档出现invalid memory address or nil pointer dereference错误

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x0 pc=0x977aa0]

goroutine 1 [running]:
github.com/chyroc/lark/larkext.(*Doc).content(0xc000271d08, {0xcfd030, 0xc00009e010})
        /home/jankin/.local/share/go/pkg/mod/github.com/chyroc/[email protected]/larkext/doc_impl.go:52 +0xa0
github.com/chyroc/lark/larkext.(*Doc).Content(...)
        /home/jankin/.local/share/go/pkg/mod/github.com/chyroc/[email protected]/larkext/doc.go:81
main.handleUrl({0xc0000a4050, 0xbaa7cd})
        /home/jankin/workspace/feishu2md/main.go:64 +0x34f
main.main.func1(0xc0001c5f00)
        /home/jankin/workspace/feishu2md/main.go:108 +0xcb
github.com/urfave/cli/v2.(*App).RunContext(0xc00022f040, {0xcfd030, 0xc00009e010}, {0xc0000963a0, 0x2, 0x2})
        /home/jankin/.local/share/go/pkg/mod/github.com/urfave/cli/[email protected]/app.go:322 +0x7a8
github.com/urfave/cli/v2.(*App).Run(...)
        /home/jankin/.local/share/go/pkg/mod/github.com/urfave/cli/[email protected]/app.go:224
main.main()
        /home/jankin/workspace/feishu2md/main.go:115 +0x145

对于正式版来说,当下载图片的时候未能正确下载图片,能否在遇到非关键问题时不直接退出

#70 中,发现正式版本运行程序时遇到照片会有403的错误。此类错误并不重大影响程序运行,能否遇到非主体报错时不直接退出?
比如以下问题可能会导致文档导出有损坏,但不重大影响:

  • 图片下载失败
  • 表格导出失败
  • 部分引用失败
  • 等等

这样就算是权限部分问题也能够规避(其实主要还是想在正式应用中使用)。

谢谢大佬!

代码块转换有些问题

旧版 API

原始文档截图:

image

拉取文档:

feishu2md https://unlz98sgz3.feishu.cn/docs/doccnd99W0Ky4j4JhPhE9RsZlug

转换后的 Markdown:

# feishu2md code block test (docs)

Paragraph at the beginning.

Paragraph before code block.

```Go
package main



func main() {

    print("hello world")

}

```

Paragraph after code block.

Paragraph at the end.

存在的问题:

  • 代码块中多出了一些空行
  • 代码块的语言声明建议全小写字母

新版 API

原始文档截图:

image

拉取文档:

feishu2md https://unlz98sgz3.feishu.cn/docx/doxcnyTd6n5fRN2mOdAGbU1wcxd

转换后的 Markdown:

# feishu2md code block test (docx)

Paragraph at the beginning.

Paragraph before code block.

```
package main

func main() {
    print("hello world")
}

```

Paragraph after code block.

Paragraph at the end.

存在的问题:

  • 代码块结尾多了一空行
  • 代码块缺少了语言声明

403 forBidden

触及盲区了

2022/08/06 22:43:26 request Drive#GetDocxDocument failed: code: 1770032, msg: forBidden

批量下载云空间指定文件夹下的云文档

问题描述
请清晰具体地描述你的问题。

To Reproduce
是否有可公开访问的脱敏链接以供测试。

期望的 markdown 格式


复制文件夹的链接然后下载文件夹列表,现在的需求是需要一个一个链接复制,列表多的话比较麻烦

报错的截图
如有

更多信息
如有

飞书新版文档支持

由于飞书新版文档使用了全新的 API 接口和数据结构,上游 lark 项目还没有更新,因此暂时无法支持下载新版文档为 markdown。

导出失败:request Drive#GetDocxDocument failed

当doc中有图片的时候,要求的权限已经全部开通, 但是报问题 request Drive#GetDocxDocument failed: code: 1770032, msg: forBidden。

事实上尝试把云文档的所有权限都开通,也同样是报一样的问题。

[实验] 增加网页端的 Markdown 导出支持

为了方便一些朋友,打算增加一下易用性。研究了一下,记录一下计划的方案在此。

  • 使用油猴脚本给飞书网页端增加导出 Markdown 的按钮
  • 构建一个 Web 服务器作为处理抓取飞书文档块信息和解析 Markdown 的任务(目前计划用 vercel 平台)
  • 获取用户的飞书授权,参考 获取 user_access_token
  • 主任务处理这块复用已有的 golang 代码
  • 压缩生成的 markdown 文件和图片返回给用户

构建 web 服务器和调试授权或许是其中比较繁琐的。

end of JSON input 问题

已经提前运行过config指令,并且在json中修改了id和secret,图片文件夹没有修改
尝试导出md文件时遇到如下报错
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.