-
Random interesting links
-
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
-
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
-
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
-
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:
http://git.eshelyaron.com/gitweb/?p=esy-publish.git;a=blob;f=esy-publish.el;h=cb103b78b7dd2f8d0f5260883b61bf651d0650f5;hb=HEAD#l394
Namely, the function esy-publish-fontify-examples
takes the name of an HTML-formatted Texinfo manual, and uses htmlize
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
-
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
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-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.
-
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
- Emacs (and Org mode) on Android is capable of displaying images, except svgs
-
On searching Emacs (and Org mode) mailing lists
-
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
:comments:
[18:27] Welcome to [[bbb:OrgMeetup]]!For help on using BigBlueButton see these (short) tutorial videos.To join the
audio bridge click the phone button. Use a headset to avoid causing background noise for others.This server is running BigBlueButton.
[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: