No description
Find a file
2025-10-08 21:38:24 +02:00
bruno/Gemlog add ReadGemlogEntryBySlug 2025-10-06 09:50:37 +02:00
gemlog change sorting to show latest posts first 2025-10-07 09:56:54 +02:00
internal fix scroll and add bulid script 2025-10-08 21:38:24 +02:00
.gitignore add install instructions 2025-10-06 10:12:21 +02:00
build.sh fix scroll and add bulid script 2025-10-08 21:38:24 +02:00
dev.sh init repo from gemini capsule project 2025-09-30 09:42:05 +02:00
go.mod wrap text in entry view 2025-10-05 16:57:50 +02:00
go.sum wrap text in entry view 2025-10-05 16:57:50 +02:00
main.go disable logging 2025-10-06 10:42:48 +02:00
README.md add install instructions 2025-10-06 10:12:21 +02:00

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.

$ 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:

couchdb:
  host: http://myhost
  port: 1234
  user: gemlog-cli
  password: xxxxxxxxxxxxxxxxxxxxxxxxxxx

Dev

To run command locally:

$ 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

Here is how to create the db and give user gemlog-cli access:

$ 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": [] } }'