有没有一种方式可以通过 api 来创建 planet 文章?开启 api?

2 天前
 JoeJoeJoe

如果开启这个 api 可以实现的话, 那么我得检查一下为什么我本地这个 api 调用/app/会 404 了.

@kai @livid

409 次点击
所在节点    Planet
14 条回复
Livid
2 天前
https://docs.planetable.eth.limo/api/

https://github.com/Planetable/Planet/blob/main/Technotes/API.md

/app/ 这个目录在磁盘上的位置是:

~/Library/Containers/xyz.planetable.Planet/Data/Documents/Planet/Public
Livid
2 天前
这个 /app/ 目录的添加行为,是在 Planet 启动时,会从这个仓库下载一个压缩包,然后解压:

https://github.com/Planetable/planet-web

所以也可以在 ~/Library/Containers/xyz.planetable.Planet/Data/Documents/Planet/Public 下用这个方式获得 /app/ 目录:

cd ~/Library/Containers/xyz.planetable.Planet/Data/Documents/Planet/Public
git clone https://github.com/Planetable/planet-web app-dev

然后访问:

http://localhost:8086/app-dev/
JoeJoeJoe
2 天前
@Livid #2 我应该是拒绝了下载这个压缩包, 所以一直失败.

ok, 破案了 :)
Livid
2 天前
@JoeJoeJoe 你是怎么拒绝的?
JoeJoeJoe
2 天前
@Livid #4 我先完全卸载掉了我的 planet, 然后重新下载了一份, 当我安装完 planet 的时候,我就切到其他工作目录去了,过了一会突然弹了一个窗口,提示需要我 github 的钥匙串内容,我下意识的就拒绝了,后来反应过来可能是 planet 要下载这个仓库.

ps: 最开始我打不开/app/的时候,我有去翻下文档, https://docs.planetable.eth.limo/api/ 这个文档我有翻到过, 所有操作都一致, 后来翻阅历史博客, 发现这个 webapp 好像不是捆绑到包内的,才怀疑是我拒绝造成的问题.
JoeJoeJoe
2 天前
@Livid
这个地方的默认文件夹我是有过改动的😂

Livid
2 天前
@JoeJoeJoe 这个下载操作是普通的 http 请求,不会使用到和你的 git 配置有关的东西,具体的代码在这里:

https://github.com/Planetable/Planet/blob/main/Planet/API/WebAppUpdater.swift
JoeJoeJoe
2 天前
@Livid #7 我一会确认一下,我电脑里安装了 github desktop 不知道会不会有影响. 从我对这个提示有印象以来,好像只弹过两次, 我再确认一下.

感谢回复.
Livid
2 天前
这个仓库里可以看到所有创建、修改、删除操作的例子:

https://github.com/Planetable/planet-web
JoeJoeJoe
2 天前
@Livid #9 👌🏻 加到 todo 里了 哈哈哈
JoeJoeJoe
2 天前


@Livid 我的 web 版本也可以显示出来了, 简单记录一下我的操作

开始我将 app 文件放在~/Library/Containers/xyz.planetable.Planet/Data/Documents/Planet/Public 下然后启动 server, 访问/app/还是 404, 这个时候我的真实 planet 文件目录还是在 icloud 中的

然后我将 app 文件放在 icloud 目录下, 然后启动 server, 访问/app/还是 404

这期间我单独起了一个 http server 来检查 app 代码, 发现是找不到 my 之类的文件.

然后我将 icloud 中的文件夹备份,复制到默认目录:~/Library/Containers/xyz.planetable.Planet/Data/Documents/Planet/下, 然后点击设置里面的数据文件位置->重置, 然后重启 planet

再次开启 planet, 访问/app/ 神奇的事情出现了, 我的 web app 可以访问了

然后我又将数据文件指向到 icloud, 并删除了默认位置的所有文件, 重启访问, /app/还是可以访问到的.

具体的原因没有检查出来, 但是有一个点比较可以, 就是我原始的 public 中是没有 app 这个文件夹的, 估计是初始化之类的操作出异常了, 进而影响了整个后续操作. 有时间在去追代码吧, 最少现在这个不是阻碍我的问题了.
JoeJoeJoe
2 天前
@JoeJoeJoe #11 石锤了, 如果将 planet 的数据位置放在 icloud 中, 这个 web 站点就会失效.

看样子是一个 bug @Kai 佬可以复现一下
Kai
2 天前
@JoeJoeJoe 收到,正在检查。
Kai
2 天前
https://github.com/Planetable/Planet/commit/5145c30fd62404b44bc3c43c1e3fc84ec7fc68e4
这个问题修好了,但是 Web App Updater 解压缩那一步还会有问题( iCloud Drive 沙盒权限问题,我还在研究)。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1167008

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX