Re: [O] org capture properties from a list of strings?
Hello, Xebar Saramwrites: > (add-to-list 'org-capture-templates > '("f" "Food" It should be `("f" "Food" > entry > (file+headline (concat pmm "/org/files/agenda/food.org") "Inbox") missing comma and `format' function: ,(format "*COOK %%^{Recipe Name} ... > "* COOK %^{Recipe Name} > :PROPERTIES: > :ID: %(org-id-uuid) > :Time: %^{minutes|%s} > :type: %^{Type?|%s} > :END: > > > %^{prompt|*** Ingredients} > %? > %^{prompt|*** Preparation} > > " Don't forget to double all percent signs that are not place holders. Regards, -- Nicolas Goaziou
Re: [O] org capture properties from a list of strings?
Hi again once again really appreciate the answer and apologize in advance for my limited grasp of coding. so i managed i think to follow your example and now have this as my capture template (setq org-capture-templates nil) (setq org-capture-templates-contexts nil) (add-to-list 'org-capture-templates '("f" "Food" entry (file+headline (concat pmm "/org/files/agenda/food.org") "Inbox") "* COOK %^{Recipe Name} :PROPERTIES: :ID: %(org-id-uuid) :Time: %^{minutes|%s} :type: %^{Type?|%s} :END: %^{prompt|*** Ingredients} %? %^{prompt|*** Preparation} " (mapconcat #'identity '("1" "2" "3" "4" "5") "|") (mapconcat #'identity '("Indian" "Thai" "Vietnamese" "Asian" "Chinese") "|") "Capture Template for food recipe" )) yet i only get offered a %s as a option and not the string in my capture process. im sure my syntax is way off, can anyone stir me in the right direction? best Z On Tue, Apr 25, 2017 at 7:19 PM, Nicolas Goaziouwrote: > Hello, > > Xebar Saram writes: > > > thx Nicolas > > > > really appreciate your answer! though im very week in coding so im > > struggling to understand. but perhaps an example will help. the following > > is a part of my capture: > > > > (add-to-list 'org-capture-templates > > '("ff" "Food" > > entry > > (file+headline (concat pmm "/org/files/agenda/food.org") "Inbox") > > "* COOK %^{Recipe Name} > > :PROPERTIES: > > :ID: %(org-id-uuid) > > :Time: %^{minutes|-|10|15|30|60} > > :Rating: %^{rating?|-|1|2|3|4|5} > > :Source: %x > > :Cuisine: > > %^{Cuisine?|-|Indian|Thai|Vietnamese|Asian|Chinese| > Israeli|Italian|American|EastEuro|Mexican|French|Persian|Austrian} > > :Type: %^{Type?|-|main|side|starter|sweets|drinks|sauce|breakfast} > > :Main.ing: > > %^{main.ing?|-|chicken|beef|potatos|fish|seafood|shrimp| > rice|pasta|fruit} > > :Serves: %^{Serves?|-|1|2|4|6|8} > > :END: > > > > %^{prompt|*** Ingredients} > > %? > > %^{prompt|*** Preparation} > > > > " > > "Capture Template for food recipe" > > )) > > > > > > so do i need a separate mapconcat #'number-to-string for each property > > value (time,type etc?) > > Yes, you do. However, #'number-to-string is only useful if you're > inserting numbers. I think you can use the more general > #'prin1-to-string everywhere instead, e.g., > > (mapconcat #'prin1-to-string '(Indian Thai Vietnamese Asian Chinese) "|") > > or even, using strings > > (mapconcat #'identity '("Indian" "Thai" "Vietnamese" "Asian" "Chinese") > "|") > > > and how dows the %s know which mapconcat command to refer to? > > The are processed by order. The first "%s" refers to the first > mapconcat, the second "%s" to the second mapconcat, and so on... > > Regards, > > -- > Nicolas Goaziou0x80A93738 >
Re: [O] org capture properties from a list of strings?
Hello, Xebar Saramwrites: > thx Nicolas > > really appreciate your answer! though im very week in coding so im > struggling to understand. but perhaps an example will help. the following > is a part of my capture: > > (add-to-list 'org-capture-templates > '("ff" "Food" > entry > (file+headline (concat pmm "/org/files/agenda/food.org") "Inbox") > "* COOK %^{Recipe Name} > :PROPERTIES: > :ID: %(org-id-uuid) > :Time: %^{minutes|-|10|15|30|60} > :Rating: %^{rating?|-|1|2|3|4|5} > :Source: %x > :Cuisine: > %^{Cuisine?|-|Indian|Thai|Vietnamese|Asian|Chinese|Israeli|Italian|American|EastEuro|Mexican|French|Persian|Austrian} > :Type: %^{Type?|-|main|side|starter|sweets|drinks|sauce|breakfast} > :Main.ing: > %^{main.ing?|-|chicken|beef|potatos|fish|seafood|shrimp|rice|pasta|fruit} > :Serves: %^{Serves?|-|1|2|4|6|8} > :END: > > %^{prompt|*** Ingredients} > %? > %^{prompt|*** Preparation} > > " > "Capture Template for food recipe" > )) > > > so do i need a separate mapconcat #'number-to-string for each property > value (time,type etc?) Yes, you do. However, #'number-to-string is only useful if you're inserting numbers. I think you can use the more general #'prin1-to-string everywhere instead, e.g., (mapconcat #'prin1-to-string '(Indian Thai Vietnamese Asian Chinese) "|") or even, using strings (mapconcat #'identity '("Indian" "Thai" "Vietnamese" "Asian" "Chinese") "|") > and how dows the %s know which mapconcat command to refer to? The are processed by order. The first "%s" refers to the first mapconcat, the second "%s" to the second mapconcat, and so on... Regards, -- Nicolas Goaziou0x80A93738
Re: [O] org capture properties from a list of strings?
thx Nicolas really appreciate your answer! though im very week in coding so im struggling to understand. but perhaps an example will help. the following is a part of my capture: (add-to-list 'org-capture-templates '("ff" "Food" entry (file+headline (concat pmm "/org/files/agenda/food.org") "Inbox") "* COOK %^{Recipe Name} :PROPERTIES: :ID: %(org-id-uuid) :Time: %^{minutes|-|10|15|30|60} :Rating: %^{rating?|-|1|2|3|4|5} :Source: %x :Cuisine: %^{Cuisine?|-|Indian|Thai|Vietnamese|Asian|Chinese|Israeli|Italian|American|EastEuro|Mexican|French|Persian|Austrian} :Type: %^{Type?|-|main|side|starter|sweets|drinks|sauce|breakfast} :Main.ing: %^{main.ing?|-|chicken|beef|potatos|fish|seafood|shrimp|rice|pasta|fruit} :Serves: %^{Serves?|-|1|2|4|6|8} :END: %^{prompt|*** Ingredients} %? %^{prompt|*** Preparation} " "Capture Template for food recipe" )) so do i need a separate mapconcat #'number-to-string for each property value (time,type etc?) and how dows the %s know which mapconcat command to refer to? thx alot again Z On Tue, Apr 25, 2017 at 11:00 AM, Nicolas Goaziouwrote: > Hello, > > Xebar Saram writes: > > > kinda stuck with this and cant find any documentation. would also be glad > > to know its not possible so i can perhaps explore another method :) > > > > im basically wondering if instead of manually imputing string separated > > with | in the : %^{} capture template i can provide a lisp way to send a > > pre defined list of strings ("a" "b" "c") etc.. anyone has any clue? > > Since it is pre-defined, you can do the following during capture > definition > > (format "* Headline > :PROPERTIES: > :Time: %%^{minutes|-|%s} > :Rating: %%^{rating?|-|%s} > :END:" > (mapconcat #'number-to-string '(10 15 30 60) "|") > (mapconcat #'number-to-string '(1 2 3 4 5) "|")) > > Can't you? > > Regards, > > -- > Nicolas Goaziou >
Re: [O] org capture properties from a list of strings?
Hello, Xebar Saramwrites: > kinda stuck with this and cant find any documentation. would also be glad > to know its not possible so i can perhaps explore another method :) > > im basically wondering if instead of manually imputing string separated > with | in the : %^{} capture template i can provide a lisp way to send a > pre defined list of strings ("a" "b" "c") etc.. anyone has any clue? Since it is pre-defined, you can do the following during capture definition (format "* Headline :PROPERTIES: :Time: %%^{minutes|-|%s} :Rating: %%^{rating?|-|%s} :END:" (mapconcat #'number-to-string '(10 15 30 60) "|") (mapconcat #'number-to-string '(1 2 3 4 5) "|")) Can't you? Regards, -- Nicolas Goaziou
Re: [O] org capture properties from a list of strings?
Hi again all kinda stuck with this and cant find any documentation. would also be glad to know its not possible so i can perhaps explore another method :) im basically wondering if instead of manually imputing string separated with | in the : %^{} capture template i can provide a lisp way to send a pre defined list of strings ("a" "b" "c") etc.. anyone has any clue? best Z On Sun, Apr 23, 2017 at 5:41 PM, Xebar Saramwrote: > Hi all > > so i currently have this in my capture templates > > > :PROPERTIES: > :Time: %^{minutes|-|10|15|30|60} > :Rating: %^{rating?|-|1|2|3|4|5} > :END: > > i was wondering if instead of manually putting the values in each line i > can perhaps supply a list like this > > > (defun returns-a-list-of-strings2 > () > (list "1" "2" "3" "4" "5" )) > > is that somehow possible where i could have something like this > > > :Rating: %^{rating?|(returns-a-list-of-strings2)} > > is that possible at all? > > best > > Z >
[O] org capture properties from a list of strings?
Hi all so i currently have this in my capture templates :PROPERTIES: :Time: %^{minutes|-|10|15|30|60} :Rating: %^{rating?|-|1|2|3|4|5} :END: i was wondering if instead of manually putting the values in each line i can perhaps supply a list like this (defun returns-a-list-of-strings2 () (list "1" "2" "3" "4" "5" )) is that somehow possible where i could have something like this :Rating: %^{rating?|(returns-a-list-of-strings2)} is that possible at all? best Z