[SUMMARY] #3 [[bbb:OrgMeetup]] on Wed, Oct 11, 19:00 UTC+3
[SUMMARY] #3 [[bbb:OrgMeetup]] on Wed, Oct 11, 19:00 UTC+3
-
Random interesting links
- https://github.com/rougier/notebook-mode (Org styling)
- https://github.com/ahyatt/ekg (Alternative database-based knowledge management approach)
- https://yhetil.org/emacs-devel/CANr+fmwRWfKpwVJWv4k2CLYczKNCuRqs4zZijRQ40K9r8YpmKw@mail.gmail.com/ (on combining multiple major modes and buffers in a single buffer)
-
Nick Anderson mentioned Khoj (https://khoj.dev/)
- It is an AI indexer for Org/MD/txt/pdf files and Github repositories
- Allows querying Org notes, remote repository readmes, and documents using natural language, just like ChatGPT (but on your own dataset).
- Can be used locally via pytorch/Llama 2
- Can connect to ChatGPT
- Implement its own python-based Org parser
- It is an AI indexer for Org/MD/txt/pdf files and Github repositories
-
Why asked about neovim-friendly configs
- Not exactly Org-specific, but the usual suggestions are Doomemacs and evil-mode in vanilla Emacs
- Also, Nick Anderson reminded about Spacemacs (https://www.spacemacs.org/)
- Unlike Doom emacs, which is fast, but not always stable, Spacemacs is an old, stable project. Although, AFAIR, Spacemacs is known for its slowness due to large number of packages.
-
Nick Anderson shared https://github.com/unhammer/org-rich-yank
- The package allows pasting code into Org files, automatically adding a backlink to the copied source code line.
- Somewhat related: Org =open-source= protocol allows opening http pages locally. For example, one can take github URL and open the local git clone or Worg URL and open the local WORG clone.
- https://github.com/sshaw/git-link does the opposite - derive github URL from local git clone.
- I personally also have a code that converts local =notmuch:= links to mailing list emails into URL https://github.com/yantar92/emacs-config/blob/master/config.org#live-helm-org-ql-search-in-org
-
Carlo Tambuatco asked about what is tree-sitter and how it is used in Emacs
-
The question is not exactly on topic as tree-sitter does not work well with Org
- There is https://github.com/milisims/tree-sitter-org, but implementing Org syntax within GLR (supported by tree-sitter) is rather hard. As of recently, the existing tree-sitter module is (1) rather slow, even compared to Org's Elisp parser; (2) not accurate for complex documents.
-
On more introductory resources for tree-sitter, I strongly recommend the presentation from https://www.thestrangeloop.com/2018/tree-sitter---a-new-parsing-system-for-programming-tools.html
- Also, see https://tree-sitter.github.io/tree-sitter/#talks-on-tree-sitter
- More Emacs-related description can be found in https://www.masteringemacs.org/article/tree-sitter-complications-of-parsing-languages
-
TL;DR: Tree sitter is a unified interface to parse text files, with parsers contributed by community for different programming languages/text formats.
It is more powerful compared to classic Emacs approach with regexp matching, and thus can be (and is) used to provide more accurate fontification, indentation, and editing experience.
Historically, Emacs also has a unified parser - Semantic, but it is rather complex and did not get traction, except for a subset of several supported languages. In contrast, tree-sitter language support is developed not only within Emacs - many more languages are supported by now.
-
-
There was a demo demonstrating how to export texinfo manual to HTML with source code examples fontified as in Org mode
-
The motivation is limited Org support for manual authoring
- ELPA, when generating manuals from Org sources, does not use the latest Org version, with some features lacking.
- While Org supports org to texi export, only a limited subset of texinfo markup is supported, as Org is not specialized for manuals and does not have a notion of specialized markup like , , , etc
- Also, Org does not yet support glossaries and indexes as well as Texinfo does. Though see https://github.com/tecosaur/org-glossary, which is an experimental implementation by one of the Org contributors.
-
One downside of texinfo is that code snippets are not colored
-
To solve this problem, https://github.com/hniksic/emacs-htmlize and Org publishing are utilized
- The manual source is written in texi and then exported to html during publishing
- The generated HTML is further processed (via org-publish-after-publishing-hook), taking the code in HTML, passing it through htmlize (just like what Org does in org-html-fontify-code), and replacing the HTML code elements with property fontified versions.
-
Unfortunately, the code was only showed on screen and no link was dropped to the chat. So, I am just leaving what I remember from how the code works (above).
UPDATE from the author of the demo: You can find the code I use for adding highlighting to Texinfo examples here:
-
Namely, the function
esy-publish-fontify-examples
takes the name of an HTML-formatted Texinfo manual, and useshtmlize
to markup the contents of "example" blocks in that HTML file.The result is very similar to the markup of source blocks in Org documents. For instance you can see some highlighted "examples" here: https://eshelyaron.com/man/sweep/Numbered-Variables.html
- RMS previously suggested to work towards Org being a proper tool
to write manuals, on par with Texinfo: https://list.orgmode.org/orgmode/87bkqx4jyg.fsf@localhost/
- We are far from there, but the direction where to go is known https://yhetil.org/emacs-devel/87v8cmnspf.fsf@localhost/
-
-
Ilya Chernyshov asked about his feature request on the mailing list: https://list.orgmode.org/[email protected]/T/#u
-
His workflow involves repeated tasks (habits)
-
Sometimes, he finishes a task in time, but sometimes he misses it: : * TODO exercise
: SCHEDULED: <2023-10-08 Sun +1d>
: :PROPERTIES:
: :CREATED: [2023-10-01 Sun 01:25]
: :LAST_REPEAT: [2023-10-10 Tue 02:08]
: :END:
: :LOGBOOK:
: - State "DONE" from "TODO" [2023-10-08 Sun]
: - State "MISSED" from "TODO" [2023-10-07 Sat]
: - State "DONE" from "TODO" [2023-10-06 Fri]
: :END:
-
The problem is =LOGBOOK= entry date
- Org mode, by default, uses timestamp when the user changed todo state
- However, for "MISSED" task, the date what the task is marked "MISSED" is not necessarily the same day it is scheduled
- Ilya wants to be able to use =SCHEDULED= date rather than "today" in the log for certain keywords.
-
The feature might be implemented as an extension of org-current-effective-time, which is already customizeable via org-use-last-clock-out-time-as-effective-time.
-
-
Nick Anderson asked about previously announced Karl Voit's podcast https://graz.social/@publicvoit/110986422932417006 where he planned to talk about Org mode
- Karl Voit's blog: https://karl-voit.at/
- We asked Karl on Mastodon: https://emacs.ch/@yantar92/111217525037662745
- Reply: #+begin_quote
The Informed Life https://theinformed.life/ is the first podcast that will publish an episode with me. The other will be in German and we don't have a recording date yet.
[...]
See also https://karl-voit.at/clippings/
#+end_quote
-
visuwesh asked about setting org-latex-title-command per-file in Org LaTeX export
- There is no special in-buffer keyword to set it, but one can use
- #+BIND keyword to set any variable during export (need to customize org-export-allow-bind-keywords)
- buffer-local/directory-local variables in Emacs
- visuwesh's setting is rather long and would require adding a lot
of boilerplate text to each exported Org buffer
- Org provides a way to include common settings into exported file using =#+SETUPFILE= keyword. See https://orgmode.org/manual/Export-Settings.html
- org-latex-title-command is a template, which Org can populate with AUTHOR, TITLE, SUBTITLE, KEYWORDS,
DESCRIPTION, CREATOR, LANGUAGE, or DATE
- visuwesh asked if it is possible to fill arbitrary document
metadata to the template
Like #+PROF: XXXX and then XXXX being adding to the template.
- It is currently not possible.
- One would have to use more generic facilities, like export filters to achieve this.
- visuwesh asked if it is possible to fill arbitrary document
metadata to the template
Like #+PROF: XXXX and then XXXX being adding to the template.
- There is no special in-buffer keyword to set it, but one can use
-
excalamus shared his experience using Org mode on the newest Emacs Android port
- To make things more touchscreen-friendly, he added custom toolbar buttons to move around Org buffers.
- We had a similar idea in recent mailing list discussion:
https://list.orgmode.org/orgmode/[email protected]/
- Unlike excalamus' toolbar approach, the idea discussed on the mailing list was to add text buttons right inside Org buffer, below each heading.
- visuwesh mentioned that Emacs Android is capable of running the
usual Linux command line tools, when they are installed via termux
- For example, one can install Git and then use Magit right inside Emacs on Android
- Instructions: https://sourceforge.net/projects/android-ports-for-gnu-emacs/files/
- For the time being (while Android port is not a part of an actual Emacs release), the above Sourceforge page is where the latest Android port can be downloaded: See https://yhetil.org/emacs-devel/[email protected]/
- Emacs (and Org mode) on Android is capable of displaying images, except svgs
- There is some problem with Android svg library
- As a side effect of lacking support of svg images (for now), Ilya's https://github.com/ichernyshovvv/org-timeblock will not work on the Android port, unfortunately
-
On searching Emacs (and Org mode) mailing lists
- https://yhetil.org/emacs-devel/ has much better search functionality compared to https://lists.gnu.org/archive/html/emacs-devel/
- https://list.orgmode.org/ is using the same "public inbox"
software (https://public-inbox.org/README)
- One can anonymously subsribe to Org mailing list via "Atom feed" link
- Or even to specific Org mailing list thread by
- following a thread link (example: https://list.orgmode.org/[email protected]/T/#t)
- Clicking "Atom feed" link at the bottom of the page (https://list.orgmode.org/[email protected]/t.atom)
-
A short discussion about the meetup timing
- We currently stick to time zone comfortable for me, but we have at least one volunteer, who can be the host in Asia/Singapore time zone
- Anyone interested in alternative schedule, please reply to https://list.orgmode.org/[email protected]/t.atom
- Also, OrgMeetup is not the only Emacs-related meetup out there
- We have a number of meetups in various time zones
- See https://sachachua.com/blog/2023/10/2023-10-09-emacs-news/ or any other Sacha's Emac News edition.
:comments:
[18:27] Welcome to <b>[[bbb:OrgMeetup]]</b>!<br><br>For help on using BigBlueButton see these (short) <u>tutorial videos</u>.<br><br>To join the audio bridge click the phone button. Use a headset to avoid causing background noise for others.<br><br>This server is running <u>BigBlueButton</u>.
[18:31] Ihor Radchenko : The official start 30 minutes from now
[18:49] Ihor Radchenko : random interesting urls: https://github.com/rougier/notebook-mode
[18:49] Ihor Radchenko : https://github.com/ahyatt/ekg
[18:49] Ihor Radchenko : https://yhetil.org/emacs-devel/CANr+fmwRWfKpwVJWv4k2CLYczKNCuRqs4zZijRQ40K9r8YpmKw@mail.gmail.com/
[19:03] Nick Anderson : Several weeks back I came across https://khoj.dev/. Local (or remote if you choose) LLM and indexing of your notes. It's seeing a lot of change but when I first found it, it had specific org-mode parsing support.
[19:04] Nick Anderson : I can't say it's /usable/ yet, but interesting.
[19:04] Carlo Tambuatco : Hello
[19:06] Nick Anderson : The org specific parser (don't know if it's still in use) was headline level search against pytorch embeddings of your notes. Plain text is like fill file.
[19:08] Ilya Chernyshov : hi everyone
[19:09] Nick Anderson : Yeah, I have only used the offline models with it. Interesting, but at least against my corpus, not usable currently.
[19:10] Nick Anderson : parses md and org files out from Github but I coudn't actually get it to complete without running out of memory
[19:10] Nick Anderson : that was just their indexing that it coudlnt do.
[19:11] Carlo Tambuatco : LLama2 is the only LLM it supports?
[19:11] why : what emacs configurations do you recommend for a beginner who has just learned neovim?
[19:12] Nick Anderson : They are workign to add ability to change the local model: https://github.com/khoj-ai/khoj/pull/494/commits/a85ff941ca49538ac6090e4d891e72710737744f
[19:12] Nick Anderson : @why I came via Spacemacs (old vim user).
[19:14] Ihor Radchenko : https://github.com/doomemacs/doomemacs
[19:14] Ihor Radchenko : For people familiar with Vim
[19:15] Ihor Radchenko : another way is just installing evil-mode
[19:15] Nick Anderson : https://www.spacemacs.org/
[19:16] Nick Anderson : but claims are doom is faster, seems more popular. But I have used it since 2016 happily.
[19:17] Carlo Tambuatco : Lazy loading modules
[19:20] Nick Anderson : org-rich-yank doesn't get enough publicity super nice for notes on code etc ...
[19:20] я : why are you have slavic pronounsuation
[19:24] visuwesh : yes
[19:24] Nick Anderson : Yes.
[19:28] Nick Anderson : No.
[19:29] Carlo Tambuatco : Could you talk about tree-sitter (for newbies) and how well it works with older emacs packages? Does it cause any conflicts?
[19:30] Nick Anderson : I see your browser.
[19:30] visuwesh : i see firefox here
[19:30] Nick Anderson : No emacs.
[19:30] Nick Anderson : No emacs
[19:36] Ilya Chernyshov : Ihor, do you know if there's a way to log timestamps of SCHEDULED property, but not timestamps of current time in LOGBOOK each time I change TODO state of repeated task? I couldn't configure org-log-note-headings, because there's no such placeholder that inserts SCHEDULED property timestamp. Only current time timestamp can be inserted. Maybe there's another way of doing that? Also, I can send a patch that adds a new placeholder for that.
I already posted on list.orgmode.org about that 2 days ago, you probably saw the mail :D. I saw the announcement for the meetup half an hour ago and thought to ask you here
[19:36] Nick Anderson : Karl Voit had mentioned being interviewed on some podcast several weeks back, anyone hear any updates on that being released?
[19:36] visuwesh : Is there a way to set the title command for a custom latex class in org via org-latex-classes? I see that you can set a plist element for org-publish but not so for latex export. AFAICT from the doc and ox-latex, it is not possible. Right now, i set org-latex-title-command in a src block but something more compact and "preset" would be nice.
[19:40] Ihor Radchenko : For index/glossary in org export, see https://github.com/tecosaur/org-glossary
[19:43] Ihor Radchenko : https://list.orgmode.org/orgmode/87bkqx4jyg.fsf@localhost/
[19:44] Ihor Radchenko : discussion about making Org a replacement for texinfo
[19:47] Nick Anderson : thats neat
[19:47] Ihor Radchenko : https://orgmode.org/manual/The-open_002dsource-protocol.html
[19:47] Nick Anderson : orgit-forge maybe
[19:50] Nick Anderson : https://github.com/sshaw/git-link
[19:52] Ihor Radchenko : transform internal notmuch email link into mailing list url: https://github.com/yantar92/emacs-config/blob/master/config.org#live-helm-org-ql-search-in-org
[19:52] Nick Anderson : nice, thanks.
[19:54] Ilya Chernyshov : here's the link with the example
[19:54] Ilya Chernyshov : https://list.orgmode.org/[email protected]/T/#u
[19:57] Ilya Chernyshov : the timestamp of current time is inserted when 'done in org-log-note-headings is configured as "State %s CLOSING NOTE %t"
[19:57] Ilya Chernyshov : the placeholder %t is somewhat useless
[19:58] Ilya Chernyshov : I want a new placeholder that is replaced with a SCHEDULED property before the state is changed. That way you can track when you've done/missed a repeated task
[19:59] Ilya Chernyshov : your mic is off =)
[19:59] Ilya Chernyshov : maybe that's on purpose, I dont' know :D
[20:02] Ilya Chernyshov : I'm so sorry, can I get the record of the meetup? I missed a small part of your reply
[20:03] Ilya Chernyshov : so sorry
[20:03] Ihor Radchenko : https://list.orgmode.org/[email protected]/T/#u
[20:03] Ihor Radchenko : this is the feature request we are discussing
[20:03] Ihor Radchenko : the possible way to implement it is via org-current-effective-time
[20:03] Ihor Radchenko : %t is already customizeable via org-use-last-clock-out-time-as-effective-time
[20:04] Ilya Chernyshov : thank you
[20:05] Ihor Radchenko : https://karl-voit.at/
[20:05] Ihor Radchenko : Karl's blog
[20:07] visuwesh : yes
[20:09] visuwesh : the thing is i would like to have something simpler than putting the whole command up there since my title command is quite large
[20:10] visuwesh : yess
[20:10] visuwesh : i need to set up a separate page as a title page for my assignment and the command goes around 20 lines or somesuch
[20:10] visuwesh : ah, that would work ig
[20:11] visuwesh : i was hoping to include some other template too, like the prof in charge of the assignment etc. but this is better than copy-pasting
[20:13] visuwesh : right, that's what i did except i imported a tex file instead for my bachelor's thesis/project
[20:13] Nick Anderson : This was where I saw Karl being invited to podcast: https://graz.social/@publicvoit/110986422932417006
[20:13] visuwesh : sry, i meant something like a keyword like #+PROF: XXXX and usesomething like %{PROF} in the titlecommand to say XXXX in the file
[20:14] visuwesh : yes
[20:14] visuwesh : ah, it is using format-spec, ok
[20:15] visuwesh : i will live with setupfile then
[20:15] visuwesh : i see, i will look into using export filters
[20:16] visuwesh : ty, that answers my qn
[20:18] Nick Anderson : Yep, I havent seen anything yet :D
[20:19] Ihor Radchenko : https://emacs.ch/@yantar92/111217525037662745
[20:20] excalamus : I have something to share in just a moment
[20:23] yantar92 (audio) : Po Lu is the author of Emacs Android port
[20:24] Nick Anderson : probably have to make Test the presenter.
[20:26] Nick Anderson : Neat, I have been living with Termux, which is OK
[20:26] Nick Anderson : all the other things exactly
[20:26] visuwesh : You can use software installed inside termux from Emacs Android if you have the 'termux' emacs android apk installed.
[20:26] Ihor Radchenko : https://list.orgmode.org/orgmode/[email protected]/
[20:27] visuwesh : But I think you need to have a specially compiled version of termux too? And there's a specific order you need to install ter,mux and Emacs to have termux apps usable in Emacs. I believe the info is in the Emacs for Android port sourceforge webpage
[20:29] visuwesh : No, I mean to use softaware installed in termux in Emacs android
[20:30] visuwesh : https://sourceforge.net/projects/android-ports-for-gnu-emacs/files/
[20:31] visuwesh : https://yhetil.org/emacs-devel/[email protected]/ i hope this is useful too
[20:32] excalamus : there are images included with emacs /share/emacs/29.1/etc/images
[20:32] visuwesh : somewhere down this thread, more explanation on this topic are included
[20:33] Ilya Chernyshov : do you guys now, if it's possible to display svg images in emacs android build?
[20:34] visuwesh : it is actively updated
[20:34] visuwesh : the code in savannah and the apks are built freqly in the sourceforge
[20:34] visuwesh : sourceforge uploads are from Po Lu
[20:35] visuwesh : you could try to see the iamge type of splash image
[20:35] visuwesh : its svg on my laptop
[20:35] Ilya Chernyshov : i'm talking about image-mode being able to display svg. if it's possible, I'll try to test org-timeblock on it
[20:37] Ilya Chernyshov : yeah, thanks, you can see it here https://github.com/ichernyshovvv/org-timeblock
[20:37] Ilya Chernyshov : :D
[20:38] visuwesh : C-h C-a
[20:38] visuwesh : M-x report-emacs-bug maybe?
[20:39] visuwesh : It should be possible since I think Po Lu sends and reads email
[20:40] visuwesh : Oops, sending idk. he only says read. https://yhetil.org/emacs-devel/[email protected]/
[20:41] visuwesh : To check whether it is really supported, use ‘image-type-available-p’. :P
[20:41] visuwesh : in image-types docstring
[20:41] Ihor Radchenko : image-types is a variable defined in image.c.
Value (svg webp png gif tiff jpeg xpm xbm pbm)
Set
Documentation List of potentially supported image types.
Each element of the list is a symbol for an image type, like jpeg or png. To check whether it is really supported, use image-type-available-p.
[20:41] Ihor Radchenko : :facepalm:
[20:43] Ilya Chernyshov : that's bad
[20:43] Ilya Chernyshov : =(
[20:45] visuwesh : yhetil.org has MUCH better search functionality btw. I think the GNU mailman archive search is still broken :(
[20:46] visuwesh : its f:
[20:47] Ihor Radchenko : https://yhetil.org/emacs-devel/
[20:47] Ihor Radchenko : Emacs mailing list mirror
[20:50] Nick Anderson : Thanks for doing this.
[20:50] Nick Anderson : And maintaining!
[20:50] visuwesh : Thanks everyone
[20:50] visuwesh : It is fine for india too
[20:50] Nick Anderson : I am in central us and i have it playing on the side while I am working.
[20:50] visuwesh : 11:30 pm rn
[20:52] Nick Anderson : There is Emacs ATX as well. https://www.meetup.com/emacsatx/
[20:52] Nick Anderson : Nope.
[20:52] Nick Anderson : Webex.
[20:52] Ihor Radchenko : https://sachachua.com/blog/2023/10/2023-10-09-emacs-news/
[20:52] Nick Anderson : It usually is.
[20:53] Nick Anderson : e.g. https://sachachua.com/blog/2023/10/2023-10-02-emacs-news/ :end: