This worked, thank y'all!

On Thursday, March 28, 2019 at 10:32:21 PM UTC+13, Sorawee Porncharoenwase 
wrote:
>
> You might want to try this pollen.rkt
>
> #lang racket
>
> (provide (all-defined-out))
>
> (define scuttlebutts
>   (hash
>    "Gillis" "@a;lksjd2j3j1k2j.sha256f"
>    "Brenda" "@s8/sj31l13j2k32.sha256"))
>
> (define (author name)
>   `(details (summary ,name) (p ,(hash-ref scuttlebutts name))))
>
> And here’s the output:
>
> '(root
>   (title "A Cool Essay")
>   "\n"
>   (details (summary "Brenda") (p "@s8/sj31l13j2k32.sha256"))
>   "\n"
>   "\n"
>   "this is the essay and all the paragraphs and all that....")
>
> Notice the following changes:
>
>    1. I convert keys of scuttlebutts to strings so that I do not need to 
>    convert name in the author function to symbol. 
>    2. Since name will always be one string in your use case, you don’t 
>    need to use the rest argument. 
>    3. You want to compute (hash-ref scuttlebutts name), so it’s needed to 
>    be unquoted with ,. 
>
> To perfectly get the output that you indicate above, you also need to 
> define the root function that decodes paragraphs. You also need to define 
> the title function which creates the h1 tag.
>
> On Thu, Mar 28, 2019 at 12:42 AM Zach Mandeville <[email protected] 
> <javascript:>> wrote:
>
>> Hello!
>>
>> Thank you v. much for dreaming up and creating pollen (and thanks to all 
>> y'all making cool things with it!).  I discovered it through an article 
>> about medium, from practical typography, that was shared with me.  Pollen 
>> represents exactly what I want for a web publishing tool.  Especially the 
>> notion of creating your own tags, that can then be rendered however you'd 
>> like in html (or other forms).  That's philosophically just so good to me!
>>
>> The dilemma I have now, though, is that I started to write in pollen 
>> first, defining tags as I went along, and then found out I didn't quite get 
>> how to turn them into the html elements I want.  Worse, I enjoy writing in 
>> the pollen style so much  that I can't go back.  So I have an html.pm 
>> that I can't quite figure out how to turn into the .html i'm envisioning, 
>> and hoping someone here might be able to help?
>>
>> What I'd like is to have a list of essays by different authors, and each 
>> author has an id attached to them (it's authors from Scuttlebutt 
>> <https://scuttlebutt.nz>, and so each person has a public key ID 
>> associated with them).  the ID is long and strange, and so I don't wanna 
>> have to enter it each time.
>>
>> So for an essay, I'd have:
>>
>> ◊title{A Cool Essay}
>> ◊author{Brenda}
>>
>>
>> this is the essay and all the paragraphs and all that....
>>
>> And I'd want this html:
>>
>> <h1>A Cool Essay</h1>
>> <details>
>>   <summary>Brenda</summary>
>>   <p>@s8/sj31l13j2k32.sha256</p>
>> </details>
>> <p>this is the essay and all the paragraphs and all that....</p>
>>
>> In my pollen.rkt I created a meta hash that had each author's name and 
>> their ID:
>>
>> (define scuttlebutts
>>   (hash
>>    'Gillis "@a;lksjd2j3j1k2j.sha256f"
>>    'Brenda "@s8/sj31l13j2k32.sha256"))
>>
>> And below this I wanted a function to turn ◊author into that details 
>> element by referencing ◊author text against that 'scuttlebutts' meta...but, 
>> I can't  get it to work.  The closest I got is this:
>>
>> (define (author . elements)
>>   `(details (summary ,@elements)(p `(select-from-metas elements 
>> scuttlebutts))))
>>
>>
>> Essentially, I can't figure out how to have the value of the for the p 
>> x-expression to be the result of the select-from-metas expression.  I know 
>> it's likely something to do with quoting or some such, but I don't have 
>> enough racket knowledge (yet) to quite make sense of it.
>>
>> So my question is: what would be the best way to accomplish this?  Is 
>> there a correction to my function I'm missing, or would y'all recommend 
>> going about this in a wholly different way?
>>
>> Thank you!  And thank you again for this wonderfully strange language!
>>
>>
>>
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Pollen" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Pollen" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to