gemlog-cli/README.md

81 lines
1.5 KiB
Markdown

# Gemlog CLI Tool
Quick tool to write gemtext posts for my gemlog.
=> gemini://travisshears.com/gemlog
## Install
Build and link. Remember to setup config file as well.
```shell
$ go build -o bin/gemlog
$ ln -s /Users/xxxxxxxx/_projects/gemlog-cli/bin/gemlog-cli ~/bin/gemlog
```
## Config setup
This app relys on a config file at `~/.config/gemlog-cli/config.yml`
With the following format:
```yaml
couchdb:
host: http://myhost
port: 1234
user: gemlog-cli
password: xxxxxxxxxxxxxxxxxxxxxxxxxxx
```
## Dev
To run command locally:
```shell
$ go run .
```
## Entites
Gemlog
- id, uuid
- title
- slug
- date
- gemtxt
- short? gemtxt < 250 char
## Arch
For DB planning to use couch db
## Use-cases
### Create gemlog entry
Open editor with pre-filled template with frontmatter. Set example date (now), title, slug
### Delete gemlog entry
Select from list then delete.
### Edit gemlog entry
Select from list then edit.
## Creating db
This project is backed by a nosql database, couchdb.
[docs on couchbase permissions and users](https://docs.couchdb.org/en/stable/intro/security.html#users-documents)
Here is how to create the db and give user gemlog-cli access:
```shell
$ curl -X PUT http://admin:xxxxxxxxxxxxxxxxxxxxxxxxxxx@eisenhorn:5023/gemlog
$ curl -X PUT http://admin:xxxxxxxxxxxxxxxxxxxxxxxxxxx@eisenhorn:5023/gemlog/_security \
-H "Content-Type: application/json" \
-d '{"admins": { "names": [], "roles": [] }, "members": { "names": ["gemlog-cli"], "roles": [] } }'
```