forked from matcornic/hugo-theme-learn
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
piratify: use some magic to generate Pirates TOC matcornic#469
- Loading branch information
Showing
5 changed files
with
140 additions
and
111 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
{{- $context := .context }} | ||
{{- $content := .content }} | ||
{{- $pagefield := cond (ne $content nil) nil (.pagefield | default "Content") }} | ||
{{- $writenotice := cond (ne $content nil) false (cond (eq $pagefield "Content") true false) }} | ||
{{- $langtrg := "pir" }} | ||
{{- $langsrc := cond (eq $context.Page.Lang $langtrg) (.langsrc | default "en") $context.Page.Lang }} | ||
{{- $baseURL := urls.Parse site.BaseURL }} | ||
{{- $baseURLpath := $baseURL.Path | default "/" }} | ||
{{- $l := "" }} | ||
{{- $c := "" }} | ||
{{- range $context.Page.AllTranslations }} | ||
{{- if eq .Language.Lang $langsrc }} | ||
{{- $l = .RelPermalink }} | ||
{{- if ne $content nil }} | ||
{{- $c = $content }} | ||
{{- else if eq $pagefield "Content" }} | ||
{{- $c = .Content }} | ||
{{- else if eq $pagefield "TableOfContents" }} | ||
{{- $c = .TableOfContents }} | ||
{{- end }} | ||
{{- break }} | ||
{{- end }} | ||
{{- end }} | ||
{{- if eq $context.Page.Lang $langtrg }} | ||
{{- if $writenotice }} | ||
{{- partial "shortcodes/notice.html" (dict | ||
"context" . | ||
"content" "<p>Fello' pirrrates, wrrrit'n are not fer us as yer can see! Also be awarrre <b>some stuff may not work</b> in this trrranslat'n. Like see'n <b>Merrrmaids</b>, do'n <b>math or chemistrrry</b> and stuff.</p>\n" | ||
"icon" "skull-crossbones" | ||
"style" "warning" | ||
"title" "Arrr! Pirrrates" | ||
) }} | ||
{{- end }} | ||
{{- $words := dict | ||
"Hugo" "Cap'n Hugo" | ||
"Info" "Ahoi" | ||
"Note" "Avast" | ||
"Tip" "Smarrrt Arrrse" | ||
"Warning" "Arrr" | ||
"good" "bloody" | ||
"shortcodes" "shorrrtcodes" | ||
"Shortcodes" "Shorrrtcodes" | ||
"Mermaid" "Merrrmaid" | ||
"Markdown" "Marrrkdown" | ||
"Markup" "Marrrkup" | ||
"markup" "marrrkup" | ||
"for" "fer" | ||
"Your" "Yer" | ||
"your" "yer" | ||
"You" "Ye" | ||
"you" "ye" | ||
"the" "th'" | ||
"The" "Th'" | ||
"is" "be" | ||
"Is" "Be" | ||
"are" "be" | ||
"Are" "Be" | ||
"Of" "O'" | ||
"of" "o'" | ||
"To" "T'" | ||
"to" "t'" | ||
"in" "'n" | ||
"With" "Wit'" | ||
"with" "wit'" | ||
"Where" "Whar'" | ||
"where" "whar'" | ||
"After" "Aft" | ||
"after" "aft" | ||
"And" "An'" | ||
"and" "an'" | ||
"Load" "Board" | ||
"load" "board" | ||
"Loaded" "Boarded" | ||
"loaded" "boarded" | ||
"Content" "Rrrambling" | ||
"content" "rrrambling" | ||
"icon" "ay'con" | ||
"Icon" "Ay'con" | ||
"icons" "ay'cons" | ||
"Icons" "Ay'cons" | ||
"syntax" "rules" | ||
"Syntax" "Rules" | ||
"Site" "Ship" | ||
"site" "ship" | ||
"Page" "Plank" | ||
"page" "plank" | ||
"Pages" "Planks" | ||
"pages" "planks" | ||
"Relearn" "Relearrrn" | ||
"Learn" "Learrrn" | ||
-}} | ||
{{- $specials := dict | ||
"(\\w)ing([\\s\\n<.,;?!:])" "'n" | ||
"(\\w)ings([\\s\\n<.,;?!:])" "'ns" | ||
"(\\w)tion([\\s\\n<.,;?!:])" "t'n" | ||
"(\\w)tions([\\s\\n<.,;?!:])" "t'ns" | ||
"(\\w)(?:[aeiou])ble([\\s\\n<.,;?!:])" "'ble" | ||
"(\\w)(?:[aeiou])mize([\\s\\n<.,;?!:])" "'mize" | ||
"(\\w)(?:[aeiou])mizes([\\s\\n<.,;?!:])" "'mizes" | ||
"(\\w)(?:[aeiou])nize([\\s\\n<.,;?!:])" "'nize" | ||
"(\\w)(?:[aeiou])nizes([\\s\\n<.,;?!:])" "'nizes" | ||
(printf "(.)=\"%s([^\"]*?\")" $baseURLpath) (printf "=\"%s%s/" $baseURLpath $langtrg) | ||
-}} | ||
{{- $fix := dict | ||
"warn'n" "warning" | ||
"sect'n" "section" | ||
"n Cap'n" "n" | ||
"Avast right o' John" "Note right of John" | ||
-}} | ||
{{- range $from, $to := $words }} | ||
{{- $c = replaceRE (printf "([\\s\\n>])%s([\\s\\n<.,;?!:])" $from) (printf "${1}%s${2}" $to) $c }} | ||
{{- end }} | ||
{{- range $from, $to := $specials }} | ||
{{- $c = replaceRE $from (printf "${1}%s${2}" $to) $c }} | ||
{{- end }} | ||
{{- range $from, $to := $fix }} | ||
{{- $c = replace $c $from $to }} | ||
{{- end }} | ||
{{- if (int (len $l)) }} | ||
{{- $c = replaceRE "(src|href)=\"(images/[^\"]*?\")" (printf "${1}=\"%s${2}" $l) $c }} | ||
{{- end }} | ||
{{- $c = replaceRE "(src|href)=\"([^\"]*?)/pir/([^\"]*?.files/[^\"]*?\")" "${1}=\"${2}/${3}" $c }} | ||
{{- end }} | ||
{{ $c | safeHTML }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<div class="default-animation progress"> | ||
<div class="toc-wrapper" dir="{{ T "Reading-direction" | default "ltr" }}"> | ||
{{- partial "shortcodes/piratify.html" (dict | ||
"context" . | ||
"pagefield" "TableOfContents" | ||
) }} | ||
</div> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,107 +1,4 @@ | ||
{{- $langsrc := .Get 1 | default "en" }} | ||
{{- $langtrg := .Page.Language.Lang }} | ||
{{- $baseURL := urls.Parse .Site.BaseURL }} | ||
{{- $baseURLpath := $baseURL.Path | default "/" }} | ||
{{- $words := dict | ||
"Hugo" "Cap'n Hugo" | ||
"Info" "Ahoi" | ||
"Note" "Avast" | ||
"Tip" "Smarrrt Arrrse" | ||
"Warning" "Arrr" | ||
"good" "bloody" | ||
"shortcodes" "shorrrtcodes" | ||
"Shortcodes" "Shorrrtcodes" | ||
"Mermaid" "Merrrmaid" | ||
"Markdown" "Marrrkdown" | ||
"Markup" "Marrrkup" | ||
"markup" "marrrkup" | ||
"for" "fer" | ||
"Your" "Yer" | ||
"your" "yer" | ||
"You" "Ye" | ||
"you" "ye" | ||
"the" "th'" | ||
"The" "Th'" | ||
"is" "be" | ||
"Is" "Be" | ||
"are" "be" | ||
"Are" "Be" | ||
"Of" "O'" | ||
"of" "o'" | ||
"To" "T'" | ||
"to" "t'" | ||
"in" "'n" | ||
"With" "Wit'" | ||
"with" "wit'" | ||
"Where" "Whar'" | ||
"where" "whar'" | ||
"After" "Aft" | ||
"after" "aft" | ||
"And" "An'" | ||
"and" "an'" | ||
"Load" "Board" | ||
"load" "board" | ||
"Loaded" "Boarded" | ||
"loaded" "boarded" | ||
"Content" "Rrrambling" | ||
"content" "rrrambling" | ||
"icon" "ay'con" | ||
"Icon" "Ay'con" | ||
"icons" "ay'cons" | ||
"Icons" "Ay'cons" | ||
"syntax" "rules" | ||
"Syntax" "Rules" | ||
"Site" "Ship" | ||
"site" "ship" | ||
"Page" "Plank" | ||
"page" "plank" | ||
"Pages" "Planks" | ||
"pages" "planks" | ||
"Relearn" "Relearrrn" | ||
"Learn" "Learrrn" | ||
-}} | ||
{{- $specials := dict | ||
"(\\w)ing([\\s\\n<.,;?!:])" "'n" | ||
"(\\w)ings([\\s\\n<.,;?!:])" "'ns" | ||
"(\\w)tion([\\s\\n<.,;?!:])" "t'n" | ||
"(\\w)tions([\\s\\n<.,;?!:])" "t'ns" | ||
"(\\w)(?:[aeiou])ble([\\s\\n<.,;?!:])" "'ble" | ||
"(\\w)(?:[aeiou])mize([\\s\\n<.,;?!:])" "'mize" | ||
"(\\w)(?:[aeiou])mizes([\\s\\n<.,;?!:])" "'mizes" | ||
"(\\w)(?:[aeiou])nize([\\s\\n<.,;?!:])" "'nize" | ||
"(\\w)(?:[aeiou])nizes([\\s\\n<.,;?!:])" "'nizes" | ||
(printf "(.)=\"%s([^\"]*?\")" $baseURLpath) (printf "=\"%s%s/" $baseURLpath $langtrg) | ||
-}} | ||
{{- $fix := dict | ||
"warn'n" "warning" | ||
"sect'n" "section" | ||
"n Cap'n" "n" | ||
"Avast right o' John" "Note right of John" | ||
-}} | ||
{{- $c := "" }} | ||
{{- range .Page.Translations }} | ||
{{- if eq .Language.Lang $langsrc }} | ||
{{- $l := .RelPermalink }} | ||
{{- $c = .Content }} | ||
{{- range $from, $to := $words }} | ||
{{- $c = replaceRE (printf "([\\s\\n>])%s([\\s\\n<.,;?!:])" $from) (printf "${1}%s${2}" $to) $c }} | ||
{{- end }} | ||
{{- range $from, $to := $specials }} | ||
{{- $c = replaceRE $from (printf "${1}%s${2}" $to) $c }} | ||
{{- end }} | ||
{{- range $from, $to := $fix }} | ||
{{- $c = replace $c $from $to }} | ||
{{- end }} | ||
{{- $c = replaceRE "(src|href)=\"(images/[^\"]*?\")" (printf "${1}=\"%s${2}" $l) $c }} | ||
{{- $c = replaceRE "(src|href)=\"([^\"]*?)/pir/([^\"]*?.files/[^\"]*?\")" "${1}=\"${2}/${3}" $c }} | ||
{{- end }} | ||
{{- end }} | ||
{{- partial "shortcodes/notice.html" (dict | ||
"context" . | ||
"content" "<p>Fello' pirrates, be awarrre <b>some stuff may not work</b> fer us in this trrranslat'n. Like <b>table of rrramblings</b>, see'ng <b>Merrrmaids</b>, do'ng <b>math or chemistrrry</b> and stuff.</p>\n" | ||
"icon" "skull-crossbones" | ||
"style" "warning" | ||
"title" "Arrr! Pirrrates" | ||
) }} | ||
|
||
{{ $c | safeHTML }} | ||
{{- partial "shortcodes/piratify.html" (dict | ||
"context" . | ||
"pagefield" "Content" | ||
) }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,5 @@ | ||
|
||
<div class="default-animation progress"> | ||
<div class="toc-wrapper" dir="{{ T "Reading-direction" | default "ltr" }}"> | ||
{{ .TableOfContents }} | ||
{{- .TableOfContents }} | ||
</div> | ||
</div> |