Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-12-16 05:55]: > Jean Louis writes: > > > For PDF and video with specific start time I am using different type > > of hyperlinks and not Org hyperlinks. So I was under impression that > > Org hyperlinks to PDF support specific page. I have even prepared > > myself to start including such in instructional manual. But do they? > > It implies that PDF viewer setting should be per user configurable to > > accept the page argument. > > Manual does not mention that. However, looking into the code handling > opening file links, I can see that it is actually possible. By default, > the link like file:document.pdf::10 would run system command used to > open pdfs with "document.pdf::10" argument. Whether that system command > supports such kind of argument is another question (answer: probably, > no). On the other hand, user can customise org-file-apps variable and > put a lisp function to handle link opening. That function can transform > the "document.pdf::10" into something that can be passed to the pdf > viewer in system. I have seen it somewhere that way and assumed that Org does support it. From 14000+ PDF references to specific pages I did not once use Org link to open such. That was in the queue when I export references to Org. If it does not support it is easy to make it by user options. > > One possible solution could be this. For annotations, hypothes.is uses > > Javascript library http://annotatorjs.org/ and I have not finished > > research of it. I just have some slight idea that the whole annotation > > and position of annotation could be captured in a hyperlink to it by > > using that library. > > Thanks for the link. > > > Maybe you know Javascript and you can try? > > I don't know Javascript What I would like to make possible is direct hyperlink annotated PDF file that does not store any annotations online. And I am thinking maybe that annotatorjs.org provides that possibility. It could be something in the following sense: http://www.example.com/annotator.js=https://www.example.com/my-file.pdf=12=my%20annotation%20here That is how I imagine that. Then we could construct annotating hyperlinks automatically that do not disturb the user and when opened the annotatorjs.org could show the annotated PDF file. If somebody could at least explain if such URL could possibly work with the Javascript, then I can start from there. Jean
Re: Bring up a screen giving option to open a series of orgmode files
2020-12-15 Ihor Radchenko wrote: > Then, packages like org-pdftools would not need to invent new link types just to be able to refer to specific page or annotation inside a pdf file. Firefox (I do not know if pdf.js is cut off from IceCat) have a special button to obtain link like file:///path/to/file.pdf#page=5=310,131,734 Chromium handles page=N part successfully. Unfortunately vertical axis has the opposite direction. Exactly the same discrepancy of vertical offset notion I have noticed with xpdf vs. pdftotext. I suppose, it is reasonable to have #page=N form at least in exported documents. A simple wrappers should allow other applications to open files at the specified page. Anyway every desktop PDF viewer has its own way to specify page number. I do not think that either of browsers would agree to change base point of vertical offset. Maybe additional parameter could be added to specify direction and to avoid ambiguity.
Re: Bring up a screen giving option to open a series of orgmode files
To hop in on the hypothes.is thread. I have spent quite a bit of time working with hypothes.is and related tooling (mostly in python), so here is a brain dump on interactions between org and hypothes.is. As others have mentioned, this could easily be its own thread. Best! Tom A quick note on security for hypothes.is. Last I checked (about 30 seconds ago) there is still no way to control access to groups, if the identifier for the group leaks then anyone can access it. This is not the case for private annotations, those can only be seen by someone with your api key (hopefully just you). If you are looking for a light weight client that is hypothesis compatible that could be used to build a tool that can push annotations to an alternate backend then https://github.com/judell/hlib might be a reasonable place to start. Jon has previously used that to create a client that sent annotations to an alternate backend, which could in theory be an elisp implementation of a server for the w3c annotation standard that could feed things to org-protocol (or similar). If people are interested in this for org-mode I would suggest that a starting point would be to write an elisp implementation that can consume and produce the w3c web annotation standard format for annotations and/or the hypothesis api format. There are at least 3 different ways that web annotations can be anchored, offset, xpath, exact + prefix/suffix. In principle you could translate those into urls and use query parameters to encode the target selectors. The problem that you will run into is that there are some rather sizeable selector patterns like the example below (that I happened to have up in another terminal) which will be a pain to work with as urls. As a result of this a reasonable workflow would be to create a custom link type for the hypothes.is annotation urls e.g. the equivalent of #+link: hyp https://hyp.is/ and simply paste in a shortened form of the share links. In addition one might want some additional tooling so that the contents of the annotation could be retrieved and cached, or retrieved, transformed, and embedded in the document as an appendix during export (or similar). Unifying org-capture, org-protocol, and general org hyperlinking with the w3c spec seems like it would be hard in the general case, but for specific use cases I can imagine that some reduced syntax could be created that would fit in an org hyperlink. It actually would probably be easier to do this by coming up with a way to convert structured org sections or blocks to and from the w3c spec, name those, and then use org hyperlinks to refer to the annotations directly in an org file that functioned as an annotation store. Much less overhead than trying to set up a stripped-down stand-alone web annotation server, and if you can produce json to match the hypothes.is API then you could make use of that to publish and share annotations/links when you go to publish an org document. 'selector': [{'type': 'FragmentSelector', 'value': 'pes-1', 'conformsTo': 'https://tools.ietf.org/html/rfc3236'}, {'type': 'RangeSelector', 'endOffset': 92, 'startOffset': 86, 'endContainer': '/div[4]/div[1]/div[4]/div[1]/article[1]/section[1]/article[1]/div[1]/div[2]/ul[1]/li[1]/div[3]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/figure[1]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]', 'startContainer': '/div[4]/div[1]/div[4]/div[1]/article[1]/section[1]/article[1]/div[1]/div[2]/ul[1]/li[1]/div[3]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/figure[1]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]'}, {'end': 3034, 'type': 'TextPositionSelector', 'start': 3028}, {'type': 'TextQuoteSelector', 'exact': '100kHz', 'prefix': ' DC - 20kHz\nSampling frequency: ', 'suffix': '\nOnboard stimulatorNeural Interf'}]}
Re: Bring up a screen giving option to open a series of orgmode files
Jean Louis writes: > For PDF and video with specific start time I am using different type > of hyperlinks and not Org hyperlinks. So I was under impression that > Org hyperlinks to PDF support specific page. I have even prepared > myself to start including such in instructional manual. But do they? > It implies that PDF viewer setting should be per user configurable to > accept the page argument. Manual does not mention that. However, looking into the code handling opening file links, I can see that it is actually possible. By default, the link like file:document.pdf::10 would run system command used to open pdfs with "document.pdf::10" argument. Whether that system command supports such kind of argument is another question (answer: probably, no). On the other hand, user can customise org-file-apps variable and put a lisp function to handle link opening. That function can transform the "document.pdf::10" into something that can be passed to the pdf viewer in system. > One possible solution could be this. For annotations, hypothes.is uses > Javascript library http://annotatorjs.org/ and I have not finished > research of it. I just have some slight idea that the whole annotation > and position of annotation could be captured in a hyperlink to it by > using that library. Thanks for the link. > Maybe you know Javascript and you can try? I don't know Javascript Best, Ihor
Re: Bring up a screen giving option to open a series of orgmode files
On 2020-12-14 23:42, Ihor Radchenko wrote: TRS-80 writes: We are getting further and further afield from Orgmode discussion, however I wanted to share the following article with anyone else who followed this part of the thread all the way to this point: Oops. Actually, hypothes.is is related to org-mode in my mind. Mostly as a reference of implementation of fine-grained links to web-pages/documents. I wish org-mode links had universal support to position inside the document the link is pointing to (similar what is already present in file link to org files, where we can refer to specific heading inside the referenced file). It would be great if org-mode extended the link syntax to define position inside the text file/web-page/video/pdf/etc. Then, packages like org-pdftools would not need to invent new link types just to be able to refer to specific page or annotation inside a pdf file. The relevant feature request is in my todo list. Best, Ihor Oh no, I think you guys are fine. I just didn't want to get into big discussion about things on that website, as there are just s many things there to discuss... So when I said that, I was referring mostly to myself and also as a way to sort of pre-emptively try and head off too big diversion... :) Cheers, TRS-80
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-12-15 07:39]: > TRS-80 writes: > > > We are getting further and further afield from Orgmode discussion, > > however I wanted to share the following article with anyone else who > > followed this part of the thread all the way to this point: > > Oops. Actually, hypothes.is is related to org-mode in my mind. Mostly as > a reference of implementation of fine-grained links to > web-pages/documents. I wish org-mode links had universal support to > position inside the document the link is pointing to (similar what is > already present in file link to org files, where we can refer to > specific heading inside the referenced file). It would be great if > org-mode extended the link syntax to define position inside the text > file/web-page/video/pdf/etc. Then, packages like org-pdftools would not > need to invent new link types just to be able to refer to specific page > or annotation inside a pdf file. For PDF and video with specific start time I am using different type of hyperlinks and not Org hyperlinks. So I was under impression that Org hyperlinks to PDF support specific page. I have even prepared myself to start including such in instructional manual. But do they? It implies that PDF viewer setting should be per user configurable to accept the page argument. One possible solution could be this. For annotations, hypothes.is uses Javascript library http://annotatorjs.org/ and I have not finished research of it. I just have some slight idea that the whole annotation and position of annotation could be captured in a hyperlink to it by using that library. That, if only possible, would enable Org without further modifications to use hyperlinks to annotated online WWW pages and online PDFs. Maybe you know Javascript and you can try?
Re: Bring up a screen giving option to open a series of orgmode files
TRS-80 writes: > We are getting further and further afield from Orgmode discussion, > however I wanted to share the following article with anyone else who > followed this part of the thread all the way to this point: Oops. Actually, hypothes.is is related to org-mode in my mind. Mostly as a reference of implementation of fine-grained links to web-pages/documents. I wish org-mode links had universal support to position inside the document the link is pointing to (similar what is already present in file link to org files, where we can refer to specific heading inside the referenced file). It would be great if org-mode extended the link syntax to define position inside the text file/web-page/video/pdf/etc. Then, packages like org-pdftools would not need to invent new link types just to be able to refer to specific page or annotation inside a pdf file. The relevant feature request is in my todo list. Best, Ihor
Re: Bring up a screen giving option to open a series of orgmode files
* TRS-80 [2020-12-15 01:29]: > How to annotate literally everything[0] > by karlicoss > > There are quite a lot of other very interesting articles there as well > in the same (and related) veins. Enjoy! > > Cheers, > TRS-80 > > [0] https://beepb00p.xyz/annotating.html Excellent, things to research, thank you.
Re: Bring up a screen giving option to open a series of orgmode files
On 2020-12-14 14:08, Jean Louis wrote: * Ihor Radchenko [2020-12-14 15:55]: Jean Louis writes: > * Ihor Radchenko [2020-12-13 03:39]: >> Jean Louis writes: >> hypothes.is > > I can install it on VPS which is definitely in plan. Locally I do not > locally I have dynamic knowledge repository I am actually just trying hyposes.is now (after you reminded me about it). For me, the main advantage is not for pdfs, but rather the ability to have pdf-like annotations in web-pages: highlights, comments, etc. Combined with local ArchiveBox [1] storage, I can get annotations for my local web archive. [1] https://github.com/ArchiveBox/ArchiveBox I have seen it, good tool and it makes sense to have one's own archive as web pages really disappear. You reminded me of so many references that it helped me streamline my workflows for soon future and new projects. Hypothes.is as online instance is then useful for those online files, and WWW pages, but the approach of having private archive and then annotating such is even better. Still the hypothes.is is separate dynamic knowledge repository for annotations. Different database, different set of rules but same open hyperdocument project set of principles. So I better stick to one database, not to two. We are getting further and further afield from Orgmode discussion, however I wanted to share the following article with anyone else who followed this part of the thread all the way to this point: How to annotate literally everything[0] by karlicoss There are quite a lot of other very interesting articles there as well in the same (and related) veins. Enjoy! Cheers, TRS-80 [0] https://beepb00p.xyz/annotating.html
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-12-14 15:55]: > Jean Louis writes: > > > * Ihor Radchenko [2020-12-13 03:39]: > >> Jean Louis writes: > >> I have hypothes.is installed inside docker container locally. No serious > >> protection is required in such case (at least, no more than one would > >> use to protect private files from dangerous software like browsers). > > > > I can install it on VPS which is definitely in plan. Locally I do not > > think so, as locally I have dynamic knowledge repository that may > > export to Org if necessary or accessed by collaborative group of > > people. > > I am actually just trying hyposes.is now (after you reminded me about > it). For me, the main advantage is not for pdfs, but rather the ability > to have pdf-like annotations in web-pages: highlights, comments, etc. > Combined with local ArchiveBox [1] storage, I can get annotations for my > local web archive. > > [1] https://github.com/ArchiveBox/ArchiveBox I have seen it, good tool and it makes sense to have one's own archive as web pages really disappear. You reminded me of so many references that it helped me streamline my workflows for soon future and new projects. > >> I am not sure how it is different from using hypothes.is for the same > >> purpose. Note that hypothes.is uses pdf fingerprinting, so you don't > >> even need to store pdf on server side. If user can open the pdf > >> (obtained from you directly, for example), hypothes.is will > >> automatically show the up-to-date annotations shared via public > >> hypothes.is instance for that particular user. > > > > The difference is that annotation is separate from file, and there is > > no need for Javascript. Hyperdocument may contain the PDF file and the > > annotation together, dispatched to somebody, or referenced from WWW > > page. It is lightweight. HTML file can be very small and speedy > > loaded. > > Hypothes.is does not store the file - just file fingerprint and > information required to identify and annotation positions within the > file. OK and not that I meant it stores files. I was rather referring to collaborative work within a room or distant servers over VPN where people collaboratively open references to PDF files. Such PDF files can be stored on a local computer, could be fetched from server, but not from public server. This is more privacy issue. Hypothes.is as public online server must have access to files to show the annotation as that implies that for example those 1300 files here would need to be placed online where they by their nature do not belong. They could be placed on a computer within a course room where each student may access them. Hypothes.is as online instance is then useful for those online files, and WWW pages, but the approach of having private archive and then annotating such is even better. Still the hypothes.is is separate dynamic knowledge repository for annotations. Different database, different set of rules but same open hyperdocument project set of principles. So I better stick to one database, not to two. And I just guess that hypothes.is could be invoked from hyperlinks to show annotations even if not stored yet. That would be great feature, to just provide section of text with few hyperlinks where user may start to read the annotation and then open the PDF file to see the context around the annotation. Jean
Re: Bring up a screen giving option to open a series of orgmode files
Jean Louis writes: > * Ihor Radchenko [2020-12-13 03:39]: >> Jean Louis writes: >> I have hypothes.is installed inside docker container locally. No serious >> protection is required in such case (at least, no more than one would >> use to protect private files from dangerous software like browsers). > > I can install it on VPS which is definitely in plan. Locally I do not > think so, as locally I have dynamic knowledge repository that may > export to Org if necessary or accessed by collaborative group of > people. I am actually just trying hyposes.is now (after you reminded me about it). For me, the main advantage is not for pdfs, but rather the ability to have pdf-like annotations in web-pages: highlights, comments, etc. Combined with local ArchiveBox [1] storage, I can get annotations for my local web archive. [1] https://github.com/ArchiveBox/ArchiveBox >> I am not sure how it is different from using hypothes.is for the same >> purpose. Note that hypothes.is uses pdf fingerprinting, so you don't >> even need to store pdf on server side. If user can open the pdf >> (obtained from you directly, for example), hypothes.is will >> automatically show the up-to-date annotations shared via public >> hypothes.is instance for that particular user. > > The difference is that annotation is separate from file, and there is > no need for Javascript. Hyperdocument may contain the PDF file and the > annotation together, dispatched to somebody, or referenced from WWW > page. It is lightweight. HTML file can be very small and speedy > loaded. Hypothes.is does not store the file - just file fingerprint and information required to identify and annotation positions within the file. Best, Ihor
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-12-14 03:32]: > In another email you mentioned: > > > Easier is to click and click n for next and p for previous. Once you > > find reference click F5 and describe the item. > > > > That is easier than teaching people Emacs. Then group of people can > > capture PDF references quite efficiently. > > One can make a custom Emacs configuration binding "n" for next, "p" for > previous, and "F5" to describe item. What should be taught? It was related to using xpdf to capture annotations and references.
Re: Bring up a screen giving option to open a series of orgmode files
Jean Louis writes: >> I guess one would not need to teach people about everything in Emacs. If >> the aim is just editing and viewing PDF, one can provide custom Emacs >> configuration with added toolbars and menu items for common operations >> with pdf. I do not see why it would be any different from specialised >> pdf viewers. > > To see that assign Emacs tutorial to several people and observe > results. I do. I think you misunderstood what I meant. In another email you mentioned: > Easier is to click and click n for next and p for previous. Once you > find reference click F5 and describe the item. > > That is easier than teaching people Emacs. Then group of people can > capture PDF references quite efficiently. One can make a custom Emacs configuration binding "n" for next, "p" for previous, and "F5" to describe item. What should be taught?
Re: Bring up a screen giving option to open a series of orgmode files
Jean Louis writes: >> I guess one would not need to teach people about everything in Emacs. If >> the aim is just editing and viewing PDF, one can provide custom Emacs >> configuration with added toolbars and menu items for common operations >> with pdf. I do not see why it would be any different from specialised >> pdf viewers. > > To see that assign Emacs tutorial to several people and observe > results. I do. I think you misunderstood what I meant. In another email you mentioned: > Easier is to click and click n for next and p for previous. Once you > find reference click F5 and describe the item. > > That is easier than teaching people Emacs. Then group of people can > capture PDF references quite efficiently. One can make a custom Emacs configuration binding "n" for next, "p" for previous, and "F5" to describe item. What should be taught?
Re: Bring up a screen giving option to open a series of orgmode files
* Christopher Dimech [2020-12-13 21:02]: > > Sent: Sunday, December 13, 2020 at 4:13 PM > > From: "Jean Louis" > > To: "Ihor Radchenko" > > Cc: "Maxim Nikulin" , emacs-orgmode@gnu.org > > Subject: Re: Bring up a screen giving option to open a series of orgmode > > files > > > > * Ihor Radchenko [2020-12-13 03:45]: > > > Jean Louis writes: > > > > > > > While it is easy to teach people to open single program, press a key, > > > > and insert title, it is harder and time consuming to teach random > > > > people how to use Emacs. This may not be true, it is just my current > > > > impression. > > > > > > I guess one would not need to teach people about everything in Emacs. If > > > the aim is just editing and viewing PDF, one can provide custom Emacs > > > configuration with added toolbars and menu items for common operations > > > with pdf. I do not see why it would be any different from specialised > > > pdf viewers. > > > > To see that assign Emacs tutorial to several people and observe > > results. I do. > > It gets hard and you can see them sweating. Quite contrary, they go through tutorial and learn whati is in tutorial. But it will take few hours, one day. Then it needs habit. Easier is to click and click n for next and p for previous. Once you find reference click F5 and describe the item. That is easier than teaching people Emacs. Then group of people can capture PDF references quite efficiently. Jean
Re: Bring up a screen giving option to open a series of orgmode files
> Sent: Sunday, December 13, 2020 at 4:13 PM > From: "Jean Louis" > To: "Ihor Radchenko" > Cc: "Maxim Nikulin" , emacs-orgmode@gnu.org > Subject: Re: Bring up a screen giving option to open a series of orgmode files > > * Ihor Radchenko [2020-12-13 03:45]: > > Jean Louis writes: > > > > > While it is easy to teach people to open single program, press a key, > > > and insert title, it is harder and time consuming to teach random > > > people how to use Emacs. This may not be true, it is just my current > > > impression. > > > > I guess one would not need to teach people about everything in Emacs. If > > the aim is just editing and viewing PDF, one can provide custom Emacs > > configuration with added toolbars and menu items for common operations > > with pdf. I do not see why it would be any different from specialised > > pdf viewers. > > To see that assign Emacs tutorial to several people and observe > results. I do. It gets hard and you can see them sweating.
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-12-13 03:45]: > Jean Louis writes: > > > While it is easy to teach people to open single program, press a key, > > and insert title, it is harder and time consuming to teach random > > people how to use Emacs. This may not be true, it is just my current > > impression. > > I guess one would not need to teach people about everything in Emacs. If > the aim is just editing and viewing PDF, one can provide custom Emacs > configuration with added toolbars and menu items for common operations > with pdf. I do not see why it would be any different from specialised > pdf viewers. To see that assign Emacs tutorial to several people and observe results. I do.
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-12-13 03:39]: > Jean Louis writes: > > > For private annotations with hypothes.is one can install it on own > > server and protect system for one's own group. That will do only a > > group that is serious enough or have serious demands for annotations. > > > Myself I do not prefer having too much software installed online > > especially not databases that are private. What is private I keep off > > the Internet. If I wish to communicate over Internet to somebody I > > always establish first encrypted line. > > I have hypothes.is installed inside docker container locally. No serious > protection is required in such case (at least, no more than one would > use to protect private files from dangerous software like browsers). I can install it on VPS which is definitely in plan. Locally I do not think so, as locally I have dynamic knowledge repository that may export to Org if necessary or accessed by collaborative group of people. > Public annotations would better be just exported to a public server > (automatically or not). When they are public yes. I have it rather private. > > example.com/1/2/3/4 for ID 1234 > > > > That would be HTML with PDF annotation where user could open PDF > > inside of that HTML or click on the PDF to open it. I do hope that > > pdfjs does support specific page jumps. And such annotation on HTML > > should work with or without Javascript. Those without can simply open > > PDF file and manually jump to specific page as annotated and > > instructed. > > I am not sure how it is different from using hypothes.is for the same > purpose. Note that hypothes.is uses pdf fingerprinting, so you don't > even need to store pdf on server side. If user can open the pdf > (obtained from you directly, for example), hypothes.is will > automatically show the up-to-date annotations shared via public > hypothes.is instance for that particular user. The difference is that annotation is separate from file, and there is no need for Javascript. Hyperdocument may contain the PDF file and the annotation together, dispatched to somebody, or referenced from WWW page. It is lightweight. HTML file can be very small and speedy loaded. > > Then I would inject web server password protection and protect it from > > public. But that does not protect the document of those who could > > intrude into the server and also does not protect from cracking > > attempts as username and password are not alone well secure. Better > > would be having the encrypted HTML that is protected by user's private > > PGP key, but I have no idea if such technology exists yet. > > hypothes.is uses OAuth mechanism with fine-grained control over the > access to various annotations. Also, one can run it inside encrypted > docker container (or even inside virtual machine) reducing the risk if > server is compromised. That is great yet introduces 2 different tools for one purpose. While I support Hypothesi.is in general and will be using its hyperlinks for some public purposes, those private purposes will remain off line and I need not have any extra software to have my group of people learning from annotated PDFs. They would be in local area network or VPN in collaborative environment backed by database where they can open and read PDFs without browser, Emacs is enough to browse it or exported to some other format I can make it as well HTML or provide hyperlinks as I wish, including to open it with the PDF in a built-in browser. Each software for its purpose. I recommended hypothesi.is but I already have similar system built on same principles of Engelbart just as Hypothes.is Jean
Re: Bring up a screen giving option to open a series of orgmode files
Jean Louis writes: > While it is easy to teach people to open single program, press a key, > and insert title, it is harder and time consuming to teach random > people how to use Emacs. This may not be true, it is just my current > impression. I guess one would not need to teach people about everything in Emacs. If the aim is just editing and viewing PDF, one can provide custom Emacs configuration with added toolbars and menu items for common operations with pdf. I do not see why it would be any different from specialised pdf viewers.
Re: Bring up a screen giving option to open a series of orgmode files
Jean Louis writes: > For private annotations with hypothes.is one can install it on own > server and protect system for one's own group. That will do only a > group that is serious enough or have serious demands for annotations. > Myself I do not prefer having too much software installed online > especially not databases that are private. What is private I keep off > the Internet. If I wish to communicate over Internet to somebody I > always establish first encrypted line. I have hypothes.is installed inside docker container locally. No serious protection is required in such case (at least, no more than one would use to protect private files from dangerous software like browsers). Public annotations would better be just exported to a public server (automatically or not). > So I am about to develop system to provide annotation to somebody over > Internet, without compromising security of the file or annotation. > > As each hyperdocument has its unique ID, it is easy to expand it into: > > example.com/1/2/3/4 for ID 1234 > > That would be HTML with PDF annotation where user could open PDF > inside of that HTML or click on the PDF to open it. I do hope that > pdfjs does support specific page jumps. And such annotation on HTML > should work with or without Javascript. Those without can simply open > PDF file and manually jump to specific page as annotated and > instructed. I am not sure how it is different from using hypothes.is for the same purpose. Note that hypothes.is uses pdf fingerprinting, so you don't even need to store pdf on server side. If user can open the pdf (obtained from you directly, for example), hypothes.is will automatically show the up-to-date annotations shared via public hypothes.is instance for that particular user. > Then I would inject web server password protection and protect it from > public. But that does not protect the document of those who could > intrude into the server and also does not protect from cracking > attempts as username and password are not alone well secure. Better > would be having the encrypted HTML that is protected by user's private > PGP key, but I have no idea if such technology exists yet. hypothes.is uses OAuth mechanism with fine-grained control over the access to various annotations. Also, one can run it inside encrypted docker container (or even inside virtual machine) reducing the risk if server is compromised.
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-12-11 18:24]: > > As an even better approach, I consider merging of independently stored > > PDF file and annotations to it and presenting combined file with native > > PDF annotations. Several years ago I have not find tools for such > > operations, maybe new projects have appeared since that time. > > I think hypothes.is supports pdf annotations (via pdf.js). For public annotations that is great. For private annotations with hypothes.is one can install it on own server and protect system for one's own group. That will do only a group that is serious enough or have serious demands for annotations. Myself I do not prefer having too much software installed online especially not databases that are private. What is private I keep off the Internet. If I wish to communicate over Internet to somebody I always establish first encrypted line. So I am about to develop system to provide annotation to somebody over Internet, without compromising security of the file or annotation. As each hyperdocument has its unique ID, it is easy to expand it into: example.com/1/2/3/4 for ID 1234 That would be HTML with PDF annotation where user could open PDF inside of that HTML or click on the PDF to open it. I do hope that pdfjs does support specific page jumps. And such annotation on HTML should work with or without Javascript. Those without can simply open PDF file and manually jump to specific page as annotated and instructed. iceweasel-uxp on Hyperbola GNU/Linux-libre does not have pdfjs built-in as I see it, GNU Icecat has it. Then I would inject web server password protection and protect it from public. But that does not protect the document of those who could intrude into the server and also does not protect from cracking attempts as username and password are not alone well secure. Better would be having the encrypted HTML that is protected by user's private PGP key, but I have no idea if such technology exists yet. It seems that the framework exists: https://www.w3.org/Conferences/WWW4/Papers2/245.html but it is unclear which browsers would support such displaying of PGP encrypted data. With Emacs it would be trivial, but asking variety of users to install Emacs is not convenient though desired. Workflow would be: 1. Annotate PDF, provide maybe personalized assignment. 2. Hit key. This would then cause annoation to be published with the hyperlink to PDF and page reference, it would encrypt and prepare the file for reomte user including it would inform remote user by email and SMS of the assignment. No tedious copy and paste. 3. User would report if it is done or not done. Reporting could be done also by single click or report written followed by click (HTTP POST). Best would be if report is PGP signed by user's verified and trusted key to have proper tracking and evidnece of the action. Same workflow could be implemented from Org type of annotations. Jean
Re: Bring up a screen giving option to open a series of orgmode files
* Maxim Nikulin [2020-12-11 17:41]: > 2020-12-11 Jean Louis wrote: > > > > We have educational business where clients need to be brought to > > specific references quickly without reading all the book and without > > opening pages and wasting time. I can tell to staff members to copy 2 > > configuration files (.xpdfrc and script) in their corresponding target > > directories or to download them there, and run xpdf with specific key > > as a function where people press a key and describe or annotate the > > hyperlink. > > Frankly speaking, I have missed you point. I wrote that script evaluating > feasibility of getting more context for a quote from a PDF file. If you need > to point non-emacs users to particular place in some PDF file, browsers has > a button to obtain a link for current view (position, scale). I do not see > any problem to open local PDF files in browser. I have not checked however > if format of such links is the same for Firefox and Chrome. Relying on browser could be option here provided that browser can invoke extenral script. But thinking of my group of people, we use free software distributions as endorsed by FSF we do not have neither Firefox nor Chrome. I do not use it for freedom reasons https://www.gnu.org/distros/free-distros.html Maybe external groups could be handling it with other browsers, just thinking. Maybe browsers are much more complicated and not made for PDF browsing and speed of handling PDF with xpdf may be considerable. I have not explored browsers for PDF reference captures. I do like Evince, mupdf, zathura, but I will use any PDF viewer if I have to capture specific page in specific index in the dynamic knowledge repository on my computer. It will become possible to hire even 10-50 people at once worldwide who then capture index items and report to the database directly. Then I can get quickly indexed various PDF files at once which in turn help our clients to pass the crash course faster. While it is easy to teach people to open single program, press a key, and insert title, it is harder and time consuming to teach random people how to use Emacs. This may not be true, it is just my current impression. > As an even better approach, I consider merging of independently > stored PDF file and annotations to it and presenting combined file > with native PDF annotations. Several years ago I have not find tools > for such operations, maybe new projects have appeared since that > time. Evince: click clipboard icon on the top left side, add annotations, you can save it as independent file.
Re: Bring up a screen giving option to open a series of orgmode files
> As an even better approach, I consider merging of independently stored > PDF file and annotations to it and presenting combined file with native > PDF annotations. Several years ago I have not find tools for such > operations, maybe new projects have appeared since that time. I think hypothes.is supports pdf annotations (via pdf.js).
Re: Bring up a screen giving option to open a series of orgmode files
2020-12-11 Jean Louis wrote: We have educational business where clients need to be brought to specific references quickly without reading all the book and without opening pages and wasting time. I can tell to staff members to copy 2 configuration files (.xpdfrc and script) in their corresponding target directories or to download them there, and run xpdf with specific key as a function where people press a key and describe or annotate the hyperlink. Frankly speaking, I have missed you point. I wrote that script evaluating feasibility of getting more context for a quote from a PDF file. If you need to point non-emacs users to particular place in some PDF file, browsers has a button to obtain a link for current view (position, scale). I do not see any problem to open local PDF files in browser. I have not checked however if format of such links is the same for Firefox and Chrome. As an even better approach, I consider merging of independently stored PDF file and annotations to it and presenting combined file with native PDF annotations. Several years ago I have not find tools for such operations, maybe new projects have appeared since that time.
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-12-10 03:02]: > > A side note: As Alan Schmitt pointed earlier, org-pdftools package > allows creating links to specific pdf page or annotation on the page or > to search string. It requires pdf-tools package as pdf viewer. Thank you for the reference, it is useful in general. Personally, the doc-view already offers easy access to pages which allows for a function to capture Org. Thus there is no personal need for that purpose to download extra package. (doc-view-current-page) (doc-view-goto-page PAGE) Variable doc-view--current-search-matches contains query and page number where match is found. As you pointed it out as answer to xpdf capturing of references let me give you good case use for xpdf versus Emacs. We have educational business where clients need to be brought to specific references quickly without reading all the book and without opening pages and wasting time. I can tell to staff members to copy 2 configuration files (.xpdfrc and script) in their corresponding target directories or to download them there, and run xpdf with specific key as a function where people press a key and describe or annotate the hyperlink. That is much much easier than to tell people to open up Emacs, go through Tutorial, use this or that M-x command or keybindings. Some of them will be doing it so. Some will be doing straight from xpdf.
Re: Bring up a screen giving option to open a series of orgmode files
A side note: As Alan Schmitt pointed earlier, org-pdftools package allows creating links to specific pdf page or annotation on the page or to search string. It requires pdf-tools package as pdf viewer. Best, Ihor
Re: Bring up a screen giving option to open a series of orgmode files
2020-12-09 Jean Louis wrote: * Maxim Nikulin [2020-12-09 18:04]: bind ctrl-o any endSelection "run(pdfcapture '%f' '%p' '%x' '%y' '%X' '%Y' '%u')" Thank you, I just do not see where the file is writing it to? You may see the screenshot attached, I am somebody who has thousands of finel granular PDF references. When you already made it, let me have it. In my variant last line of script calls `xsel -b` to copy the note to clipboard. I have not tried to use emacs-client to invoke org-capture. The following capture template pulls the note from clipboard without intermediate file: "* %(org-get-x-clipboard 'CLIPBOARD) " #!/bin/bash set -e set -o pipefail getmeta() { ... # FIXME obtain page height using pdfinfo page_height=792 ... pdftotext -layout -f "$page" -l "$page" \ -x "$sel_x" -y "$((page_height - sel_Y))" -W "$((sel_X-sel_x))" -H ^sel_y
Re: Bring up a screen giving option to open a series of orgmode files
* Maxim Nikulin [2020-12-09 18:04]: > bind ctrl-o any endSelection "run(pdfcapture '%f' '%p' '%x' '%y' '%X' '%Y' > '%u')" Thank you, I just do not see where the file is writing it to? You may see the screenshot attached, I am somebody who has thousands of finel granular PDF references. When you already made it, let me have it. > Certainly named options should be added to the script besides obtaining of > actual page height. I have not checked if the script is resistant in respect > to specially crafted file names and other such things. Do not know if > terminal control sequences could appear in selection. Xpdf has known > problems with handling of text encodings. > > > > #!/bin/bash > > > set -e > > > set -o pipefail > > > > > > getmeta() { > ... > > > # FIXME obtain page height using pdfinfo > > > page_height=792 > ... > > > pdftotext -layout -f "$page" -l "$page" \ > > > -x "$sel_x" -y "$((page_height - sel_Y))" -W > > > "$((sel_X-sel_x))" -H > ^sel_y
Re: Bring up a screen giving option to open a series of orgmode files
2020-12-09 Jean Louis wrote: * Maxim Nikulin [2020-12-02 19:49]: Personally I am considering something like (not ready to use, just quick and dirty proof of concept) That is great and now I came to it. Please send me your .xpdfrc settings. bind ctrl-o any endSelection "run(pdfcapture '%f' '%p' '%x' '%y' '%X' '%Y' '%u')" Certainly named options should be added to the script besides obtaining of actual page height. I have not checked if the script is resistant in respect to specially crafted file names and other such things. Do not know if terminal control sequences could appear in selection. Xpdf has known problems with handling of text encodings. #!/bin/bash set -e set -o pipefail getmeta() { ... # FIXME obtain page height using pdfinfo page_height=792 ... pdftotext -layout -f "$page" -l "$page" \ -x "$sel_x" -y "$((page_height - sel_Y))" -W "$((sel_X-sel_x))" -H ^sel_y
Re: Bring up a screen giving option to open a series of orgmode files
* Maxim Nikulin [2020-12-02 19:49]: > Personally I am considering something like (not ready to use, just quick and > dirty proof of concept) That is great and now I came to it. Please send me your .xpdfrc settings. > #!/bin/bash > set -e > set -o pipefail > > getmeta() { > file="$1" > page="$2" > sel_x="${3:-0}" > sel_x="${sel_x%.*}" > sel_y="${4:-0}" > sel_y="${sel_y%.*}" > sel_X="${5:-0}" > sel_X="${sel_X%.*}" > sel_Y="${6:-0}" > sel_Y="${sel_Y%.*}" > url="${7:-}" > > # FIXME obtain page height using pdfinfo > page_height=792 > > echo "[[${file}#page=${page}]]" > pdfinfo "$file" | sed -n -e > 's/^\(CreationDate\|ModDate\|Author\|Title\|Subject\):\s*\([^ ]\)/- \1 :: > \2/p' > if [ -n "$sel_Y" ] ; then > echo "#+begin_quote" > pdftotext -layout -f "$page" -l "$page" \ > -x "$sel_x" -y "$((page_height - sel_Y))" -W > "$((sel_X-sel_x))" -H > "$((sel_y-sel_Y))" "$file" - \ > | sed -e 's/^[#*]/,&/' -e 's/\s*$//' > echo "#+end_quote" > fi > if [ -n "$url" ] ; then > echo -e "\n- Link: [[$url]]" > fi > } > > if [ -z "$1" ] || [ -z "$2" ] ; then > echo "No file or page" 1>&2 > exit 1 > fi > > # or emacsclient calling org-capture > getmeta "$@" | xsel -b > ->8-
Re: Bring up a screen giving option to open a series of orgmode files
Thank you for script, I will see to use it. That is exactly that I need for indexing of some important references. Today I had need for this. > Maybe it is possible to add necessary features to pdf.js and to serve the > viewer from purely static site (no authorization and no API > endpoints). That involves via as web server, and browser. For WWW is alright. Maybe it could open browser on local files, but is just too many vias. If I wish to package whole system it requires whole system distribution. Bunch of files. > > > And finally, running browser under a different user is likely not enough. > > > Browser for working with "external" resources should be isolated from home > > > or office network (network namespace, container, virtual machine). There > > > are > > > enough web sites that checks which ports are open at least on the > > > localhost. > > > Local network could be scanned through browser as well. > > > > I agree, only that it is not practical for majority of us. In my > > opinion browsing machines should be separate with few sensitive > > files if any. > > https://stgraber.org/2014/02/09/lxc-1-0-gui-in-containers/ > https://gudok.xyz/lxcdeb/ That is something to study and try out. > > When I get mobile device in my hand it allows me to share pictures > > to email, chat, web server, to other file managers, and so > > on. Desktop operating systems are not so well integrated as mobile > > systems. > > Desktop has a convenient keyboard and a mouse to allow *authoring*, mobile > devices are more limited in that sense, they are more suitable for *sharing* > content generated by others or "liking" it. On desktop one could add a > couple of valuable phrases in several seconds: why the item to share is > important for particular person at particular moment, copy-paste is just a > few more keystrokes. That is one viewpoint but look at Engelbart, did he use mobile device? Probably nobody even knew about such to exist in future 25 years later when he invented hypertext systems. Highlights of the 1968 "Mother of All Demos" https://www.dougengelbart.org/content/view/276/000/ We have various communication lines such as email, various chat messengers, various social networks, fax, SMS, sound output, streaming video, so anything should be shareable to any communication channel in better integrated manner. 1. Place icons of small images like friend's faces on desktop. 2. Drag and drop any file to their icons. Finished. System could do the rest, if it is short file, it could be sent as SMS or email, if image or something else, send it as attachment or provide password protected on a website with notification both to SMS and email. In general any feature that spares users of typing and making too many actions is useful.
Re: Bring up a screen giving option to open a series of orgmode files
2020-12-01 Jean Louis wrote: * Maxim Nikulin [2020-11-30 20:10]: To note is that not every PDF has text inside. They may be made from images. Images do not necessary mean absence of text. Tesseract can generate PDF files with text layer in addition to original scans. and prepares `capturexpdf.sh' to be executable and contains following: , | #!/bin/bash | capture="/home/data1/protected/xpdfcaptured.org" | entry=`zenity --entry` | hyperlink="[[$1:$2][$entry]]" | echo $hyperlink >> $capture ` Personally I am considering something like (not ready to use, just quick and dirty proof of concept) --->8--- #!/bin/bash set -e set -o pipefail getmeta() { file="$1" page="$2" sel_x="${3:-0}" sel_x="${sel_x%.*}" sel_y="${4:-0}" sel_y="${sel_y%.*}" sel_X="${5:-0}" sel_X="${sel_X%.*}" sel_Y="${6:-0}" sel_Y="${sel_Y%.*}" url="${7:-}" # FIXME obtain page height using pdfinfo page_height=792 echo "[[${file}#page=${page}]]" pdfinfo "$file" | sed -n -e 's/^\(CreationDate\|ModDate\|Author\|Title\|Subject\):\s*\([^ ]\)/- \1 :: \2/p' if [ -n "$sel_Y" ] ; then echo "#+begin_quote" pdftotext -layout -f "$page" -l "$page" \ -x "$sel_x" -y "$((page_height - sel_Y))" -W "$((sel_X-sel_x))" -H "$((sel_y-sel_Y))" "$file" - \ | sed -e 's/^[#*]/,&/' -e 's/\s*$//' echo "#+end_quote" fi if [ -n "$url" ] ; then echo -e "\n- Link: [[$url]]" fi } if [ -z "$1" ] || [ -z "$2" ] ; then echo "No file or page" 1>&2 exit 1 fi # or emacsclient calling org-capture getmeta "$@" | xsel -b ->8- Unfortunately Xpdf quite slow works with large raster images. Evince better handles PDF files with wide spread problems (e.g. relying on fonts that are not embedded into the document) or with text in non UTF-8 encodings. Surprisingly PDF viewers built in into browser have fences preventing access of browser extensions to the text content. I did not expect such limitations. It does not sound as progress. Evince maybe originates from xpdf but does not have nearly these options as xpdf. We go back and become more beautiful with software but less useful. Maybe it is possible to add necessary features to pdf.js and to serve the viewer from purely static site (no authorization and no API endpoints). And finally, running browser under a different user is likely not enough. Browser for working with "external" resources should be isolated from home or office network (network namespace, container, virtual machine). There are enough web sites that checks which ports are open at least on the localhost. Local network could be scanned through browser as well. I agree, only that it is not practical for majority of us. In my opinion browsing machines should be separate with few sensitive files if any. https://stgraber.org/2014/02/09/lxc-1-0-gui-in-containers/ https://gudok.xyz/lxcdeb/ When I get mobile device in my hand it allows me to share pictures to email, chat, web server, to other file managers, and so on. Desktop operating systems are not so well integrated as mobile systems. Desktop has a convenient keyboard and a mouse to allow *authoring*, mobile devices are more limited in that sense, they are more suitable for *sharing* content generated by others or "liking" it. On desktop one could add a couple of valuable phrases in several seconds: why the item to share is important for particular person at particular moment, copy-paste is just a few more keystrokes.
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-12-02 12:50]: > Jean Louis writes: > > I can see that Python is reading QUTE FIFO and then sending commands > > to browser from there. > > Yes, but QUTE_FIFO variable is only available for the userscripts called > from inside qutebrowser. Probably, there is some way to obtain FIFO > location, but I am not aware about it. /run/user/1001/qutebrowser/ipc-21232f297a57a5a743894a0e4a801fc3 It could be detected in that directory. Thank you, I will use standard approach to bind key from qutebrowser
Re: Bring up a screen giving option to open a series of orgmode files
2020-11-24 Ihor Radchenko wrote: Also, you can capture webpage as a heading using org-capture + org-protocol: 1. https://addons.mozilla.org/en-US/firefox/addon/org-capture/ 2. https://chrome.google.com/webstore/detail/org-capture/kkkjlfejijcjgjllecmnejhogpbcigdc 3. https://seds.nl/notes/orgmode-firefox-bookmark/ 4. https://github.com/yantar92/org-capture-ref (shameless plug) Ideally, the link should be https://orgmode.org/worg/org-contrib/org-protocol.html but its content is a bit outdated. It seems, the following link was not explicitly mentioned in this thread, however other resources cite it https://github.com/alphapapa/org-protocol-capture-html
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-12-02 12:53]: > Jean Louis writes: > > > What I do not know is how do I invoke script from qutebrowser to use > > the environment variables? > > https://www.qutebrowser.org/doc/userscripts.html > > Basically, script can be just a bash script. > You need to put it into userscripts directory and then you can call it > from inside qutebrowser using :spawn --userscript scriptname. That > command can be bound to a key for convenience. Thank you. Things are not easy to find, I was looking for shell or :! like in vi
Re: Bring up a screen giving option to open a series of orgmode files
Jean Louis writes: > What I do not know is how do I invoke script from qutebrowser to use > the environment variables? https://www.qutebrowser.org/doc/userscripts.html Basically, script can be just a bash script. You need to put it into userscripts directory and then you can call it from inside qutebrowser using :spawn --userscript scriptname. That command can be bound to a key for convenience. Best, Ihor
Re: Bring up a screen giving option to open a series of orgmode files
Jean Louis writes: > I can see that Python is reading QUTE FIFO and then sending commands > to browser from there. Yes, but QUTE_FIFO variable is only available for the userscripts called from inside qutebrowser. Probably, there is some way to obtain FIFO location, but I am not aware about it. > Then I could instruct Emacs to do the same, do you think so? Instead > of invoking command from qutebrowser maybe I could invoke it from > Emacs? You can indeed send commands to qutebrowser from Emacs. Here is an example how I did it: https://github.com/yantar92/org-capture-ref/blob/master/org-capture-ref.el#L754 > I could make X Window Manager keybinding that invokes Emacs that sends > command to qutebrowser to obtain information. I don't think that you can easily obtain information that way. AFAIK, FIFO is only for sending commands. On the other hand, there is in-progress plugin API. That should be more powerful once released. I think it is usable even now, but there is no official documentation yet (which didn't stop some people from using it). Best, Ihor
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-11-25 10:17]: > > - qutebrowser, once HTML is loaded or any file, can transmit this file > > in a script to external program to parse it, collect meta data and > > index it somewhere > > .html version of the current page is always available to userscripts via > $QUTE_HTML variable. > > I use it in my capture package: > https://github.com/yantar92/org-capture-ref#qute_integration > > > - in particular I would be interested if qutebrowser could be used to > > convert the HTML on the fly to OPML by using external script so to > > get chunks finely grained such as paragraphs, headings of course are > > included making HTML better outlined and structured for further > > import into both Org files and yet private Hyperscope database. > > Since you have access to the html file, you can pass it to any app in > your system. For example, you might convert the page to any other format > with pandoc or parse it with beautifulsoap in python. However, the file > will not contain the multimedia content - only bare html. I understand what you say. What I do not know is how do I invoke script from qutebrowser to use the environment variables?
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-11-25 10:17]: > > While I did use qutebrowser many times, did not know about the > > scripts. Please state some examples how you call those external > > scripts. I am interested if: > > - https://www.qutebrowser.org/doc/userscripts.html > - > https://github.com/qutebrowser/experiments/blob/83c2e32bca05023026578ac9b64f7a5938772e9d/misc/userscripts/README.md I can see that Python is reading QUTE FIFO and then sending commands to browser from there. Then I could instruct Emacs to do the same, do you think so? Instead of invoking command from qutebrowser maybe I could invoke it from Emacs? I could make X Window Manager keybinding that invokes Emacs that sends command to qutebrowser to obtain information.
Re: Fwd: Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-12-02 08:26]: > Resending without large attachment. > The attachment was uploaded to > https://github.com/yantar92/org-mode-demos#refiling-multiple-headings-using-agenda-bulk-actions Thank you. Before few days I have seen the GIF and it is useful feature. In the meantime I have already transitioned majority of database distributed tasks into centralized dynamic knowledge repository Hyperscope. It was easy to implement full text relevance search as PostgreSQL already has that feature. I could soon make dynamic relevance search as well running of the timer. But I do not know if it would slow down computer. 1. It would open in separate window, rather narrow on the side or separate frame. 2. It would recognize the active buffer. I do not know that function but it must exist. 3. It would search for thing such as paragraph and if user modifies several more characters it would repeat the search and obtain the paragraph text. 4. It would then conduct relevance search by using the database. 5. It would show possible hyperlinks: to other headings, other Org files, text files, notes in the database and similar.
Fwd: Re: Bring up a screen giving option to open a series of orgmode files
Resending without large attachment. The attachment was uploaded to https://github.com/yantar92/org-mode-demos#refiling-multiple-headings-using-agenda-bulk-actions Best, Ihor Start of forwarded message From: Ihor Radchenko To: Jean Louis Cc: Gerardo Moro , "Berry, Charles" , emacs-orgmode Subject: Re: Bring up a screen giving option to open a series of orgmode files Date: Mon, 30 Nov 2020 18:18:20 +0800 Jean Louis writes: > Do you mean it is possible to mark 5-6 headlines and then re-file them > quickly to other file? > > That would spare me some organizing efforts. Yes. I think the default building is "m" for marking and "B" for bulk actions. The possible actions appear at the bottom of the screen. See the attached demo. Best, Ihor End of forwarded message
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-12-01 05:35]: > Jean Louis writes: > > * Ihor Radchenko [2020-11-30 12:31]: > >> I can see that you have implemented many of the suggested commands > >> yourself. Why don't you just propose patches extending the functionality > >> you desire? > > > > Good question, I have no idea in this moment why not. Maybe I just > > make a function that works for me and is not that easy to provide a > > patch that enhances some Org functionality. Example is sending Org > > tasks by email, if somebody of developers wish to do that they can > > do. For me is concept more important than specific function. Concept > > of being able to send any object from anywhere to anybody is more > > important than functions. Then if developers have different concepts > > and do not think of sending or sharing objects, then those are > > colliding minds and different experiences. I need to put more effort > > to write it why, how, where, what, then to write the function itself > > that just works. That is reason why people make separate packages. > > I would like to remind you that all the Emacs and org-mode development > is only volunteer-based. As a result, people implement things they are > interested in and they have spare time for. If the features you find > useful are not implemented, there are at least three possibilities: > > 1. Others do not use them and do not need them. >In such a case, you can just implement the desired functionality >privately. I have packages that will be published for that. But not that I want to engage in discussions what is usable or not. I consider integrations necessary and known to be necessary and it is not found in many pieces of software. It is also trivial, so if somebody wants, may include it. On mobile device every day I am sharing notes, images, tasks, files without much thinking. Recent targets where I should share files are shown automatically. Often recent people to which I have already shared something are shown automatically. Tasks applications on mobile phones allow sharing of tasks to other people. Why then bother group of people that existed longer than I know Org mode and that in 5 years did not provide any sharing capability that I know? No need for that. GNU Hyperbola package is way older and mature than Org mode, it has region and buffer sharing capability on a key press or invoking a command. Let us say that I would propose sharing email in Org mode in the exact way how I am doing it, that would not work. We already said that development "does not want structure" and files should be self-sufficient. But again contradiction is that development does use structure, only not as foundation. How I create and share for collaboration? 1. First thinking that person need to do a project, with the first task to be made for person I press F4. This alone would require Org developers to implement centralized contact management which does not exist. F4 would require to implement feature where Org file is expanded from a template that contains person's name, hyperlinks, dates, and various heading sections, prepared table for transactions and similar. 2. Then I write some tasks. When I write it, the task is assigned to person. 3. I press key and task is sent to that person, because underlying program knows which email to use, what type of task is that. I do not normally see email software in front of me. It is just sent with formatting and signature from my proper identity. Now I should ask for proposal to implement sending it by email where there is no central contacts database, no streamlining, where Emacs would not know automatically which email address to choose, etc. Too many things. Those are fundamental disagreements. I also hold Org mode as nice outline for text editing. Keeping notes in Org is fine but whenever note need to be related to a person I have to relate it in such way that it is stable for future, so notes are related in the PostgreSQL database. I must know what I wrote about specific person at specific time related to specific other objects accessible on a key press like F3. While Org mode is editing structure of text there is rigid data structure. I can assign person as Joe, or as hyperlink to anything, it is free but that freedom does not help me. What helps is integration, not freedom. mutt email reader has aliases for email addresses, like I can write "Joe" and get email address. But that is not full integration. If I can search among 20 email addresses in the database that would be integration. Software may not be made for that. If planners of a project such as Org mode do not see or do not know that sharing of objects has been established as useful feature in other systems, other methodologies, software, then I feel no urge personally to propose some new features as it is not goal of that project. Doug Engelbart institute influenced WWW and many hypertext systems:
Re: Bring up a screen giving option to open a series of orgmode files
Jean Louis writes: > * Ihor Radchenko [2020-11-30 12:31]: >> I can see that you have implemented many of the suggested commands >> yourself. Why don't you just propose patches extending the functionality >> you desire? > > Good question, I have no idea in this moment why not. Maybe I just > make a function that works for me and is not that easy to provide a > patch that enhances some Org functionality. Example is sending Org > tasks by email, if somebody of developers wish to do that they can > do. For me is concept more important than specific function. Concept > of being able to send any object from anywhere to anybody is more > important than functions. Then if developers have different concepts > and do not think of sending or sharing objects, then those are > colliding minds and different experiences. I need to put more effort > to write it why, how, where, what, then to write the function itself > that just works. That is reason why people make separate packages. I would like to remind you that all the Emacs and org-mode development is only volunteer-based. As a result, people implement things they are interested in and they have spare time for. If the features you find useful are not implemented, there are at least three possibilities: 1. Others do not use them and do not need them. In such a case, you can just implement the desired functionality privately. 2. Others would find the feature useful, but they never thought of it. You can send a feature request to this mailing list. If people are interested, they can find time to make that feature into org-mode. Or you can provide patches. 3. Others would like to have the features, but did not get time to do it. Again, patches welcome. In any scenario, it would be useful to send feature request/patch to this mailing list: 1. You will let others know about your ideas 2. You might get new ideas what can improve your workflow or even find some superior approach that makes your feature obsolete 3. You can get the feature into org-mode, likely improved in the process Important note: it is not very useful to dump all the ideas into a single email in the above scenario. The suggestion would more likely be noticed if one idea/feature is limited to a single thread. Best, Ihor
Re: Bring up a screen giving option to open a series of orgmode files
* Maxim Nikulin [2020-11-30 20:10]: > 2020-29-11 Jean Louis wrote: > > * Maxim Nikulin [2020-11-28 18:52]: > > > > Any viewer should have option to quickly construct a hyperlink and > > store it somewhere with its annotation and other meta data so that > > such can be reused by any other program. > > Xpdf do not have option to construct hyperlink, it allows to execute > arbitrary command (if context matches) and pass some parameters > using substitutions. It is enough e.g. to copy target of the link, > to do something with page number (construct hyperlink to this > page). Maybe selection region could be passed to pdftotext to > extract selection text that could be inserted to a note. That is great reference, thank you! That allows now for PDFs to get quickly captured. Authors have made this command possible: setSelection(pg,ulx,uly,lrx,lry) Set the selection to the specified coordinates on the specified page. And external command can capture selection made with mouse. That means one can mark the text, and annotate such in a hyperdocument and then provide hyperlink. Once PDF is opened the selection can be automatically highlighted. Capturing page number becomes trivial. This is great for my research, development of Hyperscope and generation of elementary objects such as: - specific pages of PDF - specific selections of the PDF To note is that not every PDF has text inside. They may be made from images. External command needs a script that will ask user how to store it. It can be done similar to bookmarklets for org-capture. run(external-command-string) Run an external command. The following escapes are allowed in the command string: %f => PDF file name (or an empty string if no file is open) %b => PDF file base name, i.e., file name minus the extension (or an empty string if no file is open) %u => link URL (or an empty string if not over a URL link) %p => current page number (or an empty string if no file is open) %x => selection upper-left x coordinate (or 0 if there is no selection) %y => selection upper-left y coordinate (or 0 if there is no selection) %X => selection lower-right x coordinate (or 0 if there is no selection) %Y => selection lower-right y coordinate (or 0 if there is no selection) %i => page containing the mouse pointer %j => x coordinate of the mouse pointer %k => y coordinate of the mouse pointer %% => % The external command string will often contain spaces, so the whole command must be quoted in the xpdfrc file: bind x "run(ls -l)" That means if user prepares the ~/.xpdfrc to contain the following line: , | bind ctrl-l any "run(capturexpdf.sh %f %p)" ` and prepares `capturexpdf.sh' to be executable and contains following: , | #!/bin/bash | capture="/home/data1/protected/xpdfcaptured.org" | entry=`zenity --entry` | hyperlink="[[$1:$2][$entry]]" | echo $hyperlink >> $capture ` then by pressing C-l in xpdf the hyperlink containing exact file name, page number and hyperlink name created by using `zenity' tool will be saved into "/home/data1/protected/xpdfcaptured.org": Then later regardless which PDF viewer is used, as long as they support page number access it will be possible to invoke that different PDF viewer on elementary objects or hyperdocuments to specific PDF file and page number. It is great tool for researchers to quickly annotate specific PDF pages for later references. > Surprisingly PDF viewers built in into browser have fences > preventing access of browser extensions to the text content. I did > not expect such limitations. It does not sound as progress. Evince maybe originates from xpdf but does not have nearly these options as xpdf. We go back and become more beautiful with software but less useful. One big thank you for giving these references. I will extract text from PDF files and then index such files and use relevance search to find references to specific subjects like mining, minerals, etc. and then those relevant pages may be opened based on the query to construct more precise hyperlink. The activity can be performed by several people. It also becomes possible to quickly capture PDF hyperlink references straight into the database. > There are extensions that offer translation of text selected in PDF > files however. It seems they use bundled pdf.js to replace built-in >
Re: Bring up a screen giving option to open a series of orgmode files
2020-29-11 Jean Louis wrote: * Maxim Nikulin [2020-11-28 18:52]: Any viewer should have option to quickly construct a hyperlink and store it somewhere with its annotation and other meta data so that such can be reused by any other program. Xpdf do not have option to construct hyperlink, it allows to execute arbitrary command (if context matches) and pass some parameters using substitutions. It is enough e.g. to copy target of the link, to do something with page number (construct hyperlink to this page). Maybe selection region could be passed to pdftotext to extract selection text that could be inserted to a note. Surprisingly PDF viewers built in into browser have fences preventing access of browser extensions to the text content. I did not expect such limitations. There are extensions that offer translation of text selected in PDF files however. It seems they use bundled pdf.js to replace built-in viewer. Unsure that JS working with PDF file runs in proper security context. I expected a robust way for integration with note taking applications. De facto, extensions should communicate with HTTP servers, to protect users, access to filesystem is not allowed any more. Alright, only if it would be that secure, then this type of advise would not be there: How to Run a More Secure Browser https://www.dragonflybsd.org/docs/handbook/RunSecureBrowser/ Just one problem, if one uses a browser extension that works with local files then he have content accessible by extensions. Another extension could do something bad with such files. Mozilla XUL extensions were very powerful and had access to file system. It is impossible to ensure that there is no malicious extensions in the add-on catalog. XUL was dropped, chrome extension API has been adopted. File system is protected against bad extensions, extensions have to keep user data on some server. Only local files are protected, security model for requests to remote servers is quite poor. It is funny, that attempts to allow web applications to work with local files are not stopped, unsure if I have heard about this particular proposal earlier or it is another one: https://web.dev/file-system-access/ In the previous message I was writing about very specific problem: extension author could put code that steal files or ruin them. To solve it, extension developers were force to store user content on a remote server instead of local files. I do not think it is significantly safer. And finally, running browser under a different user is likely not enough. Browser for working with "external" resources should be isolated from home or office network (network namespace, container, virtual machine). There are enough web sites that checks which ports are open at least on the localhost. Local network could be scanned through browser as well. In principle, any paragraph could be addressed using XPath https://developer.mozilla.org/en-US/docs/Web/XPath/Introduction_to_using_XPath_in_JavaScript but it is extremely fragile since link will be likely invalid after web site redesign or modification of the text. ... From the above link on XPath I have not figured out yet how to generate a hyperlink to specific paragraph. I may spend days until I figure it out. Page inspector in developer tools has a context menu entry to copy XPath to particular element. Likely you will prefer to generate link in a more smart and stable way, e,g, by looking for an element with id attribute nearby and construct a link relative to it. Maybe it is possible to implement protocol handler for custom scheme with XPath references https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandler My surprise was big when I realized that Org is there with features to manage tasks but does not offer feature to "send the task". In my opinion, you have demonstrated that emacs and org mode are powerful enough to allow users to implement rather specific workflow with a quite small piece of code. It may be a dedicated package but I do not think it worth including such features to the base set. Docs will be longer than the code. Personally, I would expect export-based solution that strips comments, takes email addresses from some properties and saves messages to the draft folder for review before sending them.
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-11-30 13:15]: > Jean Louis writes: > > > Do you mean it is possible to mark 5-6 headlines and then re-file them > > quickly to other file? > > > > That would spare me some organizing efforts. > > Yes. I think the default building is "m" for marking and "B" for bulk > actions. The possible actions appear at the bottom of the screen. I got it from a GIF animation. That is a built-in and great feature.
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-11-30 12:31]: > Jean Louis writes: > > How to Run a More Secure Browser > > https://www.dragonflybsd.org/docs/handbook/RunSecureBrowser/ > > There is also Firejail these days: > > https://wiki.gentoo.org/wiki/User:Sakaki/Sakaki%27s_EFI_Install_Guide/Sandboxing_the_Firefox_Browser_with_Firejail#Sandboxing_with_Firejail > > > Tasks or notes should be quickly shareable or be capable of being sent > > to different objects and places: > > I can see that you have implemented many of the suggested commands > yourself. Why don't you just propose patches extending the functionality > you desire? Good question, I have no idea in this moment why not. Maybe I just make a function that works for me and is not that easy to provide a patch that enhances some Org functionality. Example is sending Org tasks by email, if somebody of developers wish to do that they can do. For me is concept more important than specific function. Concept of being able to send any object from anywhere to anybody is more important than functions. Then if developers have different concepts and do not think of sending or sharing objects, then those are colliding minds and different experiences. I need to put more effort to write it why, how, where, what, then to write the function itself that just works. That is reason why people make separate packages. For me is suprising that Emacs that has email sending capabilities does not have integrated usage of that capability with other modes. It may be surprising to me but other people or majority may not have use of those features so it is not there. - mark region, click to send by email, why is that not built-in I am surprised. GNU Hyperbole has function: hmail:region is an interactive compiled Lisp function in ‘hmail.el’. (hmail:region START END BUF INVISIBLE-FLAG) - send buffer as email? Why is that not built-in is surprising to me. GNU Hyperbole has it: hmail:buffer is an interactive compiled Lisp function in ‘hmail.el’. (hmail:buffer BUF INVISIBLE-FLAG) Start composing mail with the contents of optional BUF as the message body. Invisible text is expanded and included in the mail only if INVISIBLE-FLAG is non-nil. BUF defaults to the current buffer and may be a buffer or buffer name. - Org heading to email? Why is it not built-in? It is very surprising. I think I have provided a function that offers concept, so it is up to them to implement it. Jean
Re: Bring up a screen giving option to open a series of orgmode files
Jean Louis writes: > How to Run a More Secure Browser > https://www.dragonflybsd.org/docs/handbook/RunSecureBrowser/ There is also Firejail these days: https://wiki.gentoo.org/wiki/User:Sakaki/Sakaki%27s_EFI_Install_Guide/Sandboxing_the_Firefox_Browser_with_Firejail#Sandboxing_with_Firejail > Tasks or notes should be quickly shareable or be capable of being sent > to different objects and places: I can see that you have implemented many of the suggested commands yourself. Why don't you just propose patches extending the functionality you desire? Best, Ihor
Re: Bring up a screen giving option to open a series of orgmode files
* Maxim Nikulin [2020-11-28 19:13]: > 2020-11-27 Jean Louis wrote: > > * Alan Schmitt [2020-11-27 11:15]: > > > > > https://github.com/fuxialexander/org-pdftools). There is also the > > > org-noter option (https://github.com/weirdNox/org-noter) to link > > > external annotations to pdfs. > > > > Annotations are long time envisioned feature that is very poorly > > implemented in any hyperdocument systems. Hypothes.is implement it for > > WWW but WWW could be better designed to allow easier > > annotations. Browsers are missing it all over. > > A remark just to ensure that there is no confusion. PDF format has its own > annotations that are saved inside the file (highlights, text notes, > drawings). It is quite convenient to comment e.g. draft version of a paper. > Another use case is working with a document on a tablet. > > External annotations are certainly powerful but sometimes they are not an > equivalent. Your remark is quite good. Then once annotated document has been prepared as PDF such can be referenced by constructed hyperlink from other hypertext systems. One problem with such PDF is that annotations may be confidential or not public and that remains to people to solve their access permissions. Other case is providing simple annotations for online PDFs that are not on one's own server. On my side solving that by referencing to people over WWW involves creating separate WWW page with annotation over the online accessible PDF page. It may be harder to read but still solves problem to certain degree. Let us say I wish to reference Memex, instead of: Memex https://en.wikipedia.org/wiki/Memex then there would be reference like this rather: Memex https://www.example.com/1/2/3/643 and on such intermediary website, one could get hyperlinks and annotations to the original website. Such annotations, comments, notes, and other relations to the final hyperdocument could be updated in the mean time while the original URL as reference https://www.example.com/1/2/3/643 remains static. Upon opening of the intermediary URL https://www.example.com/1/2/3/643 the destination URL could be opened as well in a new window by using Javascript. Though I do not prefer that approach. The annotating page could look something like below, with maybe more various references to the subject being referenced and various hyperlinks automatically displayed. There are Emacs packages that allow Emacs buffers to be htmlized. Memex = Tags: memex Type: WWW Hyperlink: https://en.wikipedia.org/wiki/Memex Memex is the name of the hypothetical electromechanical device that Vannevar Bush described in his 1945 article "As We May Think". Bush envisioned the memex as a device in which individuals would compress and store all of their books, records, and communications, "mechanized so that it may be consulted with exceeding speed and flexibility". The memex would provide an "enlarged intimate supplement to one's memory".
Re: Bring up a screen giving option to open a series of orgmode files
* Maxim Nikulin [2020-11-28 18:52]: :PROPERTIES: :CREATED: [2020-11-28 Sat 19:55] :ID: 60f81bc3-5122-44d6-87b6-d8554fc6a6b4 :END: > 2020-11-27 Jean Louis wrote: > > > > Now we have `evince' PDF viewer that can open PDF I think by page > > number and by query but it cannot do the equivalent > > `evince-store-link' so user has to think about the file name and page > > number and so on. > > However xpdf (evince predecessor in respect to PDF engine) allows to > define custom bindings in config file, so store link could be > implemented. It seems, the feature was lost on the way to > user-friendly interface. Unsure but maybe store link could be > configured for browser built-in PDF viewers. Myself I was not aware of history of hyperlinks but when we look back to Memex and Engelbart, it becomes clear that we wasted more than half century without implementing what is useful. Any viewer should have option to quickly construct a hyperlink and store it somewhere with its annotation and other meta data so that such can be reused by any other program. And viewer should have option to directly access such reference from command line or by invoking it from other program. Both the viewer author or party producing that software and other software that hyperlinks by using some program are benefiting from it. Maybe evince and various PDF viewers and their maintainers can be convinced to include those very simple functions. PDF often have meta data usable for referencing, and if such does not exist then specific page ID, query or match can be used. I will ask Evince maintainers and other PDF viewer authors then mpv, mplayer and VLC as well. As if I can open video at specific time to be played then why I cannot obtain the hyperlink by watching video. Sounds not logical to me. Hyperlinks captured should not be related to Org. They should have their own URIs and Org should know how to interpret its URIs. List of URI Schemes https://en.wikipedia.org/wiki/List_of_URI_schemes I know that Org is using something as file:something::12 but not sure if it really supports for example PDF for page number, query or match. It should. It should support video by its specific start time to be played or sound to be played all or by specific start time or time period. In general many of those URI schemes should be built-in into Org. Most of them are already built-in into Emacs but their handlers are not. The development version of Emacs has now browse-url-handlers and that allows for any URI to be opened within Emacs. Org mode is not necessary, only goto-browse-mode. > > We have browsers that each of them think for themselves. Each can > > store bookmarks but hardly provide such to external programs. > > I agree that bookmarks as they implemented in browser is something poor. > Forget external programs in the context of modern browsers (either you like > it or not). De facto, extensions should communicate with HTTP servers, to > protect users, access to filesystem is not allowed any more. Alright, only if it would be that secure, then this type of advise would not be there: How to Run a More Secure Browser https://www.dragonflybsd.org/docs/handbook/RunSecureBrowser/ I do remember before 15 years how I could offer a website to be accessed by user and I could choose either to fully block and freeze user's computer or to access file system of the user. Those are exploits, and if those exploits still exist or not we cannot know until we know. What is known by experience is that browsers are not quite secure. Example like this https://en.wikipedia.org/wiki/JailbreakMe may be today in other forms activated on people's computers. > However some API to manipulate bookmarks exists, do not know if it > is really useful: > https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks I have ceased using bookmarks in browsers. Org capture mechanism allows bookmarking in a central system that may be managed by Emacs, but as it is database it may be managed by simple command line tool fzf and SQL or by awk and sed to choose a node or again Emacs on command line, or Perl accessing the remote database or any other language. When things are stored in the database access can be anyhow. I am also thinking to devise way to store activation methods in the database itself and not in the program accessing database. > > Almost none browser can store specific paragraph based > bookmark. They > rely mostly on anchors as finely specified > greed. Bookmarks could be > by HTML page number or query or > paragraph. In principle, any paragraph could be addressed using > XPath > https://developer.mozilla.org/en-US/docs/Web/XPath/Introduction_to_using_XPath_in_JavaScript > but it is extremely fragile since link will be likely invalid after > web site redesign or modification of the text. I am keeping references, thank you. It looks like low level API. It does not matter for modifications as some documents are
Re: Bring up a screen giving option to open a series of orgmode files
2020-11-27 Jean Louis wrote: * Alan Schmitt [2020-11-27 11:15]: https://github.com/fuxialexander/org-pdftools). There is also the org-noter option (https://github.com/weirdNox/org-noter) to link external annotations to pdfs. Annotations are long time envisioned feature that is very poorly implemented in any hyperdocument systems. Hypothes.is implement it for WWW but WWW could be better designed to allow easier annotations. Browsers are missing it all over. A remark just to ensure that there is no confusion. PDF format has its own annotations that are saved inside the file (highlights, text notes, drawings). It is quite convenient to comment e.g. draft version of a paper. Another use case is working with a document on a tablet. External annotations are certainly powerful but sometimes they are not an equivalent.
Re: Bring up a screen giving option to open a series of orgmode files
2020-11-27 Jean Louis wrote: Now we have `evince' PDF viewer that can open PDF I think by page number and by query but it cannot do the equivalent `evince-store-link' so user has to think about the file name and page number and so on. However xpdf (evince predecessor in respect to PDF engine) allows to define custom bindings in config file, so store link could be implemented. It seems, the feature was lost on the way to user-friendly interface. Unsure but maybe store link could be configured for browser built-in PDF viewers. We have browsers that each of them think for themselves. Each can store bookmarks but hardly provide such to external programs. I agree that bookmarks as they implemented in browser is something poor. Forget external programs in the context of modern browsers (either you like it or not). De facto, extensions should communicate with HTTP servers, to protect users, access to filesystem is not allowed any more. However some API to manipulate bookmarks exists, do not know if it is really useful: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks Almost none browser can store specific paragraph based bookmark. They rely mostly on anchors as finely specified greed. Bookmarks could be by HTML page number or query or paragraph. In principle, any paragraph could be addressed using XPath https://developer.mozilla.org/en-US/docs/Web/XPath/Introduction_to_using_XPath_in_JavaScript but it is extremely fragile since link will be likely invalid after web site redesign or modification of the text. There is no interface for end users but web developers use it for UI tests if there is no more reliable option. There was text search addressing initiative "Scroll to text" https://github.com/WICG/scroll-to-text-fragment/ The problem that URLs have no room for such extension points and some web sites abuse #anchors to determine what content should be shown, so addressing of particular element is not possible at all.
Re: Bring up a screen giving option to open a series of orgmode files
Hello Allan, Thank you for references, I am collecting it. * Alan Schmitt [2020-11-27 11:15]: > For that I recommend pdf-tools (great pdf viewer for emacs, supporting > annotations and synctex, https://github.com/politza/pdf-tools ) and > org-pdftools (provides org links for it, That is nice and I have take note for later inspection. The current doc-view functions are already pretty nice and allow to access PDF files by its page number and I also think searching words would work. Maybe I already made it and forgot it. For the built-in doc-view by using function (doc-view-current-page) one can obtain the page number and that allows for creation of a function to create quickly Org link to specific PDF number to be viewed with the built-in doc-view: (defun org-capture-doc-view-page-by-number () (interactive) (let* ((page (doc-view-current-page)) (file (buffer-file-name)) (name (read-from-minibuffer "Hyperlink name: ")) (hyperlink (format "[[elisp:(doc-view-open-file \"%s\" %s)][%s]]" file page name))) (kill-new hyperlink))) Function allows to search by page number, query and match: `(doc-view-open-file FILE PAGE-NUMBER QUERY MATCH)' When making such hyperlinks for Org, I rather like using generic functions to open such files, such as: Instead of: [[elisp:(doc-view-open-file "/home/data1/protected/Downloads/Download.PDF" 1)][Transaction History]] [[elisp:(generic-pdf-open-file "/home/data1/protected/Downloads/Download.PDF" 1)][Transaction History]] Then the generic function could be replaced by user's customization. If somebody would like to open PDF file by pdf-tools, evince, or doc-view, then welcome, customize and go! More than that I like using even more generic links that do not hard code the file path as such are indexed in the database, then it would look like this: Instead of: [[elisp:(generic-pdf-open-file "/home/data1/protected/Downloads/Download.PDF" 1)][Transaction History]] [[elisp:(hyperscope 123)][Transaction History]] As that brings the possibility that I change the file path or rename the file but the unique ID 123 never changes, and again may decide how to open file, by which viewer. In addition it could decide: - to open file and show annotations - while opening file to play some music to read with music together - or I could add any other function to the very generic high level hyperlink I would prefer if authors of pdf-tools would contribute their generic functions if useful to doc-view. It is nice to have such external tools, even nicer is when core Emacs get enhanced. > https://github.com/fuxialexander/org-pdftools). There is also the > org-noter option (https://github.com/weirdNox/org-noter) to link > external annotations to pdfs. Annotations are long time envisioned feature that is very poorly implemented in any hyperdocument systems. Hypothes.is implement it for WWW but WWW could be better designed to allow easier annotations. Browsers are missing it all over. Hypothes.is Annotate the web, with anyone, anywhere. https://web.hypothes.is/ org-noter is great package and peculiar to me I would keep notes related to anything and make it built-in feature in Emacs. Files can be annotated, images can be annotated, videos, email messages. It referenced to interleave, I have not used it but I see it would show PDF on one side and Org file on the other side, Then user can quickly annotate a page and press key and note is stored in Org, that is such good example of what I call integration or combining into one whole. Such functions could become part of Org mode as they are useful. Personally I am using similar divided window functionality where I can quickly insert hyperlinks from other buffer and capture hyperlinks from other buffers straight into the database. How I see that org-noter does it from the video is that when user opens heading the page will automatically appear on the other window. That is useful feature. I just see it is so much hard coding and it reinforced demand for structured meta data. Packages interleave and org-note are good examples where authors try to hard code relations. > > We have browsers that each of them think for themselves. Each can > > store bookmarks but hardly provide such to external programs. > > For that org-protocol was mentioned. There is eww as well to browse > within emacs (and thus have links). Browsers vary in their implementations, if they allow Javascript this may be possible. Without Javascript it requires different hacks. Generally there is no adopted standard on annotations. Mosaic browser had general public annotations as a built-in feature. Netscape did not follow with it and Firefox today still does not have proper annotations. It has bookmark annotation. But it does not have something like page ID, match, query or paragraph annotation, or heading annotation. Then every browser does what they want. We would have more useful computing would developers agree on common
Re: Bring up a screen giving option to open a series of orgmode files
Hello, On 2020-11-27 05:40, Jean Louis writes: > Now we have `evince' PDF viewer that can open PDF I think by page > number and by query but it cannot do the equivalent > `evince-store-link' so user has to think about the file name and page > number and so on. For that I recommend pdf-tools (great pdf viewer for emacs, supporting annotations and synctex, https://github.com/politza/pdf-tools) and org-pdftools (provides org links for it, https://github.com/fuxialexander/org-pdftools). There is also the org-noter option (https://github.com/weirdNox/org-noter) to link external annotations to pdfs. > We have browsers that each of them think for themselves. Each can > store bookmarks but hardly provide such to external programs. For that org-protocol was mentioned. There is eww as well to browse within emacs (and thus have links). > File managers do not provide `file-manager-store-link' but they should > as it would be very useful to have programs integrate with each other > that hyperdocument systems can be built. dired is a nice file manager. I agree having something at the level of the OS would be great, but emacs is a pretty good OS ;) Best, Alan signature.asc Description: PGP signature
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-11-24 10:25]: :PROPERTIES: :CREATED: [2020-11-27 Fri 05:40] :ID: 7caa9f79-d5c2-4e00-8b34-60055025240e :END: > > Side note: there shall be feature in Org that quickly > > captures the full link to the heading. Maybe it already > > exists. Instead of constructing links by hand like entering > > the file name, entering the heading for the link, there > > shall by some automated feature: > > See org-store-link and org-insert-link. org-store-link stores link in a > link ring and the link/links can be later inserted using > org-insert-link. That is great feature. I have got many good tips from you and I slowly process them and implement such. I knew about org-store-link and not that I used it much within Emacs. Such feature is necessary in any system managing hyperlinks. Programmers are exposed to let us say WWW but may not know where the roots come from and that hyperlinking was envisioned back in time even before modern computers. Memex https://en.wikipedia.org/wiki/Memex Now we have `evince' PDF viewer that can open PDF I think by page number and by query but it cannot do the equivalent `evince-store-link' so user has to think about the file name and page number and so on. We have browsers that each of them think for themselves. Each can store bookmarks but hardly provide such to external programs. Almost none browser can store specific paragraph based bookmark. They rely mostly on anchors as finely specified greed. Bookmarks could be by HTML page number or query or paragraph. Even modern browsers have very poor functions of managing bookmarks. File managers do not provide `file-manager-store-link' but they should as it would be very useful to have programs integrate with each other that hyperdocument systems can be built. > > Org headings can be or could be marked with later action on > > the whole collection of headings: > > See bulk commands in agenda (Bulk remote editing selected entries): > https://orgmode.org/manual/Agenda-Commands.html > > Manually picking headlines to put into agenda is not currently possible > in org-mode, but one can volunteer to do it. It is not too hard to > implement. Patches are welcome. Myself I would not know why to manually pick and put into agenda. > > - re-filing all of them at once > > built-in Do you mean it is possible to mark 5-6 headlines and then re-file them quickly to other file? That would spare me some organizing efforts. > > - sending them all by email to other person (I do with Org) > > > - sending hyperlinks in other Org file (I do in HyperScope) > > > - creating new Org file with the collection of headings > > not implemented, but see org-agenda-bulk-custom-functions for extending > the built-in functionality Thank you for reference.
Re: Bring up a screen giving option to open a series of orgmode files
> Thank you Ihor. I know this all could be in the manual, and I read > manuals all the time but never read it fully. Without these references > I would not easily discover those useful functions. Yeah. It is even worth re-reading manuals from time to time as you use the corresponding tool. With growing experience, many initially unnoticed features can be discovered and used efficiently. >> I just listed the possibilities. I personally use qutebrowser where I >> can directly call external scripts. > > While I did use qutebrowser many times, did not know about the > scripts. Please state some examples how you call those external > scripts. I am interested if: - https://www.qutebrowser.org/doc/userscripts.html - https://github.com/qutebrowser/experiments/blob/83c2e32bca05023026578ac9b64f7a5938772e9d/misc/userscripts/README.md > - qutebrowser, once HTML is loaded or any file, can transmit this file > in a script to external program to parse it, collect meta data and > index it somewhere .html version of the current page is always available to userscripts via $QUTE_HTML variable. I use it in my capture package: https://github.com/yantar92/org-capture-ref#qute_integration > - in particular I would be interested if qutebrowser could be used to > convert the HTML on the fly to OPML by using external script so to > get chunks finely grained such as paragraphs, headings of course are > included making HTML better outlined and structured for further > import into both Org files and yet private Hyperscope database. Since you have access to the html file, you can pass it to any app in your system. For example, you might convert the page to any other format with pandoc or parse it with beautifulsoap in python. However, the file will not contain the multimedia content - only bare html. Best, Ihor Jean Louis writes: > * Ihor Radchenko [2020-11-25 06:43]: >> > Now I hope that I can use org-capture to invoke other functions from >> > external programs. >> >> In general, you can define your own protocols. See >> org-protocol-protocol-alist docstring for details how to define custom >> protocols executing arbitrary elisp code. > > Thank you Ihor. I know this all could be in the manual, and I read > manuals all the time but never read it fully. Without these references > I would not easily discover those useful functions. > > When there is reference such as URL, I am actually following it and > researching the subject. Few minutes research here and then are > sparing me time on repetitive tasks in futures. > >> > I would like to use org-capture to get data while invoking some >> > Elisp, that I can capture into database. Do you think that is >> > possible straight somehow? >> > >> > That capture does not go into Org but that I can redirect it to other >> > elisp function? >> >> You can add your own function to org-capture-prepare-finalize-hook and >> do whatever you want with the captured text, like passing it to external >> program. Once done, you can just call (org-capture-kill) to abort the >> capture and not save the data to org. >> >> > Chrome is no go here as I do not like getting tracked by Google. But >> > it is similar extension >> >> I just listed the possibilities. I personally use qutebrowser where I >> can directly call external scripts. > > While I did use qutebrowser many times, did not know about the > scripts. Please state some examples how you call those external > scripts. I am interested if: > > - qutebrowser, once HTML is loaded or any file, can transmit this file > in a script to external program to parse it, collect meta data and > index it somewhere > > - in particular I would be interested if qutebrowser could be used to > convert the HTML on the fly to OPML by using external script so to > get chunks finely grained such as paragraphs, headings of course are > included making HTML better outlined and structured for further > import into both Org files and yet private Hyperscope database. > > You think that could work? > > Any examples how you use qutebrowser with external scripts?
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-11-25 06:43]: > > Now I hope that I can use org-capture to invoke other functions from > > external programs. > > In general, you can define your own protocols. See > org-protocol-protocol-alist docstring for details how to define custom > protocols executing arbitrary elisp code. Thank you Ihor. I know this all could be in the manual, and I read manuals all the time but never read it fully. Without these references I would not easily discover those useful functions. When there is reference such as URL, I am actually following it and researching the subject. Few minutes research here and then are sparing me time on repetitive tasks in futures. > > I would like to use org-capture to get data while invoking some > > Elisp, that I can capture into database. Do you think that is > > possible straight somehow? > > > > That capture does not go into Org but that I can redirect it to other > > elisp function? > > You can add your own function to org-capture-prepare-finalize-hook and > do whatever you want with the captured text, like passing it to external > program. Once done, you can just call (org-capture-kill) to abort the > capture and not save the data to org. > > > Chrome is no go here as I do not like getting tracked by Google. But > > it is similar extension > > I just listed the possibilities. I personally use qutebrowser where I > can directly call external scripts. While I did use qutebrowser many times, did not know about the scripts. Please state some examples how you call those external scripts. I am interested if: - qutebrowser, once HTML is loaded or any file, can transmit this file in a script to external program to parse it, collect meta data and index it somewhere - in particular I would be interested if qutebrowser could be used to convert the HTML on the fly to OPML by using external script so to get chunks finely grained such as paragraphs, headings of course are included making HTML better outlined and structured for further import into both Org files and yet private Hyperscope database. You think that could work? Any examples how you use qutebrowser with external scripts?
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-11-24 12:59]: > > org-store-link would work only within Emacs, not for the case of copying > > http links in the browser, right? > > Indeed. If you want to copy "[[url][title]]" string directly from > browser, you should probably write a simple bookmarklet. I have seen > someone sharing it in reddit, but cannot find the comment anymore. > In any case, you might look at > https://stackoverflow.com/questions/5046972/copy-text-to-clipboard-from-bookmarklet > for ideas how to do it. > > Also, you can capture webpage as a heading using org-capture + > org-protocol: > 1. https://addons.mozilla.org/en-US/firefox/addon/org-capture/ > 2. > https://chrome.google.com/webstore/detail/org-capture/kkkjlfejijcjgjllecmnejhogpbcigdc > 3. https://seds.nl/notes/orgmode-firefox-bookmark/ > 4. https://github.com/yantar92/org-capture-ref (shameless plug) > > Or you can write a custom org-capture handler that invokes > org-store-link Those references were very helpful. Org has already some nice capturing abilities, like rmail, one can capture (I guess) the link to message ID, or URL in eww and so on. I hope now that org-protocol is generic and does not only do stuff for Org that I can capture other things too. But in general I wonder how does that bookmarklet work. I was looking inside and I think it works by converting or redirecting the page to new protocol like http:// only this time org-protocol:// and then based on that protocol it is opening a handler. If somebody knows if this is correct, let me know. As this feature then can be used then that I make protocol for myself, that I can capture into the database, only not with org-protocol. After inspection I can see that org-protocol.el have been made generic! Bingo! Hide Org Protocol Protocol Alist: INS State : STANDARD. Register custom handlers for org-protocol. Hide So that means that little different captures can be made into anything and not only to Org. Thank you for hints, without it I would not soon find out about that. Jean
Re: Bring up a screen giving option to open a series of orgmode files
> Now I hope that I can use org-capture to invoke other functions from > external programs. In general, you can define your own protocols. See org-protocol-protocol-alist docstring for details how to define custom protocols executing arbitrary elisp code. > I would like to use org-capture to get data while invoking some > Elisp, that I can capture into database. Do you think that is > possible straight somehow? > > That capture does not go into Org but that I can redirect it to other > elisp function? You can add your own function to org-capture-prepare-finalize-hook and do whatever you want with the captured text, like passing it to external program. Once done, you can just call (org-capture-kill) to abort the capture and not save the data to org. > Chrome is no go here as I do not like getting tracked by Google. But > it is similar extension I just listed the possibilities. I personally use qutebrowser where I can directly call external scripts. > That is yet another tip how to capture, and I can use it probably with > the other add on, or basically without add on, how I understand. Sure, bookmarklet should be the most universal solution working with pretty much all browsers. Best, Ihor Jean Louis writes: > * Ihor Radchenko [2020-11-24 12:59]: >> > org-store-link would work only within Emacs, not for the case of copying >> > http links in the browser, right? >> >> Indeed. If you want to copy "[[url][title]]" string directly from >> browser, you should probably write a simple bookmarklet. I have seen >> someone sharing it in reddit, but cannot find the comment anymore. >> In any case, you might look at >> https://stackoverflow.com/questions/5046972/copy-text-to-clipboard-from-bookmarklet >> for ideas how to do it. > > Yes, thank you for pointers. > > What I would like to do is to execute external program from browser as > such program will give me more than just capturing the TITLE and URL, > data that browser has, because I need external data that browser does > not have such as annotation or a note to the bookmark. > > So I could maybe use org-capture as you said. Then I could annotate > the bookmark in description and later by one click move everything > into Hyperscope database. > >> Also, you can capture webpage as a heading using org-capture + >> org-protocol: >> 1. https://addons.mozilla.org/en-US/firefox/addon/org-capture > > I think this one could work. But it does not work on iceweasel-uxp > from fully free OS Hyperbola GNU/Linux-libre. It could be installed on > the GNU IceCat. Firefox I am not using directly within the OS due to > its problematic tradeark issues and I like GNU IceCat as it has by > default some good features like quickly disabling Javascript and > taking care of non-free Software. > > I have tried, now I am getting error: > > Greedy org-protocol handler. Killing client. > > e. > > After more setups insights, I could make it work. It works quite nice! > > Now I hope that I can use org-capture to invoke other functions from > external programs. > >> 2. >> https://chrome.google.com/webstore/detail/org-capture/kkkjlfejijcjgjllecmnejhogpbcigdc > > Chrome is no go here as I do not like getting tracked by Google. But > it is similar extension > >> 3. https://seds.nl/notes/orgmode-firefox-bookmark/ > > That is yet another tip how to capture, and I can use it probably with > the other add on, or basically without add on, how I understand. > >> 4. https://github.com/yantar92/org-capture-ref (shameless plug) > > Even more enhancements there. That is great. > >> Or you can write a custom org-capture handler that invokes >> org-store-link > > I would like to use org-capture to get data while invoking some > Elisp, that I can capture into database. Do you think that is > possible straight somehow? > > That capture does not go into Org but that I can redirect it to other > elisp function?
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-11-24 12:59]: > > org-store-link would work only within Emacs, not for the case of copying > > http links in the browser, right? > > Indeed. If you want to copy "[[url][title]]" string directly from > browser, you should probably write a simple bookmarklet. I have seen > someone sharing it in reddit, but cannot find the comment anymore. > In any case, you might look at > https://stackoverflow.com/questions/5046972/copy-text-to-clipboard-from-bookmarklet > for ideas how to do it. Yes, thank you for pointers. What I would like to do is to execute external program from browser as such program will give me more than just capturing the TITLE and URL, data that browser has, because I need external data that browser does not have such as annotation or a note to the bookmark. So I could maybe use org-capture as you said. Then I could annotate the bookmark in description and later by one click move everything into Hyperscope database. > Also, you can capture webpage as a heading using org-capture + > org-protocol: > 1. https://addons.mozilla.org/en-US/firefox/addon/org-capture I think this one could work. But it does not work on iceweasel-uxp from fully free OS Hyperbola GNU/Linux-libre. It could be installed on the GNU IceCat. Firefox I am not using directly within the OS due to its problematic tradeark issues and I like GNU IceCat as it has by default some good features like quickly disabling Javascript and taking care of non-free Software. I have tried, now I am getting error: Greedy org-protocol handler. Killing client. e. After more setups insights, I could make it work. It works quite nice! Now I hope that I can use org-capture to invoke other functions from external programs. > 2. > https://chrome.google.com/webstore/detail/org-capture/kkkjlfejijcjgjllecmnejhogpbcigdc Chrome is no go here as I do not like getting tracked by Google. But it is similar extension > 3. https://seds.nl/notes/orgmode-firefox-bookmark/ That is yet another tip how to capture, and I can use it probably with the other add on, or basically without add on, how I understand. > 4. https://github.com/yantar92/org-capture-ref (shameless plug) Even more enhancements there. That is great. > Or you can write a custom org-capture handler that invokes > org-store-link I would like to use org-capture to get data while invoking some Elisp, that I can capture into database. Do you think that is possible straight somehow? That capture does not go into Org but that I can redirect it to other elisp function?
Re: Bring up a screen giving option to open a series of orgmode files
* John Sturdy [2020-11-24 12:54]: > I've got a rather specialized version of that at > https://github.com/hillwithsmallfields/JCGS-emacs/blob/master/special-setups/tasks/org-agenda-kiosk.el > It's aimed at navigating a collection of org-mode files via the numeric > keypad only, and I wrote it to go with some custom hardware I made (a > screen and keypadded embedded in a corkboard, so I can keep all my "things > to do" lists together, whether on paper or on the computer), hence it > having mappings for a keypad rotated 90degrees! How does that work to keep paper and computer stuff together?
Re: Bring up a screen giving option to open a series of orgmode files
* Detlef Steuer [2020-11-24 13:07]: > Am Tue, 24 Nov 2020 09:53:15 + > schrieb John Sturdy : > > > It's aimed at navigating a collection of org-mode files via the > > numeric keypad only, and I wrote it to go with some custom hardware I > > made (a screen and keypadded embedded in a corkboard, so I can keep > > all my "things to do" lists together, whether on paper or on the > > computer), hence it having mappings for a keypad rotated 90degrees! > > > Would you mind to share a picture? Or two? I wanted to tell the same. I think that concept of various keys separate from main keyboard is great.
Re: Bring up a screen giving option to open a series of orgmode files
Am Tue, 24 Nov 2020 09:53:15 + schrieb John Sturdy : > It's aimed at navigating a collection of org-mode files via the > numeric keypad only, and I wrote it to go with some custom hardware I > made (a screen and keypadded embedded in a corkboard, so I can keep > all my "things to do" lists together, whether on paper or on the > computer), hence it having mappings for a keypad rotated 90degrees! Would you mind to share a picture? Or two? Detlef
Re: Bring up a screen giving option to open a series of orgmode files
> org-store-link would work only within Emacs, not for the case of copying > http links in the browser, right? Indeed. If you want to copy "[[url][title]]" string directly from browser, you should probably write a simple bookmarklet. I have seen someone sharing it in reddit, but cannot find the comment anymore. In any case, you might look at https://stackoverflow.com/questions/5046972/copy-text-to-clipboard-from-bookmarklet for ideas how to do it. Also, you can capture webpage as a heading using org-capture + org-protocol: 1. https://addons.mozilla.org/en-US/firefox/addon/org-capture/ 2. https://chrome.google.com/webstore/detail/org-capture/kkkjlfejijcjgjllecmnejhogpbcigdc 3. https://seds.nl/notes/orgmode-firefox-bookmark/ 4. https://github.com/yantar92/org-capture-ref (shameless plug) Or you can write a custom org-capture handler that invokes org-store-link Best, Ihor Gerardo Moro writes: > Hi, > > See org-store-link and org-insert-link. org-store-link stores link in a >> link ring and the link/links can be later inserted using >> org-insert-link. >> > > org-store-link would work only within Emacs, not for the case of copying > http links in the browser, right? > > > org-store-link
Re: Bring up a screen giving option to open a series of orgmode files
I've got a rather specialized version of that at https://github.com/hillwithsmallfields/JCGS-emacs/blob/master/special-setups/tasks/org-agenda-kiosk.el It's aimed at navigating a collection of org-mode files via the numeric keypad only, and I wrote it to go with some custom hardware I made (a screen and keypadded embedded in a corkboard, so I can keep all my "things to do" lists together, whether on paper or on the computer), hence it having mappings for a keypad rotated 90degrees! __John On Sun, Nov 22, 2020 at 10:02 AM Gerardo Moro wrote: > Basically that :) > I'm looking for some setup that allows me to open a menu with a list of > files and shortcut access keys to open them. > > Probably somebody has done this before. > > Thank you, > GM >
Re: Bring up a screen giving option to open a series of orgmode files
Hi, See org-store-link and org-insert-link. org-store-link stores link in a > link ring and the link/links can be later inserted using > org-insert-link. > org-store-link would work only within Emacs, not for the case of copying http links in the browser, right? org-store-link
Re: Bring up a screen giving option to open a series of orgmode files
> I definitely think it's very, very useful! > I constantly leave tabs open or use bookmarks, but it'd be great to add > them to ORG with a timestamp to watch later. > This way I wouldn't forget about them and they wouldn't take memory on the > browser if I don't bookmark them. It is possible and many people use it (including me). Useful links: - https://orgmode.org/manual/Capture.html#Capture - https://orgmode.org/manual/Protocols.html#Protocols - https://github.com/yantar92/org-capture-ref Best, Ihor Gerardo Moro writes: > > Do you find that useful? Who does? > I definitely think it's very, very useful! > I constantly leave tabs open or use bookmarks, but it'd be great to add > them to ORG with a timestamp to watch later. > This way I wouldn't forget about them and they wouldn't take memory on the > browser if I don't bookmark them. > >
Re: Bring up a screen giving option to open a series of orgmode files
> Side note: there shall be feature in Org that quickly > captures the full link to the heading. Maybe it already > exists. Instead of constructing links by hand like entering > the file name, entering the heading for the link, there > shall by some automated feature: See org-store-link and org-insert-link. org-store-link stores link in a link ring and the link/links can be later inserted using org-insert-link. > Org headings can be or could be marked with later action on > the whole collection of headings: See bulk commands in agenda (Bulk remote editing selected entries): https://orgmode.org/manual/Agenda-Commands.html Manually picking headlines to put into agenda is not currently possible in org-mode, but one can volunteer to do it. It is not too hard to implement. Patches are welcome. > - re-filing all of them at once built-in > - sending them all by email to other person (I do with Org) > - sending hyperlinks in other Org file (I do in HyperScope) > - creating new Org file with the collection of headings not implemented, but see org-agenda-bulk-custom-functions for extending the built-in functionality > - assigning properties to collection of headings, tasks, > todo or similar. I am often assigning tasks to people, > collection would help me re-assign tasks instead of doing it > one by one. build-in bulk commands provide a way to assign todo keywords or tags. > But this here, this chunk of various properties shows how > Org users wish Org to be way more structured, that Org wants > to become more than just plain text, it wants to become > database. As usual, it's user's choice how to use Org. There are built-in tools that require storing metadata and org-mode devs chose to store everything as plain text. If user does not want to use this feature, the user is free to not use it or use alternative ways to store metadata (as it is done in org-roam, for example). Best, Ihor Jean Louis writes: > * Ihor Radchenko [2020-11-23 11:14]: >> > Org provides hyperlinks and that useful feature may be used as >> > on-the-fly information visualizer for many groups of smaller pieces of >> > information which could be obtained from some structure or found in >> > real time. >> >> Also, one could quickly select one of multiple links under heading by >> invoking C-c C-o with point at heading. > > I did not know that. That is useful feature for Org. > > Side note: there shall be feature in Org that quickly > captures the full link to the heading. Maybe it already > exists. Instead of constructing links by hand like entering > the file name, entering the heading for the link, there > shall by some automated feature: > > Useful Feature A: > = > > - watching 2 windows with 2 Org files > > - position cursor in first Org file to accept the hyperlink > > - move to 2nd Org file any heading > > - press key, and hyperlink is sent to 1st Org file properly > formatted for specific heading in second Org file. > > And then there shall be also collection of hyperlinks: > > Useful feature B to collect hyperlinks similar to above: > > > - user browses one Org file and thinks of collecting various > multiple hyperlinks as such need to be referenced in other > Org file and I refer to headings only for now. > > - user would just invoke the key in any heading and message > would be "Heading `** TODO Things' captured in the ring" > > - user would be able to browse various Org files and collect > hyperlinks in memory collection. > > - After several collections user could then go to other Org > files and invoke key or command to insert the whole > collection of hyperlinks. > > Do you find that useful? Who does? > > That is how I am implementing information in the personal > program HyperScope, it will get published when polished and > ripe. > > Collections are similar to Dired marking, user can mark the > file and later decide what to do with it. > > Org headings can be or could be marked with later action on > the whole collection of headings: > > - re-filing all of them at once > > - sending them all by email to other person (I do with Org) > > - sending hyperlinks in other Org file (I do in HyperScope) > > - creating new Org file with the collection of headings > > - assigning properties to collection of headings, tasks, > todo or similar. I am often assigning tasks to people, > collection would help me re-assign tasks instead of doing it > one by one. > >> In the following example, C-c C-o would raise a buffer listing all >> the links. Then, the links can be selected by pressing 1/2/3 (to >> open first/second/third link): > > That is new to me and fine feature, thank you for reference. > > But this here, this chunk of various properties shows how > Org users wish Org to be way more structured, that Org wants > to become more than just plain text, it wants to become > database. > > *** NEXT Commit all the changes > SCHEDULED: <2020-11-24 Tue
Re: Bring up a screen giving option to open a series of orgmode files
> Do you find that useful? Who does? I definitely think it's very, very useful! I constantly leave tabs open or use bookmarks, but it'd be great to add them to ORG with a timestamp to watch later. This way I wouldn't forget about them and they wouldn't take memory on the browser if I don't bookmark them. El lun, 23 nov 2020 a las 12:59, Jean Louis () escribió: > * Ihor Radchenko [2020-11-23 11:14]: > > > Org provides hyperlinks and that useful feature may be used as > > > on-the-fly information visualizer for many groups of smaller pieces of > > > information which could be obtained from some structure or found in > > > real time. > > > > Also, one could quickly select one of multiple links under heading by > > invoking C-c C-o with point at heading. > > I did not know that. That is useful feature for Org. > > Side note: there shall be feature in Org that quickly > captures the full link to the heading. Maybe it already > exists. Instead of constructing links by hand like entering > the file name, entering the heading for the link, there > shall by some automated feature: > > Useful Feature A: > = > > - watching 2 windows with 2 Org files > > - position cursor in first Org file to accept the hyperlink > > - move to 2nd Org file any heading > > - press key, and hyperlink is sent to 1st Org file properly > formatted for specific heading in second Org file. > > And then there shall be also collection of hyperlinks: > > Useful feature B to collect hyperlinks similar to above: > > > - user browses one Org file and thinks of collecting various > multiple hyperlinks as such need to be referenced in other > Org file and I refer to headings only for now. > > - user would just invoke the key in any heading and message > would be "Heading `** TODO Things' captured in the ring" > > - user would be able to browse various Org files and collect > hyperlinks in memory collection. > > - After several collections user could then go to other Org > files and invoke key or command to insert the whole > collection of hyperlinks. > > Do you find that useful? Who does? > > That is how I am implementing information in the personal > program HyperScope, it will get published when polished and > ripe. > > Collections are similar to Dired marking, user can mark the > file and later decide what to do with it. > > Org headings can be or could be marked with later action on > the whole collection of headings: > > - re-filing all of them at once > > - sending them all by email to other person (I do with Org) > > - sending hyperlinks in other Org file (I do in HyperScope) > > - creating new Org file with the collection of headings > > - assigning properties to collection of headings, tasks, > todo or similar. I am often assigning tasks to people, > collection would help me re-assign tasks instead of doing it > one by one. > > > In the following example, C-c C-o would raise a buffer listing all > > the links. Then, the links can be selected by pressing 1/2/3 (to > > open first/second/third link): > > That is new to me and fine feature, thank you for reference. > > But this here, this chunk of various properties shows how > Org users wish Org to be way more structured, that Org wants > to become more than just plain text, it wants to become > database. > > *** NEXT Commit all the changes > SCHEDULED: <2020-11-24 Tue .+1d> > :PROPERTIES: > :CREATED: [2019-04-18 Thu 09:40] > :STYLE: habit > :REPEAT_TO_STATE: NEXT > :LOGGING: DONE(!) > :ARCHIVE: %S_archive_%y.org::* Habits > :ORG-TIME-BONUS: 0 > :LAST_REPEAT: [2020-11-23 Mon 14:10] > :SHOWFROMDATE: 2020-11-09 > :RESET_CHECK_BOXES: t > :END: > >
Re: Bring up a screen giving option to open a series of orgmode files
* Diego Zamboni [2020-11-23 12:53]: > Hi Gerardo, > > Apart from what others have suggested, what you can do if you have a fixed > list of files you want to quickly access, you could manually define > keybindings for them. I have four main files where I capture things, so I > define a submenu that allows me to access them quickly: > > (note: I got this idea originally from Sacha Chua's > https://sachachua.com/blog/2015/02/learn-take-notes-efficiently-org-mode/) > > First, I define a helper function to define keybindings that open files. > Note that this requires lexical binding to be enabled, so that the > =lambda= creates a closure, otherwise the keybindings don't work. > > #+begin_src emacs-lisp > (defun zz/add-file-keybinding (key file desc) > (let ((key key) > (file file) > (desc desc)) > (map! :desc (or desc file) > key > (lambda () (interactive) (find-file file) > #+end_src > > (note #2: the map! macro is Doom Emacs-specific, should be replaced with > `bind-key` or equivalent if you are not using Doom) > > Now I define keybindings to access my commonly-used org files. > > #+begin_src emacs-lisp > (zz/add-file-keybinding "C-c z w" "~/Work/work.org.gpg" "work.org") > (zz/add-file-keybinding "C-c z i" "~/org/ideas.org" "ideas.org") > (zz/add-file-keybinding "C-c z p" "~/org/projects.org" "projects.org") > (zz/add-file-keybinding "C-c z d" "~/org/diary.org" "diary.org") > #+end_src Another idea how to quickly access those files could be with completion function which could also be bound to a key. (defun my-org-files () (interactive) (let* ((list '(("Work" . "~/Work/work.org.gpg") ("Ideas" . "~/org/ideas.org") ("Projects" . "~/org/projects.org") ("Diary" . "~/org/diary.org"))) (completion-ignore-case t) (file (completing-read "My files: " list)) (file (cdr (assoc file list (find-file file))) or function that finds all org files and offers completion on such: (defun my-all-org-files () (interactive) (let* ((my-org-dir "~/Documents/Org") (all-org (directory-files my-org-dir t "\.org$")) (alist '()) (all-org-alist (dolist (org all-org alist) (setf (alist-get (file-name-base org) alist) org))) (completion-ignore-case t) (file (completing-read "My files: " all-org-alist)) (file (cdr (assoc file alist (find-file file))) M-x my-all-org-files Even better is when you turn on some visual completion package such as M-x ivy-mode or M-x helm-mode package ivy is in GNU ELPA
Re: Bring up a screen giving option to open a series of orgmode files
* Ihor Radchenko [2020-11-23 11:14]: > > Org provides hyperlinks and that useful feature may be used as > > on-the-fly information visualizer for many groups of smaller pieces of > > information which could be obtained from some structure or found in > > real time. > > Also, one could quickly select one of multiple links under heading by > invoking C-c C-o with point at heading. I did not know that. That is useful feature for Org. Side note: there shall be feature in Org that quickly captures the full link to the heading. Maybe it already exists. Instead of constructing links by hand like entering the file name, entering the heading for the link, there shall by some automated feature: Useful Feature A: = - watching 2 windows with 2 Org files - position cursor in first Org file to accept the hyperlink - move to 2nd Org file any heading - press key, and hyperlink is sent to 1st Org file properly formatted for specific heading in second Org file. And then there shall be also collection of hyperlinks: Useful feature B to collect hyperlinks similar to above: - user browses one Org file and thinks of collecting various multiple hyperlinks as such need to be referenced in other Org file and I refer to headings only for now. - user would just invoke the key in any heading and message would be "Heading `** TODO Things' captured in the ring" - user would be able to browse various Org files and collect hyperlinks in memory collection. - After several collections user could then go to other Org files and invoke key or command to insert the whole collection of hyperlinks. Do you find that useful? Who does? That is how I am implementing information in the personal program HyperScope, it will get published when polished and ripe. Collections are similar to Dired marking, user can mark the file and later decide what to do with it. Org headings can be or could be marked with later action on the whole collection of headings: - re-filing all of them at once - sending them all by email to other person (I do with Org) - sending hyperlinks in other Org file (I do in HyperScope) - creating new Org file with the collection of headings - assigning properties to collection of headings, tasks, todo or similar. I am often assigning tasks to people, collection would help me re-assign tasks instead of doing it one by one. > In the following example, C-c C-o would raise a buffer listing all > the links. Then, the links can be selected by pressing 1/2/3 (to > open first/second/third link): That is new to me and fine feature, thank you for reference. But this here, this chunk of various properties shows how Org users wish Org to be way more structured, that Org wants to become more than just plain text, it wants to become database. *** NEXT Commit all the changes SCHEDULED: <2020-11-24 Tue .+1d> :PROPERTIES: :CREATED: [2019-04-18 Thu 09:40] :STYLE: habit :REPEAT_TO_STATE: NEXT :LOGGING: DONE(!) :ARCHIVE: %S_archive_%y.org::* Habits :ORG-TIME-BONUS: 0 :LAST_REPEAT: [2020-11-23 Mon 14:10] :SHOWFROMDATE: 2020-11-09 :RESET_CHECK_BOXES: t :END:
Re: Bring up a screen giving option to open a series of orgmode files
Hi Gerardo, Apart from what others have suggested, what you can do if you have a fixed list of files you want to quickly access, you could manually define keybindings for them. I have four main files where I capture things, so I define a submenu that allows me to access them quickly: (note: I got this idea originally from Sacha Chua's https://sachachua.com/blog/2015/02/learn-take-notes-efficiently-org-mode/) First, I define a helper function to define keybindings that open files. Note that this requires lexical binding to be enabled, so that the =lambda= creates a closure, otherwise the keybindings don't work. #+begin_src emacs-lisp (defun zz/add-file-keybinding (key file desc) (let ((key key) (file file) (desc desc)) (map! :desc (or desc file) key (lambda () (interactive) (find-file file) #+end_src (note #2: the map! macro is Doom Emacs-specific, should be replaced with `bind-key` or equivalent if you are not using Doom) Now I define keybindings to access my commonly-used org files. #+begin_src emacs-lisp (zz/add-file-keybinding "C-c z w" "~/Work/work.org.gpg" "work.org") (zz/add-file-keybinding "C-c z i" "~/org/ideas.org" "ideas.org") (zz/add-file-keybinding "C-c z p" "~/org/projects.org" "projects.org") (zz/add-file-keybinding "C-c z d" "~/org/diary.org" "diary.org") #+end_src This results in a submenu bound to "C-c z" which looks like this, and which allows me to quickly open my files: [image: image.png] --Diego On Sun, Nov 22, 2020 at 11:01 AM Gerardo Moro wrote: > Basically that :) > I'm looking for some setup that allows me to open a menu with a list of > files and shortcut access keys to open them. > > Probably somebody has done this before. > > Thank you, > GM >
Re: Bring up a screen giving option to open a series of orgmode files
> One question: what does do? Thanks Just wanted to indicate the cursor position. Best, Ihor Gerardo Moro writes: > Excellent stuff. > One question: what does do? Thanks > > El lun, 23 nov 2020 a las 10:13, Ihor Radchenko () > escribió: > >> > Org provides hyperlinks and that useful feature may be used as >> > on-the-fly information visualizer for many groups of smaller pieces of >> > information which could be obtained from some structure or found in >> > real time. >> >> Also, one could quickly select one of multiple links under heading by >> invoking C-c C-o with point at heading. >> >> In the following example, C-c C-o would raise a buffer listing all the >> links. Then, the links can be selected by pressing 1/2/3 (to open >> first/second/third link): >> >> *** NEXT Commit all the changes >> SCHEDULED: <2020-11-24 Tue .+1d> >> :PROPERTIES: >> :CREATED: [2019-04-18 Thu 09:40] >> :STYLE: habit >> :REPEAT_TO_STATE: NEXT >> :LOGGING: DONE(!) >> :ARCHIVE: %S_archive_%y.org::* Habits >> :ORG-TIME-BONUS: 0 >> :LAST_REPEAT: [2020-11-23 Mon 14:10] >> :SHOWFROMDATE: 2020-11-09 >> :RESET_CHECK_BOXES: t >> :END: >> >> - [[file:~/Org/]] >> - [[file:~/Knowledge_base/2016/Private/Get_started_with_org_mode/]] >> - file:/home/yantar92/Git/emacs-config >> >> Best, >> Ihor >> >> Jean Louis writes: >> >> > * Gerardo Moro [2020-11-23 07:00]: >> >> Thanks so much, now it works when using that elisp function. >> > >> > OK, it was your idea and I adopt the approach. If Elisp function >> > works, then shell command may not be important. >> > >> > Org provides hyperlinks and that useful feature may be used as >> > on-the-fly information visualizer for many groups of smaller pieces of >> > information which could be obtained from some structure or found in >> > real time. >> > >> > It is useful to think of Org as a meta hyperdocument visualizer and as >> > a self-helping and self-producing system. That would mean that few >> > simple functions could automate collection of pieces of information >> > for further human annotation and expansion. >> > >> > Memex >> > https://en.wikipedia.org/wiki/Memex >> > >> > Memacs >> > https://github.com/novoid/Memacs >> > >> > Semantic Synchrony >> > https://github.com/synchrony/smsn >>
Re: Bring up a screen giving option to open a series of orgmode files
Ok, thanks! El lun, 23 nov 2020 a las 11:12, Ihor Radchenko () escribió: > > One question: what does do? Thanks > > Just wanted to indicate the cursor position. > > Best, > Ihor > > Gerardo Moro writes: > > > Excellent stuff. > > One question: what does do? Thanks > > > > El lun, 23 nov 2020 a las 10:13, Ihor Radchenko () > > escribió: > > > >> > Org provides hyperlinks and that useful feature may be used as > >> > on-the-fly information visualizer for many groups of smaller pieces of > >> > information which could be obtained from some structure or found in > >> > real time. > >> > >> Also, one could quickly select one of multiple links under heading by > >> invoking C-c C-o with point at heading. > >> > >> In the following example, C-c C-o would raise a buffer listing all the > >> links. Then, the links can be selected by pressing 1/2/3 (to open > >> first/second/third link): > >> > >> *** NEXT Commit all the changes > >> SCHEDULED: <2020-11-24 Tue .+1d> > >> :PROPERTIES: > >> :CREATED: [2019-04-18 Thu 09:40] > >> :STYLE: habit > >> :REPEAT_TO_STATE: NEXT > >> :LOGGING: DONE(!) > >> :ARCHIVE: %S_archive_%y.org::* Habits > >> :ORG-TIME-BONUS: 0 > >> :LAST_REPEAT: [2020-11-23 Mon 14:10] > >> :SHOWFROMDATE: 2020-11-09 > >> :RESET_CHECK_BOXES: t > >> :END: > >> > >> - [[file:~/Org/]] > >> - [[file:~/Knowledge_base/2016/Private/Get_started_with_org_mode/]] > >> - file:/home/yantar92/Git/emacs-config > >> > >> Best, > >> Ihor > >> > >> Jean Louis writes: > >> > >> > * Gerardo Moro [2020-11-23 07:00]: > >> >> Thanks so much, now it works when using that elisp function. > >> > > >> > OK, it was your idea and I adopt the approach. If Elisp function > >> > works, then shell command may not be important. > >> > > >> > Org provides hyperlinks and that useful feature may be used as > >> > on-the-fly information visualizer for many groups of smaller pieces of > >> > information which could be obtained from some structure or found in > >> > real time. > >> > > >> > It is useful to think of Org as a meta hyperdocument visualizer and as > >> > a self-helping and self-producing system. That would mean that few > >> > simple functions could automate collection of pieces of information > >> > for further human annotation and expansion. > >> > > >> > Memex > >> > https://en.wikipedia.org/wiki/Memex > >> > > >> > Memacs > >> > https://github.com/novoid/Memacs > >> > > >> > Semantic Synchrony > >> > https://github.com/synchrony/smsn > >> >
Re: Bring up a screen giving option to open a series of orgmode files
Excellent stuff. One question: what does do? Thanks El lun, 23 nov 2020 a las 10:13, Ihor Radchenko () escribió: > > Org provides hyperlinks and that useful feature may be used as > > on-the-fly information visualizer for many groups of smaller pieces of > > information which could be obtained from some structure or found in > > real time. > > Also, one could quickly select one of multiple links under heading by > invoking C-c C-o with point at heading. > > In the following example, C-c C-o would raise a buffer listing all the > links. Then, the links can be selected by pressing 1/2/3 (to open > first/second/third link): > > *** NEXT Commit all the changes > SCHEDULED: <2020-11-24 Tue .+1d> > :PROPERTIES: > :CREATED: [2019-04-18 Thu 09:40] > :STYLE: habit > :REPEAT_TO_STATE: NEXT > :LOGGING: DONE(!) > :ARCHIVE: %S_archive_%y.org::* Habits > :ORG-TIME-BONUS: 0 > :LAST_REPEAT: [2020-11-23 Mon 14:10] > :SHOWFROMDATE: 2020-11-09 > :RESET_CHECK_BOXES: t > :END: > > - [[file:~/Org/]] > - [[file:~/Knowledge_base/2016/Private/Get_started_with_org_mode/]] > - file:/home/yantar92/Git/emacs-config > > Best, > Ihor > > Jean Louis writes: > > > * Gerardo Moro [2020-11-23 07:00]: > >> Thanks so much, now it works when using that elisp function. > > > > OK, it was your idea and I adopt the approach. If Elisp function > > works, then shell command may not be important. > > > > Org provides hyperlinks and that useful feature may be used as > > on-the-fly information visualizer for many groups of smaller pieces of > > information which could be obtained from some structure or found in > > real time. > > > > It is useful to think of Org as a meta hyperdocument visualizer and as > > a self-helping and self-producing system. That would mean that few > > simple functions could automate collection of pieces of information > > for further human annotation and expansion. > > > > Memex > > https://en.wikipedia.org/wiki/Memex > > > > Memacs > > https://github.com/novoid/Memacs > > > > Semantic Synchrony > > https://github.com/synchrony/smsn >
Re: Bring up a screen giving option to open a series of orgmode files
> Org provides hyperlinks and that useful feature may be used as > on-the-fly information visualizer for many groups of smaller pieces of > information which could be obtained from some structure or found in > real time. Also, one could quickly select one of multiple links under heading by invoking C-c C-o with point at heading. In the following example, C-c C-o would raise a buffer listing all the links. Then, the links can be selected by pressing 1/2/3 (to open first/second/third link): *** NEXT Commit all the changes SCHEDULED: <2020-11-24 Tue .+1d> :PROPERTIES: :CREATED: [2019-04-18 Thu 09:40] :STYLE: habit :REPEAT_TO_STATE: NEXT :LOGGING: DONE(!) :ARCHIVE: %S_archive_%y.org::* Habits :ORG-TIME-BONUS: 0 :LAST_REPEAT: [2020-11-23 Mon 14:10] :SHOWFROMDATE: 2020-11-09 :RESET_CHECK_BOXES: t :END: - [[file:~/Org/]] - [[file:~/Knowledge_base/2016/Private/Get_started_with_org_mode/]] - file:/home/yantar92/Git/emacs-config Best, Ihor Jean Louis writes: > * Gerardo Moro [2020-11-23 07:00]: >> Thanks so much, now it works when using that elisp function. > > OK, it was your idea and I adopt the approach. If Elisp function > works, then shell command may not be important. > > Org provides hyperlinks and that useful feature may be used as > on-the-fly information visualizer for many groups of smaller pieces of > information which could be obtained from some structure or found in > real time. > > It is useful to think of Org as a meta hyperdocument visualizer and as > a self-helping and self-producing system. That would mean that few > simple functions could automate collection of pieces of information > for further human annotation and expansion. > > Memex > https://en.wikipedia.org/wiki/Memex > > Memacs > https://github.com/novoid/Memacs > > Semantic Synchrony > https://github.com/synchrony/smsn
Re: Bring up a screen giving option to open a series of orgmode files
* Gerardo Moro [2020-11-23 07:00]: > Thanks so much, now it works when using that elisp function. OK, it was your idea and I adopt the approach. If Elisp function works, then shell command may not be important. Org provides hyperlinks and that useful feature may be used as on-the-fly information visualizer for many groups of smaller pieces of information which could be obtained from some structure or found in real time. It is useful to think of Org as a meta hyperdocument visualizer and as a self-helping and self-producing system. That would mean that few simple functions could automate collection of pieces of information for further human annotation and expansion. Memex https://en.wikipedia.org/wiki/Memex Memacs https://github.com/novoid/Memacs Semantic Synchrony https://github.com/synchrony/smsn
Re: Bring up a screen giving option to open a series of orgmode files
Thanks so much, now it works when using that elisp function. One thing yet: > I am confused. I don't understand the syntax. The line "find Documents/Org/ > -type f -iname "*.org" -exec echo " * [[file:`realpath {}`][{}]]" > > meta-org.org \;" should be a function of its own? That was shell command. Like in bash, dash, zsh and similar. You mean a shell command to be executed in M-x shell-command? I did so, but the output was <*.org" -exec echo " * [[file:`realpath {}`][{}]]" > meta-org.org \ Thanks, GM El dom, 22 nov 2020 a las 21:16, Jean Louis () escribió: > * Gerardo Moro [2020-11-22 22:04]: > > Thanks to both of you, > > > > find Documents/Org/ -type f -iname "*.org" -exec echo " * > [[file:`realpath > > {}`][{}]]" > meta-org.org \; > > > > Instead of "Documents/Org/" you should put there your own top > > directory where you keep Org files. > > > > Then open meta-org.org > > > > > > I am confused. I don't understand the syntax. The line "find > Documents/Org/ > > -type f -iname "*.org" -exec echo " * [[file:`realpath {}`][{}]]" > > > meta-org.org \;" should be a function of its own? > > That was shell command. Like in bash, dash, zsh and similar. > > > M-x find-dired RET Documents/Org/ RET -iname "*.org" RET > > > > Once I press "RET", what does -iname mean? I am new in Emacs. You mean, > > this is just using find-dired to browse the org files? > > For Emacs function it is like this one here: > > ;; setup here your main subtree > (setq my-org-dir "~/Documents/Org") > > (defun my-meta-org () > "Opens my meta-org.org on the fly with hyperlinks to other Org files." > (interactive) > (let ((org-files (directory-files my-org-dir t ".org")) > (meta-buffer "meta-org.org")) > (with-temp-buffer-window meta-buffer nil nil > (switch-to-buffer meta-buffer) > (org-mode) > (dolist (file org-files) > (insert (format "- [[%s][%s]]\n" file (file-name-base file))) > > then run: > > M-x my-meta-org > >
Re: Bring up a screen giving option to open a series of orgmode files
> On Nov 22, 2020, at 11:03 AM, Gerardo Moro wrote: > > > M-x find-dired RET Documents/Org/ RET -iname "*.org" RET > > Once I press "RET", what does -iname mean? I am new in Emacs. You mean, this > is just using find-dired to browse the org files? > See (info "(emacs) Dired and Find") and find-dired's help string (i.e. C-h f find-dired RET) the `-iname "*.org"' bit is used as ARG for which pursuing the man page for `find' is helpful. HTH, Chuck
Re: Bring up a screen giving option to open a series of orgmode files
* Gerardo Moro [2020-11-22 22:04]: > Thanks to both of you, > > find Documents/Org/ -type f -iname "*.org" -exec echo " * [[file:`realpath > {}`][{}]]" > meta-org.org \; > > Instead of "Documents/Org/" you should put there your own top > directory where you keep Org files. > > Then open meta-org.org > > > I am confused. I don't understand the syntax. The line "find Documents/Org/ > -type f -iname "*.org" -exec echo " * [[file:`realpath {}`][{}]]" > > meta-org.org \;" should be a function of its own? That was shell command. Like in bash, dash, zsh and similar. > M-x find-dired RET Documents/Org/ RET -iname "*.org" RET > > Once I press "RET", what does -iname mean? I am new in Emacs. You mean, > this is just using find-dired to browse the org files? For Emacs function it is like this one here: ;; setup here your main subtree (setq my-org-dir "~/Documents/Org") (defun my-meta-org () "Opens my meta-org.org on the fly with hyperlinks to other Org files." (interactive) (let ((org-files (directory-files my-org-dir t ".org")) (meta-buffer "meta-org.org")) (with-temp-buffer-window meta-buffer nil nil (switch-to-buffer meta-buffer) (org-mode) (dolist (file org-files) (insert (format "- [[%s][%s]]\n" file (file-name-base file))) then run: M-x my-meta-org
Re: Bring up a screen giving option to open a series of orgmode files
* Berry, Charles [2020-11-22 20:35]: > > * Gerardo Moro [2020-11-22 13:02]: > >> Basically that :) > >> I'm looking for some setup that allows me to open a menu with a list of > >> files and shortcut access keys to open them. > >> > >> Probably somebody has done this before. > > > > Let me invent something for you: > > > > find Documents/Org/ -type f -iname "*.org" -exec echo " * [[file:`realpath > > {}`][{}]]" > meta-org.org \; > > > > Instead of "Documents/Org/" you should put there your own top > > directory where you keep Org files. > > > > Then open meta-org.org > > > > Nice. > > Or for a one-off solution: > > M-x find-dired RET Documents/Org/ RET -iname "*.org" RET > > And use the dired buffer to navigate. When making meta-org files then users may annotate them better. But myself I am not using those concepts. As you pointed I am just greping and finding if I really need. My main Org file for business planning is in the register {C-x r j s} (set-register ?s '(file . "~/Documents/Org/MAIN.org")) Other log file is in `k' register, so I just put few in registers on the key binding and that's it.
Re: Bring up a screen giving option to open a series of orgmode files
Thanks to both of you, find Documents/Org/ -type f -iname "*.org" -exec echo " * [[file:`realpath {}`][{}]]" > meta-org.org \; Instead of "Documents/Org/" you should put there your own top directory where you keep Org files. Then open meta-org.org I am confused. I don't understand the syntax. The line "find Documents/Org/ -type f -iname "*.org" -exec echo " * [[file:`realpath {}`][{}]]" > meta-org.org \;" should be a function of its own? M-x find-dired RET Documents/Org/ RET -iname "*.org" RET Once I press "RET", what does -iname mean? I am new in Emacs. You mean, this is just using find-dired to browse the org files? Thank you both! El dom, 22 nov 2020 a las 19:35, Berry, Charles () escribió: > > > > On Nov 22, 2020, at 2:09 AM, Jean Louis wrote: > > > > * Gerardo Moro [2020-11-22 13:02]: > >> Basically that :) > >> I'm looking for some setup that allows me to open a menu with a list of > >> files and shortcut access keys to open them. > >> > >> Probably somebody has done this before. > > > > Let me invent something for you: > > > > find Documents/Org/ -type f -iname "*.org" -exec echo " * > [[file:`realpath {}`][{}]]" > meta-org.org \; > > > > Instead of "Documents/Org/" you should put there your own top > > directory where you keep Org files. > > > > Then open meta-org.org > > > > Nice. > > Or for a one-off solution: > > M-x find-dired RET Documents/Org/ RET -iname "*.org" RET > > And use the dired buffer to navigate. > > HTH, > > Chuck >
Re: Bring up a screen giving option to open a series of orgmode files
> On Nov 22, 2020, at 2:09 AM, Jean Louis wrote: > > * Gerardo Moro [2020-11-22 13:02]: >> Basically that :) >> I'm looking for some setup that allows me to open a menu with a list of >> files and shortcut access keys to open them. >> >> Probably somebody has done this before. > > Let me invent something for you: > > find Documents/Org/ -type f -iname "*.org" -exec echo " * [[file:`realpath > {}`][{}]]" > meta-org.org \; > > Instead of "Documents/Org/" you should put there your own top > directory where you keep Org files. > > Then open meta-org.org > Nice. Or for a one-off solution: M-x find-dired RET Documents/Org/ RET -iname "*.org" RET And use the dired buffer to navigate. HTH, Chuck
Re: Bring up a screen giving option to open a series of orgmode files
* Gerardo Moro [2020-11-22 13:02]: > Basically that :) > I'm looking for some setup that allows me to open a menu with a list of > files and shortcut access keys to open them. > > Probably somebody has done this before. Let me invent something for you: find Documents/Org/ -type f -iname "*.org" -exec echo " * [[file:`realpath {}`][{}]]" > meta-org.org \; Instead of "Documents/Org/" you should put there your own top directory where you keep Org files. Then open meta-org.org
Bring up a screen giving option to open a series of orgmode files
Basically that :) I'm looking for some setup that allows me to open a menu with a list of files and shortcut access keys to open them. Probably somebody has done this before. Thank you, GM