7fd93747f7c410a75e9ef528667421678bae853f
ailog
ATProto blog CLI
Install
$ cargo build --release
$ cp target/release/ailog ~/.cargo/bin/
Setup
$ vim public/config.json
$ npm run build
Commands
login (l)
Login to ATProto PDS.
$ ailog login <handle> -p <password> [-s <server>]
$ ailog l user.bsky.social -p mypassword
$ ailog l user.syu.is -p mypassword -s syu.is
post (p)
Post a record to collection.
$ ailog post <file> -c <collection> [-r <rkey>]
$ ailog p ./post.json -c ai.syui.log.post
$ ailog p ./post.json -c ai.syui.log.post -r 3abc123
get (g)
Get records from collection.
$ ailog get -c <collection> [-l <limit>]
$ ailog g -c ai.syui.log.post
$ ailog g -c ai.syui.log.post -l 20
delete (d)
Delete a record from collection.
$ ailog delete -c <collection> -r <rkey>
$ ailog d -c ai.syui.log.post -r 3abc123
sync (s)
Sync PDS data to local content directory.
$ ailog sync [-o <output>]
$ ailog s
$ ailog s -o ./public/content
lexicon
Update lexicon schema.
$ ailog lexicon <file>
$ ailog lexicon ./lexicons/ai.syui.log.post.json
gen
Generate lexicon code from ATProto lexicon JSON files.
$ ailog gen [-i <input>] [-o <output>]
$ ailog gen
$ ailog gen -i ./repos/atproto/lexicons -o ./src/lexicons
lang
Translate content files using LMS.
$ ailog lang <input> [-f <from>] [-t <to>]
$ ailog lang ./post.json
$ ailog lang ./public/content -f ja -t en
Requires .env:
TRANSLATE_URL=http://127.0.0.1:1234/v1
TRANSLATE_MODEL=plamo-2-translate
Description
Languages
Rust
43.3%
TypeScript
41.4%
CSS
14.4%
HTML
0.9%