The lack of keyboard interface on Lemmy is killing me, but really what I want is a good client in Emacs. However, it’s beyond my Elisp to design and start such a project, but I could probably help. Anyone on it?

  • blawsybogsy@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    made some progress. mainly spent time working on getting the sorting types and listing types going, so you can cycle between them on the go. v basic display of post details in byline, etc., but that can easily be spruced up by pulling code from mastodon.el. + markdown rendered posts/comments, uwu!

    https://codeberg.org/martianh/lem. the readme has a rough todo list.

    logging in and loading lem as package is still pretty rough, or kinda broken. but i’ll get it sorted soon.

    still gotta build a comments tree also, that’s a biggie.

  • solrize@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I had also been thinking about this and figured it would make sense as a backend for gnus.el. I thught of starting a thread here but found this one first, so am posting to say I’m also interested in using such a thing. Idk if I’m organized enough to code it myself, due to RL distractions.

        • StrangeAstronomer@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Sorry for delayed response, just getting used to lemmy …

          No, I don’t see comments - if I’m interested in the headline, I press ‘b’ to pop up the full item in my browser.

          Yes, I subscribe to communities like this:

          (use-package elfeed
            :bind (:map elfeed-search-mode-map
                        ("s" . elfeed-search-set-filter)
                        ("S" . elfeed-search-live-filter))
            :config (setf elfeed-sort-order 'ascending))
          
          ;; elfeed-dashboard is a nice add-on
          (use-package elfeed-dashboard
            :ensure t
            :bind ("C-x w" . 'elfeed-dashboard)
            :config
            (setq elfeed-dashboard-file "~/.config/emacs/elfeed-dashboard.org")
            ;; update feed counts on elfeed-quit
            (advice-add 'elfeed-search-quit-window :after #'elfeed-dashboard-update-links))
          
          (setq elfeed-feeds '(
                               ("http://xkcd.com/rss.xml" comic xkcd)
                               ("http://rss.slashdot.org/Slashdot/slashdotMain" slashdot)
                               ("https://www.reddit.com/r/emacs/new/.rss?sort=new" reddit emacs)
                               ("https://www.reddit.com/r/linux/new/.rss?sort=new" reddit linux)
                               ("https://rss.beehiiv.com/feeds/iiTciQgHPG.xml" fossweekly linux)
                               ("https://distrowatch.com/news/dw.xml" news distrowatch linux)
                               ("http://oglaf.com/feeds/rss/" comic oglaf)
                               ("https://www.reddit.com/r/linuxquestions/new/.rss?sort=new" reddit linuxquestions)
                               ("https://www.reddit.com/r/fedora/new/.rss?sort=new" reddit fedora)
                               ("https://feeds.bbci.co.uk/news/rss.xml" news bbc)
                               ("https://www.rt.com/rss/" news rt)
                               ("https://hnrss.org/frontpage?count=100" news hacker)
                               ("https://www.reddit.com/r/swaywm/new/.rss?sort=new" reddit sway)
                               ("https://www.reddit.com/r/i3wm/new/.rss?sort=new" reddit i3wm)
                               ("https://www.reddit.com/r/nordvpn/new/.rss?sort=new" reddit nordvpn)
                               ("https://lwn.net/headlines/rss" news LWN.net)
                               ("https://lobste.rs/t/linux.rss" news lobsterlinux linux)
                               ("https://www.emacswiki.org/emacs?action=rss" news EmacsWiki emacs)
                               ("https://feeds.arstechnica.com/arstechnica/index" news arstechnica)
                               ("https://www.engadget.com/rss.xml" news engadget)
                               ("https://lemmy.ml/feeds/c/emacs.xml?sort=Active" emacs lemmy)
                               ("https://lemmy.ml/feeds/c/linux.xml?sort=New" linux lemmy)
                               ("https://lemmy.ml/feeds/c/swaywm.xml?sort=New" sway lemmy)))
          
  • blawsybogsy@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    i’m the mastodon.el maintainer. i wonder if a decent idea for this would be to have an API library that could be used with gnus, elfeed, md4rd, or anything else? it seems like everyone will want to browse it in their preferred environment.

    some lemmy things are visible in mastodon.el, but it’s currently not great. not only because of how masto rendering is based on a microblog style view, but also because a lot of content doesn’t federate that well yet.

    i took a look at the lemmy API docs, but they don’t seem to provide an overview of the endpoints?

    • blawsybogsy@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I have quite a few endpoints working now, each mostly just with the basic options implemented, and its easy to add endpoints with a handy macro i wrote. There are still quite a few quirks with lemmy itself that i’m struggling to work out, like how to search for my second account on another instance and actually have it appear in results. I might ask in a support room. The type-heavy rust and ts code is super foreign to me, it’s also very large. Maybe having the basics down I cd start on some necrco diy interface. [posted via lem.el]

    • asterisk@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      I think this would be the best way to go.

      Myself, I’d love to be able to interact with Lemmy through Gnus, but it would be great to have a general emacs API for flexibility so you can choose the front-end.

      It looks as though the api for a client is defined in api_common.