前两天分享了一下在浏览器内运行的 MarkItDown, 有几个朋友对实现细节很有兴趣
分享一下核心代码
https://chi.miantiao.me/posts/run-python-in-browser/
分享一下核心代码
https://chi.miantiao.me/posts/run-python-in-browser/
使用 Cloudflare Snippets 搭建一个不限流量的 Docker 镜像
Cloudflare Workers 搭建 Docker 镜像个人使用请求数小没啥问题。但是如果公开使用,大量的请求数还是会产生费用。
其实 Cloudflare 还有一个更轻量的 JS Runtime: Cloudflare Snippets, 但是也有更严格的限制:CPU 执行时间 5 ms,最大内存 2M, 最大代码量 32K。 不过拿来重写请求足够了。
遗憾的是 Cloudflare Snippets 目前还未对 Free 计划开放,不过他们博客说 Free 计划可以建 5 个 Snippets。
如果你有 Pro 计划,拿 Cloudflare Workers 的代码稍微修改一下就可以运行, 支持 Docker Hub, Google Container Registry, GitHub Container Registry, Amazon Elastic Container Registry, Kubernetes Container Registry, Quay, Cloudsmith。
修改后的代码:
https://chi.miantiao.me/posts/cloudflare-docker-mirror/
Cloudflare Workers 搭建 Docker 镜像个人使用请求数小没啥问题。但是如果公开使用,大量的请求数还是会产生费用。
其实 Cloudflare 还有一个更轻量的 JS Runtime: Cloudflare Snippets, 但是也有更严格的限制:CPU 执行时间 5 ms,最大内存 2M, 最大代码量 32K。 不过拿来重写请求足够了。
遗憾的是 Cloudflare Snippets 目前还未对 Free 计划开放,不过他们博客说 Free 计划可以建 5 个 Snippets。
如果你有 Pro 计划,拿 Cloudflare Workers 的代码稍微修改一下就可以运行, 支持 Docker Hub, Google Container Registry, GitHub Container Registry, Amazon Elastic Container Registry, Kubernetes Container Registry, Quay, Cloudsmith。
修改后的代码:
https://chi.miantiao.me/posts/cloudflare-docker-mirror/
说一说将 MarkItDown 运行在浏览器中只有中国大陆程序员会遇到的一个问题
Pyodide 是一个在 WebAssembly 中运行 Python 的工具库,使用 Micropip 通过 PyPI 来安装包。
PyPI 在中国大陆是无法正常访问的,但是有许多的 Mirror。清华、阿里云、腾讯云、华为云等不少网站都提供了镜像。这些镜像除了清华的 tuna,其他都不支持 JSON-based Simple API for Python (PEP 691)。
由于 WebAssembly 在浏览器内运行需要跨域和 PEP 691,但是清华的 tuna 又不支持 CORS 跨域。
所以在中国大陆可能没有 Micropip 可用的 PyPI 镜像。
基于这个背景,使用 Cloudflare 搭建了一个支持 PEP691 和 CORS 的 Mirror。
支持 Workers 或者 Snippets 都可以搭建,但各有优缺点:
Workers
优点:免费计划可用。
缺点:会产生很多 Worker 请求,可能超出免费计划后不可用或需要付费。
Snippets
优点:不产生 Worker 请求,支持大量使用。
缺点:Snippets 目前只有 Pro 以上计划使用,Free 不可用。
对应代码已经开源,地址: https://github.com/ccbikai/cloudflare-pypi-mirror
Pyodide 是一个在 WebAssembly 中运行 Python 的工具库,使用 Micropip 通过 PyPI 来安装包。
PyPI 在中国大陆是无法正常访问的,但是有许多的 Mirror。清华、阿里云、腾讯云、华为云等不少网站都提供了镜像。这些镜像除了清华的 tuna,其他都不支持 JSON-based Simple API for Python (PEP 691)。
由于 WebAssembly 在浏览器内运行需要跨域和 PEP 691,但是清华的 tuna 又不支持 CORS 跨域。
所以在中国大陆可能没有 Micropip 可用的 PyPI 镜像。
基于这个背景,使用 Cloudflare 搭建了一个支持 PEP691 和 CORS 的 Mirror。
支持 Workers 或者 Snippets 都可以搭建,但各有优缺点:
Workers
优点:免费计划可用。
缺点:会产生很多 Worker 请求,可能超出免费计划后不可用或需要付费。
Snippets
优点:不产生 Worker 请求,支持大量使用。
缺点:Snippets 目前只有 Pro 以上计划使用,Free 不可用。
对应代码已经开源,地址: https://github.com/ccbikai/cloudflare-pypi-mirror
可以将 Office 文件或其他基于文本类的文件转换为干净的 Markdown
基于微软开源的 MarkItDown ,完全在浏览器内运行,使用需要网络通畅
不上传文件到服务器,可放心使用
https://www.html.zone/markitdown/
可以将 Office 文件转换为 Markdown ,一天之内涨了快 10k ⭐ 。
由于是 Python 实现需要服务端,官方没提供在线示例。
我找到一个可以在浏览器内运行的方法,主流程已经调通,等我今晚改改 Bug 发出来给大家玩玩
https://404.li/markitdown
最近看到 javayhu 的账号天天异常,想到 GitHub 账号要是被封, 代码可不就全没了。
于是使用 git-sync 每天将代码自动备份一份到 Homelab
https://404.li/git-sync