hapidry (haskell api diary) is a command line client for diary.ru api with interface in unix spirit. Feel free to open issues if something is done some other ugly way.
In the new version it uses 2 Rust libraries. https://gitlab.com/Kanedias/html2md and mdcat libraries to pretty print content on terminal. So no need to use it like hapidry read postdid | w3m -T text/html | less. Just hapidry read postdid.
They both wrapped with https://github.com/capgelka/html_md_tools to use from haskell ffi. Because there are no need to change this lib this repo contains only the compiled static library, so one doesn't need a rust toolchain to build hapidry.
Currently it supports 7 actions (with 6 subcommands).
-
Create new post in your blog
hapidry post -m message -t subjecthapidry post -f '~/prepared_post.txt' -t subjectcat prepared_post.md | markdown | hapidry post -p -t subjecthapidry post -t subject (write post in your favorite $EDITOR)hapidry post -m "only for whitelist" -whapidry post -m "save this as draft" -dhapidry post --music "music for music field"hapidry post --mood "mood for mood field"
-
Send new U-mail (private message) to user
hapidry send someone -f '~/prepared_umail.txt' -t subjecthapidry send someone -m message -t subjectcat prepared_umail.md | markdown | hapidry send someone -p -t subjecthapidry send someone -t subject(write message in your favorite$EDITOR)
-
get notifications for umails, discussions and comments. There is also an example bash script in examples folder to wrap it, but it's better to use cron for this.
hapidry notify
-
Create new comment for post with given id
hapidry comment 12324 -m 'comment text'hapidry comment 12324 -f '~/prepared_comment.txt'cat prepared_comment.md | markdown | hapidry comment 12324 -phapidry comment 1234(write comment in your favorite$EDITOR)
-
Read blogs
hapidry read(read your own blog)hapidry read someone1 someone2(read someone1 and someone2 blogs)hapidry read -r(read posts in reversed order) w3m)
-
Read umail
hapidry umail(read income umails)hapidry umail deleted(read umails from deleted folder)hapidry umail -r(umail in reversed order)
-
Read comments
hapidry read postid(can be number or number with "p" prefix)hapidry read postid -r(read posts in reversed order)
-
There are also some additional features
hapidry post -m message --tags "tagone, tag2,othertag"(creates new post with 3 tags)hapidry post blog1 blog2 -m message(add new post in 2 blogs with given names)hapidry send user1 user2 -m message(send message to 2 users)
To start usage you should create config file. The default path is ~/.hapidry, but you can choose another via -c option.
Config has simple key/value format
password = "password"
username = "diaryusername"
If you need to make actions from different user for one time, don't edit config, just add -u username and -p password via commandline.