From 8bcd3865fc4e696955bd1ef1d84378dd5d24d579 Mon Sep 17 00:00:00 2001 From: Marcel Kapfer Date: Thu, 6 Feb 2025 20:01:41 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20(scribbles)=20Add=20API=20integrati?= =?UTF-8?q?on=20package?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/scribbles.el | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 packages/scribbles.el diff --git a/packages/scribbles.el b/packages/scribbles.el new file mode 100644 index 0000000..3d6087d --- /dev/null +++ b/packages/scribbles.el @@ -0,0 +1,29 @@ +;;; scribbles.el --- Scribbles Integration -*- lexical-binding: t -*- + +;;; Commentary: +;;; Integration with my Scribbles microblog on mmk2410.org + +;;; Code: +(require 'json) +(require 'plz) + +(defun scribbles--get-api-key () + "Get Scribbles API key from auth store." + (let ((result (auth-source-search :host "mmk2410.org" :user "scribbles"))) + (if result + (funcall (plist-get (car result) :secret)) + nil))) + +(defun scribbles--build-headers () + "Build headers for Scribbles Lab API request." + `(("Content-Type" . "application/json") + ("Api-Key" . ,(scribbles--get-api-key)))) + +(defun scribbles-post (message) + "Post MESSAGE to Scribbles." + (interactive "sScribble: ") + (plz 'post "https://mmk2410.org/my/api/v1/scribble" + :headers (scribbles--build-headers) + :body (json-encode `(("text" . ,message))))) + +;;; scribbles.el ends here