3个版本
0.1.2 | 2020年4月24日 |
---|---|
0.1.1 | 2019年9月22日 |
0.1.0 | 2019年9月22日 |
17 在 #口袋
235KB
186 代码行,不包括注释
Pants
Pants 是一个用 Rocket 编写的简单网络应用程序,用于将任何事物保存到口袋。它就像一个小小的口袋火箭🚀🚀🚀。
设置
获取口袋访问令牌
首先,在这里创建一个应用程序: https://getpocket.com/developer/apps/new。完成此操作后,它应为您提供消费者密钥。
现在,为了获取特定于您的口袋用户的代码,请这样做。假设我们的消费者密钥是 87796-6bf78d700933260a0f9b1b97
。
curl -d "consumer_key=87796-6bf78d700933260a0f9b1b97&redirect_uri=https://google.com" -X POST https://getpocket.com/v3/oauth/request
您应该看到如下响应
code=07f3123f-0a12-d2f6-07e8-abcdef
现在您可以通过访问此链接来授权您的应用程序
https://getpocket.com/auth/authorize?request_token=07f3123f-0a12-d2f6-07e8-abcdef&redirect_uri=https://www.google.com
现在最终获取授权令牌
curl https://getpocket.com/v3/oauth/authorize -X POST -H "Content-Type: application/json" -H "X-Accept: application/json" -d "{\"consumer_key\":\"87796-6b548d766433260a0f9b1b97\",\"code\":\"07f3123f-0a12-d2f6-07e8-abcdef\"}"
响应应该如下所示
{"access_token":"d44c7cc9-2434-de18-332c-923ad5","username":"[email protected]"}
这是您需要设置的 PANTS_ACCESS_TOKEN
环境变量的令牌
运行
# Ideally this maps to something exposed to the web, so the URLs will be valid, but I don't think Pocket really cares.
mkdir /var/pages
cp -r static /var/static
# Set required environment variables
export PANTS_PAGES_ROOT="/var/pages" # Relative paths work too.
export PANTS_SITE="https://example.com"
export PANTS_CONSUMER_KEY="87796-6b548d766433260a0f9b1b97\"
export PANTS_ACCESS_TOKEN="d44c7cc9-2434-de18-332c-923ad5"
export PANTS_STATIC_ROOT="/var/static"
# Set other Rocket variables if you're interested
export ROCKET_PORT=8765
export ROCKET_ADDRESS=0.0.0.0
# Let's go!
cargo run
发布
# Change the version in Cargo.toml
cargo publish
问题
我发现我越来越喜欢口袋,我想开始使用它来跟踪我想读的和已经读过的所有事物。不幸的是,并不是我想读的所有事物都适合口袋的阅读模式,尽管跟踪模式很棒。例如,将《霍比特人》保存到口袋中就没有意义,因为没有任何专门包含该内容的网页。
解决方案
您可以在口袋的添加 API 文档中看到,需要 URL,因此我们需要创建一个。
假设我想阅读 Big Boi 的面包店,由 Big Boi 编写,我可以去 Pants 并输入标题(可选地输入一些标签),然后 Pants 将在 /pages
目录下创建一个网页,在这个例子中是 /pages/bigboisbakery
,然后将其添加到口袋。
依赖项
~30–42MB
~736K SLoC