Цифровой садик - приветственная

Цифровой садик - приветственная | Полный список всего, что тут есть | RSS | Подписаться через follow.it

15.10.2025

org-social

Соцсеточка для особо оргнутых :)

У меня пока почти цельнотыренное с вот этих ссылок:

Как ставить

(use-package request)
(use-package org-social
  :ensure t
  :vc (:fetcher github :repo "tanrax/org-social.el" :rev :newest)
  :config
    (setq org-social-file "~/social.org")  ;; Path to your local file
    (setq org-social-relay "https://org-social-relay.andros.dev/")  ;; Relay server (пока, вроде, тока один публичны релей – от создателя)
    (setq org-social-my-public-url "https://your.site/social.org")  ;; Your public URL
    (setq org-social-hide-post-buttons nil) ;; Reply, Vote, and Profile buttons. Change to 't' to hide them for cleaner view. Keyboard shortcuts 'r', 'v', and 'P' still work
    ;; Optionally, configure global keybindings
    (keymap-global-set "C-c s t" #'org-social-timeline)
    (keymap-global-set "C-c s n" #'org-social-new-post)
    (keymap-global-set "C-c s o" #'org-social-open-file)
    (keymap-global-set "C-c s p" #'org-social-new-poll)
    (keymap-global-set "C-c s m" #'org-social-mention-user)
  )

В руководстве пример, как ставить, с :url вместо :fetcher + :repo, но у меня так не работает, выдает ошибку.

Команды:

org-social-timeline
Downloads feeds from people you follow and displays a unified timeline with enhanced navigation and reply functionality.
org-social-timeline-raw
Display timeline in raw Org mode format following the Org Social specification. This function creates a buffer showing all timeline posts formatted according to the official Org Social specification with proper metadata, properties, and structure. Useful for Exporting timeline data: Copy and paste posts in standard format; Understanding the format: See exactly how Org Social posts are structured; Debugging: Inspect post metadata and properties; Learning: Understand the Org Social specification by example.
org-social-new-post
Make a new post in your social feed.
org-social-new-poll
Create a new poll in your Org-social feed.
org-social-mention-user
Insert a mention of a user in your post.
org-social-check-relay-mentions
Check and display mentions from the relay server in a separate buffer. Only works when relay is configured.
org-social-validate-file
Verifies that your file has the correct structure.
org-social-open-file
Open the Org-social feed file and enable org-social-mode.
org-social-setup
Set up Org-social for first-time use.
org-social-reply-to-post
Creates a reply to a post in the timeline (available when viewing the timeline).
org-social-view-profile
View the profile of the post author at current position (available when viewing the timeline).
org-social-save-file
Save the current Org-social file and run associated hooks.

Keybindings

In the timeline buffer

Keybinding Function Description
c New post Create a new post
l New poll Create a new poll
r Reply Reply to the post at point
R React Add a reaction to the post at point
n Next post Navigate to the next post
p Previous post Navigate to the previous post
t View thread View thread for current post
P View profile View the profile of the post author
N Notifications View notifications and mentions
G Groups View groups
T Timeline Go back to timeline
g Refresh Refresh the current view
b Kill buffer Close the current buffer
q Quit Quit Org Social UI

Hooks

You can use the following hooks to perform additional actions automatically:

org-social-after-save-file-hook
Runs after saving the social file. Useful for automating tasks like uploading to a remote server or syncing with other services.
org-social-after-fetch-posts-hook
Runs after all feeds have been fetched and processed. For example, to automatically upload your social file to a remote server after saving:
(add-hook 'org-social-after-save-file-hook
          (lambda ()
            (call-process-shell-command
             (format "scp %s %s"
                     org-social-file
                     "user@server:/your/path/social.org")
             nil 0)))

Workflow

  • Setup: Configure org-social-file and create your social.org file
  • View timeline: Use M-x org-social-timeline or C-c C-t. Заодно org-social провалидирует файл social.org, будет ругаться на ошибки, если найдет.
  • Navigate: Use n/p to move between posts in the timeline
  • Reply: Press r when positioned on a post to create a reply
  • Vote on polls: Press v when positioned on a poll to vote
  • Create posts: Use M-x org-social-new-post or C-c C-n
  • Create polls: Use M-x org-social-new-poll or C-c C-p
  • Save and sync: Use C-x C-s to save with hooks

зарегаться на релее

curl -X POST https://org-social-relay.andros.dev/feeds/ -d '{"feed": "https://your.site/social.org"}' -H "Content-Type: application/json"

про общение с релеем

{
  "type": "Success",
  "errors": [],
  "data": {
    "name": "Org Social Relay",
    "description": "P2P system for Org Social files"
  },
  "_links": {
    "self": {
      "href": "/",
      "method": "GET"
    },
    "feeds": {
      "href": "/feeds/",
      "method": "GET"
    },
    "add-feed": {
      "href": "/feeds/",
      "method": "POST"
    },
    "mentions": {
      "href": "/mentions/?feed={feed_url}",
      "method": "GET",
      "templated": true
    },
    "replies": {
      "href": "/replies/?post={post_url}",
      "method": "GET",
      "templated": true
    },
    "notifications": {
      "href": "/notifications/?feed={feed_url}",
      "method": "GET",
      "templated": true
    },
    "reactions": {
      "href": "/reactions/?feed={feed_url}",
      "method": "GET",
      "templated": true
    },
    "replies-to": {
      "href": "/replies-to/?feed={feed_url}",
      "method": "GET",
      "templated": true
    },
    "search": {
      "href": "/search/?q={query}",
      "method": "GET",
      "templated": true
    },
    "groups": {
      "href": "/groups/",
      "method": "GET"
    },
    "group-messages": {
      "href": "/groups/{group_name}/",
      "method": "GET",
      "templated": true
    },
    "join-group": {
      "href": "/groups/{group_name}/members/?feed={feed_url}",
      "method": "POST",
      "templated": true
    },
    "polls": {
      "href": "/polls/",
      "method": "GET"
    },
    "poll-votes": {
      "href": "/polls/votes/?post={post_url}",
      "method": "GET",
      "templated": true
    }
  }
}

Если у вас есть мысли, комментарии, предложения или отклики по поводу этой страницы или этого цифрового сада в целом, напишите мне сообщение на me (at) ladykosha.ru. Мне ооочень интересно!

Задонатить.


An IndieWeb Webring 🕸💍