diff options
author | Xiao-Le Deng <xldeng@whu.edu.cn> | 2020-06-05 10:15:14 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-05 10:15:14 +0300 |
commit | 12a3abfa2c2e6c2b67a8c8a9ae33a2f4834d4800 (patch) | |
tree | 2eb71a91691c7aee11ac3cffc1db3387945d554b | |
parent | 19bb01a6d805a05c9f8279c8d12d847e88129c85 (diff) |
search and content
add the search and content function
-rw-r--r-- | layouts/partials/search.html | 3 | ||||
-rw-r--r-- | layouts/partials/toc.html | 44 |
2 files changed, 47 insertions, 0 deletions
diff --git a/layouts/partials/search.html b/layouts/partials/search.html new file mode 100644 index 0000000..53b7b9a --- /dev/null +++ b/layouts/partials/search.html @@ -0,0 +1,3 @@ +<div class="container text-center mt-3"> + <iframe src="https://duckduckgo.com/search.html?site={{.Site.BaseURL}}&prefill={{.Site.Params.search.placeholder}}" style="overflow:hidden;margin:0;padding:0;max-width:80%;height:40px;" frameborder="0"></iframe> +</div>
\ No newline at end of file diff --git a/layouts/partials/toc.html b/layouts/partials/toc.html new file mode 100644 index 0000000..7b4ac78 --- /dev/null +++ b/layouts/partials/toc.html @@ -0,0 +1,44 @@ +<!-- toc.html --> +<!-- ignore empty links with + --> +{{ $headers := findRE "<h[1-4].*?>(.|\n])+?</h[1-4]>" .Content }} +<!-- at least one header to link to --> +{{ if ge (len $headers) 1 }} +{{ $h1_n := len (findRE "(.|\n])+?" .Content) }} +{{ $re := (cond (eq $h1_n 0) "<h[2-4]" "<h[1-4]") }} +{{ $renum := (cond (eq $h1_n 0) "[2-4]" "[1-4]") }} + +<!--Scrollspy--> +<div class="toc"> + + <div class="page-header"><strong>目录</strong></div> + + <div id="page-scrollspy" class="toc-nav"> + + {{ range $headers }} + {{ $header := . }} + {{ range first 1 (findRE $re $header 1) }} + {{ range findRE $renum . 1 }} + {{ $next_heading := (cond (eq $h1_n 0) (sub (int .) 1 ) (int . ) ) }} + {{ range seq $next_heading }} + <ul class="nav"> + {{end}} + {{ $anchorId := (replaceRE ".* id=\"(.*?)\".*" "$1" $header ) }} + <li class="nav-item"> + <a class="nav-link text-left" href="#{{ $anchorId }}"> + {{ $header | plainify | htmlUnescape }} + </a> + </li> + <!-- close list --> + {{ range seq $next_heading }} + </ul> + {{ end }} + {{ end }} + {{ end }} + {{ end }} + + </div> + +</div> +<!--Scrollspy--> + +{{ end }}
\ No newline at end of file |