diff options
| author | Natanael Copa <ncopa@alpinelinux.org> | 2014-05-26 17:47:23 +0200 |
|---|---|---|
| committer | Natanael Copa <ncopa@alpinelinux.org> | 2014-05-26 17:47:23 +0200 |
| commit | 2dfdffe7468e4d5ceab3b5bf0d52f47a24369114 (patch) | |
| tree | 17dcd58ad03a2dcf3d2a532405cf493c1eb6a1c2 /_scripts | |
| parent | 602901442d01bf398d5dd6e11395ebbde6c8736a (diff) | |
| download | alpine-mksite-2dfdffe7468e4d5ceab3b5bf0d52f47a24369114.tar.bz2 alpine-mksite-2dfdffe7468e4d5ceab3b5bf0d52f47a24369114.tar.xz | |
generate_page: mark active page in navbar
Diffstat (limited to '_scripts')
| -rw-r--r-- | _scripts/generate_page.lua | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/_scripts/generate_page.lua b/_scripts/generate_page.lua index ad5f6d9..e3ef183 100644 --- a/_scripts/generate_page.lua +++ b/_scripts/generate_page.lua @@ -34,7 +34,16 @@ function read_layout(file) end end -function generate_navbar(active) +function ref_class(pagename, href) + local refpage = href:gsub(".html$", "") + refpage = refpage:gsub("/$", "/index") + if refpage:match("^/?"..pagename.."$") then + return ' class="active"' + end + return '' +end + +function generate_navbar(pagename) local f = assert(io.open("_navbar.yaml")) local nav = yaml.load(f:read("*a")) f:close() @@ -43,8 +52,8 @@ function generate_navbar(active) data = ('%s<span class="%s">'):format(data, align) for _,t in pairs(menu) do for label, ref in pairs(t) do - data = ('%s<a href="%s">%s</a>'):format(data, - ref, label) + data = ('%s<a href="%s"%s>%s</a>'):format(data, + ref, ref_class(pagename,ref), label) end end data = data ..'</span>\n' @@ -60,7 +69,7 @@ end page, content = read_markdown(assert(arg[1])) layout = read_layout(arg[1]) -page.navbar = generate_navbar() +page.navbar = generate_navbar(page.pagename) page.content = replace_tags(content, page) |
