diff --git a/exampleSite/layouts/partials/shortcodes/piratify.html b/exampleSite/layouts/partials/shortcodes/piratify.html new file mode 100644 index 0000000000..b65a8c34a2 --- /dev/null +++ b/exampleSite/layouts/partials/shortcodes/piratify.html @@ -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" "

Fello' pirrrates, wrrrit'n are not fer us as yer can see! Also be awarrre some stuff may not work in this trrranslat'n. Like see'n Merrrmaids, do'n math or chemistrrry and stuff.

\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 }} \ No newline at end of file diff --git a/exampleSite/layouts/partials/toc.html b/exampleSite/layouts/partials/toc.html new file mode 100644 index 0000000000..f94c0569d5 --- /dev/null +++ b/exampleSite/layouts/partials/toc.html @@ -0,0 +1,8 @@ +
+
+{{- partial "shortcodes/piratify.html" (dict + "context" . + "pagefield" "TableOfContents" +) }} +
+
\ No newline at end of file diff --git a/exampleSite/layouts/shortcodes/piratify.html b/exampleSite/layouts/shortcodes/piratify.html index bd6a2bc21f..b652908498 100644 --- a/exampleSite/layouts/shortcodes/piratify.html +++ b/exampleSite/layouts/shortcodes/piratify.html @@ -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" "

Fello' pirrates, be awarrre some stuff may not work fer us in this trrranslat'n. Like table of rrramblings, see'ng Merrrmaids, do'ng math or chemistrrry and stuff.

\n" - "icon" "skull-crossbones" - "style" "warning" - "title" "Arrr! Pirrrates" -) }} - -{{ $c | safeHTML }} \ No newline at end of file +{{- partial "shortcodes/piratify.html" (dict + "context" . + "pagefield" "Content" +) }} \ No newline at end of file diff --git a/layouts/partials/header.html b/layouts/partials/header.html index bbd9c195a7..b02d0c55d1 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -108,7 +108,8 @@ {{- end }} {{- $defaultDisableToc := .Site.Params.disableToc | default false }} {{- $currentDisableToc := .Params.disableToc | default $defaultDisableToc }} - {{- $hastoc := not (eq 0 (int (len (.TableOfContents | plainify)))) }} + {{- $toc_content := partial "toc.html" . }} + {{- $hastoc := not (eq 0 (int (len ($toc_content | plainify)))) }} {{- $toc := and $hastoc (not $currentDisableToc) (eq $outputFormat "html") }} {{- if $toc }} - {{- partial "toc.html" . }} +{{ $toc_content }} {{- end }} diff --git a/layouts/partials/toc.html b/layouts/partials/toc.html index 8e0a830a66..0c3716bfe0 100644 --- a/layouts/partials/toc.html +++ b/layouts/partials/toc.html @@ -1,6 +1,5 @@ -
-{{ .TableOfContents }} +{{- .TableOfContents }}
\ No newline at end of file