Re: Virtually prefix headlines according to content

2021-06-29 Thread Samuel Wales
along similar lines one possibility is to stick a symbol into the
stars.  similar code could also indicate that scheduled and deadline.

On 6/29/21, John Kitchin  wrote:
> you could use this alternative to just change the display without adding
> the tag:
>
> (org-map-entries (lambda ()
>   (looking-at org-heading-regexp)
>   (put-text-property (match-beginning 2) (match-end 2) 'display (concat "GH
> " (match-string 2
>  "+GITHUB={.+}")
>
> There might be some clever way to tie that onto fontlock, or some kind of
> hook to make it also work for entries as you create them.
> John
>
> ---
> Professor John Kitchin (he/him/his)
> Doherty Hall A207F
> Department of Chemical Engineering
> Carnegie Mellon University
> Pittsburgh, PA 15213
> 412-268-7803
> @johnkitchin
> http://kitchingroup.cheme.cmu.edu
>
>
>
> On Tue, Jun 29, 2021 at 9:35 AM Juan Manuel Macías 
> wrote:
>
>> Rodrigo Morales writes:
>>
>> > What I would like to know is whether it is possible to format a
>> > headline
>> > by taking into consideration the properties it has. For example, in
>> > this
>> > specific scenario, I would like to make all headlines that have a
>> > "GITHUB" to show "GH" before the actual headline (the content would
>> > look
>> > like this).
>>
>> You can define a function with `org-map-entries' that adds (for example)
>> a
>> tag :github: to all headers with the property GITHUB:
>>
>> #+begin_src emacs-lisp
>>   (defun add-github-tag ()
>> (interactive)
>> (org-map-entries (lambda ()
>>(save-restriction
>>  (save-excursion
>>(org-narrow-to-subtree)
>>(goto-char (point-min))
>>(end-of-line)
>>(insert "  :github:"
>>  "+GITHUB={.+}"))
>>
>> (add-hook 'org-mode-hook #'add-github-tag)
>> #+end_src
>>
>> Best regards,
>>
>> Juan Manuel
>>
>>
>>
>


-- 
The Kafka Pandemic

Please learn what misopathy is.
https://thekafkapandemic.blogspot.com/2013/10/why-some-diseases-are-wronged.html



Re: Virtually prefix headlines according to content

2021-06-29 Thread John Kitchin
you could use this alternative to just change the display without adding
the tag:

(org-map-entries (lambda ()
  (looking-at org-heading-regexp)
  (put-text-property (match-beginning 2) (match-end 2) 'display (concat "GH
" (match-string 2
 "+GITHUB={.+}")

There might be some clever way to tie that onto fontlock, or some kind of
hook to make it also work for entries as you create them.
John

---
Professor John Kitchin (he/him/his)
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



On Tue, Jun 29, 2021 at 9:35 AM Juan Manuel Macías 
wrote:

> Rodrigo Morales writes:
>
> > What I would like to know is whether it is possible to format a headline
> > by taking into consideration the properties it has. For example, in this
> > specific scenario, I would like to make all headlines that have a
> > "GITHUB" to show "GH" before the actual headline (the content would look
> > like this).
>
> You can define a function with `org-map-entries' that adds (for example) a
> tag :github: to all headers with the property GITHUB:
>
> #+begin_src emacs-lisp
>   (defun add-github-tag ()
> (interactive)
> (org-map-entries (lambda ()
>(save-restriction
>  (save-excursion
>(org-narrow-to-subtree)
>(goto-char (point-min))
>(end-of-line)
>(insert "  :github:"
>  "+GITHUB={.+}"))
>
> (add-hook 'org-mode-hook #'add-github-tag)
> #+end_src
>
> Best regards,
>
> Juan Manuel
>
>
>


Re: Virtually prefix headlines according to content

2021-06-29 Thread Juan Manuel Macías
Rodrigo Morales writes:

> What I would like to know is whether it is possible to format a headline
> by taking into consideration the properties it has. For example, in this
> specific scenario, I would like to make all headlines that have a
> "GITHUB" to show "GH" before the actual headline (the content would look
> like this).

You can define a function with `org-map-entries' that adds (for example) a
tag :github: to all headers with the property GITHUB:

#+begin_src emacs-lisp 
  (defun add-github-tag ()
(interactive)
(org-map-entries (lambda ()
   (save-restriction
 (save-excursion
   (org-narrow-to-subtree)
   (goto-char (point-min))
   (end-of-line)
   (insert "  :github:"
 "+GITHUB={.+}"))

(add-hook 'org-mode-hook #'add-github-tag)
#+end_src

Best regards,

Juan Manuel 




Re: Virtually prefix headlines according to content

2021-06-29 Thread indieterminacy
Hi Rodrigo,

regarding syntax, it would be cool if you aligned the style to match Emacs' 
Hyperboles GitHub style:
=> https://github.com/rswgnu/hyperbole/blob/master/DEMO

```
** Github (Remote) References

For software developers who use Github for publishing and version control,
Github links are similar to social media links but reference specific Github
web pages.

Press the Action Key on github@rswgnu to go to RSW's gihub home page.
gh@rswgnu works too. 

References to project home pages look like this (the / is required):

  github#/hyperbole   (uses user default setting)
  github#/rswgnu/hyperbole

References to specific commits use the # hash symbol and short versions
of the git commit hash code:

  gh#rswgnu/hyperbole/5ae3550 (if include user, must include project)
  github#hyperbole/5ae3550(project can be given with user default)
  gh#5ae3550  (user and project defaults are used)

An Action Key press on the first commit reference above works because
user, project and commit hash code are all included.  The second and
third versions require the setup of default values, as explained in
the commentary near the top of "hib-social.el".

Similarly, the same file above explains how to link to pull requests,
issues, branches and tags.

```

FYI, Hyperbole has been making improvements with regards to utility with 
Orgmode.
It may be worth you looking into how that functionality is implemented.

Kind regards,


Jonathan McHugh

June 29, 2021 1:27 PM, "Rodrigo Morales"  wrote:

> * The context
> 
> When taking notes in Org Mode, I usually store Github links of the
> repositories that are relevant to the topic I'm taking notes as
> headlines. For this reason, I've multiple headlines of the form within
> my notes (from my notes on Graph Theory):
> 
> #+BEGIN_SRC org
> * cytoscape/cytoscape.js: Library for visualisation and analysis
> :PROPERTIES:
> :GITHUB: cytoscape/cytoscape.js
> :END:
> 
> * simongray/clojure-graph-resources: List of Clojure resources
> :PROPERTIES:
> :GITHUB: simongray/clojure-graph-resources
> :END:
> 
> * DONE What is an undirected graph? ...
> * DONE What is a directed graph? ...
> #+END_SRC
> 
> * The question
> 
> What I would like to know is whether it is possible to format a headline
> by taking into consideration the properties it has. For example, in this
> specific scenario, I would like to make all headlines that have a
> "GITHUB" to show "GH" before the actual headline (the content would look
> like this).
> 
> #+BEGIN_SRC org
> * GH cytoscape/cytoscape.js: Library for visualisation and analysis ...
> * GH simongray/clojure-graph-resources: List of Clojure resources ...
> * TODO What is an undirected graph? ...
> * TODO What is a directed graph? ...
> #+END_SRC
> 
> The reason why I'm asking this is because thus when collapsing
> headlines, I would know that an specific headline is a Github
> repository. In general terms, to ease the readibility of my Org Mode
> file.
> 
> * Additional context
> 
> A similar behavior is provided by org-num-mode (built-in function), so I
> guess that some way to accomplish this would be to look at the
> implementation of that mode and try to understand how that is
> accomplished.
> 
> Any help is appreciated,
> Rodrigo Morales.



Re: Virtually prefix headlines according to content

2021-06-29 Thread Eric S Fraga
On Tuesday, 29 Jun 2021 at 06:25, Rodrigo Morales wrote:
> What I would like to know is whether it is possible to format a headline
> by taking into consideration the properties it has. For example, in this
> specific scenario, I would like to make all headlines that have a
> "GITHUB" to show "GH" before the actual headline (the content would look
> like this).

I don't think there is anything specifically designed to do what you
want.  However, you could modify how you enter these headlines: maybe
define an org capture rule for this purpose (e.g. a github rule) that
automatically adds the GH to the headline.

Another alternative is to use column view to show all your headlines
with the specific property as one of the columns.  This is what I do for
certain org files where headlines have a number of different properties
(e.g. my bibliography file).
-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.6-571-gc591be
: Latest paper written in org: https://arxiv.org/abs/2106.05096



Virtually prefix headlines according to content

2021-06-29 Thread Rodrigo Morales


* The context

When taking notes in Org Mode, I usually store Github links of the
repositories that are relevant to the topic I'm taking notes as
headlines. For this reason, I've multiple headlines of the form within
my notes (from my notes on Graph Theory):

#+BEGIN_SRC org
* cytoscape/cytoscape.js: Library for visualisation and analysis
:PROPERTIES:
:GITHUB: cytoscape/cytoscape.js
:END:

* simongray/clojure-graph-resources: List of Clojure resources
:PROPERTIES:
:GITHUB: simongray/clojure-graph-resources
:END:

* DONE What is an undirected graph? ...
* DONE What is a directed graph? ...
#+END_SRC

* The question

What I would like to know is whether it is possible to format a headline
by taking into consideration the properties it has. For example, in this
specific scenario, I would like to make all headlines that have a
"GITHUB" to show "GH" before the actual headline (the content would look
like this).

#+BEGIN_SRC org
* GH cytoscape/cytoscape.js: Library for visualisation and analysis ...
* GH simongray/clojure-graph-resources: List of Clojure resources ...
* TODO What is an undirected graph? ...
* TODO What is a directed graph? ...
#+END_SRC

The reason why I'm asking this is because thus when collapsing
headlines, I would know that an specific headline is a Github
repository. In general terms, to ease the readibility of my Org Mode
file.

* Additional context

A similar behavior is provided by org-num-mode (built-in function), so I
guess that some way to accomplish this would be to look at the
implementation of that mode and try to understand how that is
accomplished.

Any help is appreciated,
Rodrigo Morales.