The reason it was so hard to pass in a block outside of a template is because you're not supposed to do that :/
you're supposed to just use moonscript to build it
This commit is contained in:
65
site.moon
65
site.moon
@@ -43,6 +43,7 @@ rootname = (str) ->
|
||||
result = string.gsub str, "%..+", ""
|
||||
result
|
||||
|
||||
reflect = (obj) -> [key for key, value in pairs obj]
|
||||
last = (list) -> list[#list]
|
||||
reverse = (list={}) -> [item for item in *list[#list, 1, -1]]
|
||||
|
||||
@@ -191,6 +192,12 @@ four1 = (template) =>
|
||||
-- p list
|
||||
-- return [common.fill_ignoring_pre template, item for item in *list]
|
||||
|
||||
get_posts = (limit) =>
|
||||
pages = @site\query_pages { is_a: "post" }
|
||||
table.sort pages, (a, b) -> a.source > b.source
|
||||
limit_or_page_count = math.min limit or #pages, #pages
|
||||
[post for post in *pages[1, limit_or_page_count]]
|
||||
|
||||
sitegen.create =>
|
||||
@site_title = "WebDevCat.me"
|
||||
@app_name = "stasis"
|
||||
@@ -200,6 +207,7 @@ sitegen.create =>
|
||||
@list2 = list2
|
||||
@list3 = list3
|
||||
|
||||
@some_name = "robertino farterino"
|
||||
@some_list = {
|
||||
{say: "this"}
|
||||
{say: "that"}
|
||||
@@ -210,15 +218,60 @@ sitegen.create =>
|
||||
@two = two
|
||||
@three = three
|
||||
@four = (arg, _) =>
|
||||
pages = @site\query_pages { is_a: "post" }
|
||||
table.sort pages, (a, b) -> a.source > b.source
|
||||
limit_or_page_count = math.min arg.limit or #pages, #pages
|
||||
|
||||
unpack for page in *pages[1, limit_or_page_count]
|
||||
common.fill_ignoring_pre template, listing_info page
|
||||
unpack for post in *get_posts @, arg.limit
|
||||
common.fill_ignoring_pre template, listing_info post
|
||||
|
||||
@map = (...) => cosmo.map ...
|
||||
|
||||
@do_cards = {{rank: "Ace", suit: "Spades"}, {rank: "Queen", suit: "Diamonds"}}
|
||||
|
||||
@do_other = (arg, _) =>
|
||||
{{rank: "Ace", suit: "Spades"}, {rank: "Queen", suit: "Diamonds"}}
|
||||
|
||||
@do_unpack = (arg, _) =>
|
||||
unpack {"three", "five", "seven"}
|
||||
|
||||
@just_render_the_damn_list = (arg={}, _) =>
|
||||
posts = [listing_info post for post in *get_posts @, arg.limit]
|
||||
|
||||
html.build ->
|
||||
return for post in *posts
|
||||
tag.section {
|
||||
tag.h3 { tag.a { post.title, href: post.url }}
|
||||
tag.time { post.publish_date }
|
||||
"—"
|
||||
post.blurb
|
||||
tag.a { "Read post →", href: post.url }
|
||||
}
|
||||
|
||||
-- [tag.section { "hoh" } for post in *posts]
|
||||
-- for key,value in pairs(o) do
|
||||
-- print("found member " .. key);
|
||||
-- end
|
||||
-- p @@__name
|
||||
-- p @.source
|
||||
-- p reflect @
|
||||
-- p reflect @renderer
|
||||
|
||||
-- unpack for post in *get_posts @, arg.limit
|
||||
-- common.fill_ignoring_pre template, listing_info post
|
||||
-- return for post in *get_posts @, arg.limit
|
||||
-- p reflect post
|
||||
-- p reflect post
|
||||
-- p post\get_tpl_scope!
|
||||
-- p post.meta
|
||||
-- common.fill_ignoring_pre template, listing_info post
|
||||
-- p reflect post
|
||||
-- p html_renderer
|
||||
-- p html_renderer.__base
|
||||
-- p html_renderer.cosmo_helpers
|
||||
-- html_renderer.render
|
||||
-- p post.renderer.helpers post
|
||||
-- p html_renderer.__base
|
||||
-- p reflect @@__base
|
||||
|
||||
-- html.build -> tag.h2 { "justrender call: $some_name (doesn't work)" }
|
||||
|
||||
add_all = (files) ->
|
||||
for path in *files
|
||||
add path,
|
||||
|
||||
Reference in New Issue
Block a user