this post was submitted on 30 Apr 2024
71 points (100.0% liked)

Open Source

31406 readers
63 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

I'm curious about

  • editing on desktop
  • editing on mobile
  • whether or not you need to self host it
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 21 points 7 months ago* (last edited 7 months ago) (2 children)

Org Mode & Emacs, Logseq, Dokuwiki and Syncthing

C-h f context-of-joke-image RET

Hey Look One Of My Favorite Hyperfocus Topics, Somebody Asked ME To Word Vomit.... What Is This ADHD Christmas????


Emacs (I like Spacemacs distribution with vim keybindings) with Org Mode.

https://www.gnu.org/software/emacs/

https://www.spacemacs.org/

Some prefer Doom

https://github.com/doomemacs/doomemacs

Lots of emacs users will tell you that YOU should prefer starting from scratch with emacs and just trusting that it can be a slick and modern experience and yeah if that is what inspires you do it hell yeah but otherwise shrugs. Emacs is definitely worth learning from the ground up if it inspires you though, here is a nice write up of the basics of evaluating elisp (emacs lisp) in emacs.

https://www.masteringemacs.org/article/evaluating-elisp-emacs

For those with the tinkerer inclination this paragraph is of particular note:

C-x M-: is especially useful if you don’t know how an interactive command “works”. Try calling it after switching buffers; opening M-x dired; or doing a search and replace. Emacs spits out the elisp code required to repeat the last command. Pretty cool stuff, and it is a great way to bind complex commands to keys as I explain in my article on mastering key bindings

The most powerful command in all of emacs/org mode is M-x, which allows you to execute a command by describing it (and also executes a search to find a command you can't remember the exact name of).

for example:

#+name: emacs-lisp-example
#+begin_src emacs-lisp
(M-x (eval-expression "THE-emacs-superhero"))
   
#+end_src

#+RESULTS: emacs-lisp-example

C-h f context-of-joke-image RET

Org-Mode


https://orgmode.org/

https://orgmode.org/worg/org-syntax.html

Org Mode is fundamentally a markdown format except it is much more powerful than markdown because the frustrating degree of "fracturization" of each tool utilizing markdown having a slightly different syntax then every single other tool. i.e. the xkcd....

...is not an issue with Org mode. Why?

  1. You don't ever need to leave Org Mode if you don't want to, it is like a blanket fort in that respect.

  2. Org-mode has extremely tight integration with Pandoc, so you can just wave your hands in the general direction of Pandoc and it will make your org file into anything you want. Do you want github markdown? How about wordpress? How about HTML5? Or maybe a unicorn?

Org mode-website guides

https://www.reddit.com/r/emacs/comments/15vc84c/org_mode_blog/

https://www.danliden.com/posts/20211203-this-site.html

https://systemcrafters.net/publishing-websites-with-org-mode/building-the-site/

This video is a great 15 minute argument about why Org Mode is amazing.

https://m.youtube.com/watch?v=DEeStDz_imQ

reader challenge: can you tell the difference between this video and the video the image at the top of the post is from? I can't, problem is I have made so many editing mistakes on this post by this point that it is just a spiraling palimpsest and I fear I will never be able to know for sure if I linked to the correct one in the right spots in this post, kind of like an endless labyrinth of parentheses if you think about it

This video is a great rundown of why a writer might be compelled to invest so much time in learning Org Mode when it gives off a vibe of a tool designed for nerdy programmers exclusively.

https://m.youtube.com/watch?v=FtieBc3KptU

For mobile I use organice as a web browser front end (Progressive Web App, pin it to your phones home screen) for editing and viewing Org files (with included agenda/calendar support and task tracking as per normal Org Mode in emacs). Eventually I want to set up a local WebDAV file server but right now I just set up a Dropbox with Organice and then plugged in Syncthing to sync my Org files to other devices.

Try out Organice here, you can test it right in your browser…. because it runs totally in a phone or desktop browser (it’s a PWA!!). No data is sent to Organice, the hosted website is just an easy way to download the webpage to your phone and from that point on your devices just directly connect with no remote Organice servers ever actually touching your data.

https://github.com/200ok-ch/organice

Documentation for deploying a local only Apache web server in docker.

Emacs and Spacemacs also run in (command line mode) on termux on android, also Emacs is close to being released as a native app on android and I am excited to see where that goes with mobile Org Mode-info.

https://termux.dev/en/

For file syncing I particularly recommend Syncthing because it requires no formal file server nor does it require a single server host (no single point of failure in a multiple device network syncing a folder). Files can easily be shared between devices and you can customize it to your hearts content, and especially if you have Syncthing running on your phone or a raspberry pi or something as your relay server SyncThing just works soooo damn well I love it.

Useful Syncthing Links


https://syncthing.net/

https://docs.syncthing.net/

https://docs.syncthing.net/dev/infrastructure.html

https://docs.syncthing.net/intro/gui.html

https://docs.syncthing.net/intro/project-presentation.html#project-presentation


addendum on how to use QR code scanner on the Syncthing web browser GUI (or associated apps) with devices that have a camera (laptops or phones) at bottom

When using Syncthing to backup critical text files (that contain organizational and task tracking stuff), just go into the settings for that folder, set file versioning to "simple file versioning" and crank the number of old versions of a file to keep up to like 50.... because I mean why not? With text files it isn't going to take up any significant space, and while this is a crude solution it works and it is simple.

https://docs.syncthing.net/users/versioning.html

The main developers of Syncthing were unsure they would ever be able to get it to work with iOS’s file system, but thankfully somebody made an app called MobiusSync which is a paid app (a couple of bucks) which works fantastic for bringing SyncThing to iPhones/iOS.

https://www.mobiussync.com/

The thing that makes SyncThing so eminently practical is that if you are using a task tracking/organizational system that keeps its contents in a folder in a simple fashion (no database or anything) the file difference tracking of SyncThing immediately sets up a very powerful backup system that is MUCH more of a pain in the ass to DIY with any other setup (say Nextcloud and having to host a server).

One recommendation I have that connects well with SyncThing is the downright sexy wiki software Dokuwiki

https://www.dokuwiki.org/dokuwiki

Why is Dokuwiki sexy? It is super lightweight and keeps all the files for a wiki inside a normal folder with each page having a separate markdown file. There is no database you also have to get up and running that then makes remote syncing/backup a much more complex process. Just aim SyncThing at the folder where Dokuwiki is storing the wiki files and BAM you are done. Dokuwiki needs more love!!!

Dokuwiki also has a fairly mature plugin and theme database of community created content you can download. Most importantly is the farmer plug-in which lets you host multiple bifurcated wikis on the same website/Dokuwiki server. There are also just a bunch of different plugins that allow you to set up anything from a blog to personal/intercompany documentation extremely easily and with zero annoying requirement to directly build the basic boilerplate stuff a website or wiki with a database normally requires.

https://www.dokuwiki.org/plugins

If Org Mode is too much for you (you are in good company, company being the majority of human beings who don’t like silly endless rabbit holes lol) LogSeq might be worth checking out. It has a nice mobile app and SyncThing can easily be set up to sync the file folder LogSeq is using.

https://logseq.com/

If you (somehow, congrats! I respect the masochism) reached the end of this post and are annoyed that I am acting like a semi-human encyclopedia word vomiting information about annoying niche things nobody else cares about and it comes off like the tools I use massively overcomplicate things even when I claim they are simplifying things with a totally serious face (with a cult-like fervor in my eyes..?). Well here is some mindbleach for your troubles

https://m.youtube.com/watch?v=urcL86UpqZc


Addendum on using Syncthing's QR code reader!!

On the syncthing management screen on any one of these machines


perhaps call this machine Mc0


click the button "+ Add Remote Device" and input two fields: First, "Device ID"


if necessary take this from the other machine, say Mc1. Find "Device ID" under "Actions > Show ID": the "Device ID" is an 8x7 string of characters or a QR code. Sometimes , I might not even have to do anything explicitly as Mc0 will automatically detect machine Mc1 (and possibly others) on my local Internet or WiFi. In that case, just click on the field for that machine. Additionally and optionally fill in a "Device Name" of my choice that will uniquely identify Mc1 to me - the "Device Name" has no significance to syncthing; it is meant only to aid humans. Close.

https://gist.github.com/DannyQuah/242f08d20a9ada7b1077e077bb2d10ac

[–] [email protected] 3 points 7 months ago (1 children)

thanks for this!! there's so much info on this comment

i'm currently using Logseq w/ Syncthing but i'll be looking at Org Mode and DokuWiki

[–] [email protected] 2 points 7 months ago* (last edited 7 months ago)

Not really a programmer so sometimes I feel bad I don't have a better way to give back to the projects that have improved my quality of life immensely (and made me much more hopeful of a person).

If I can help even a little bit with raising awareness and connect people with dope open source projects than fuck yeah. Best use of my time possible in my opinion. These tools are seriously powerful, they are made by designers who are far wiser than I will ever be and it is deeply moving to me that they are given out so freely to the world!

[–] [email protected] 1 points 7 months ago* (last edited 7 months ago)

I would like to add that Bookstack seems popular though I know not very much about it.

https://www.bookstackapp.com/

This article is a great comparison of self-hosted wiki software including Dokuwiki, Bookstack and Wiki.js

https://xtom.com/blog/self-hosted-wiki/

Others like Joplin seem to have been mentioned plenty enough! It has been a blast reading other people's responses, thanks everyone. Feels good to contribute to a general pool of information that isn't owned by some enshittifying company. Threads with so much good information like this make me want a really easy way to turn lemmy comment threads into wiki-like articles associated with the relevant sub-lemmy that link back and forth to the source comments (and their external sources of course). The mods of the sub-lemmy could have control over approving new wiki pages.