summaryrefslogtreecommitdiff
path: root/themes/CodeIT/layouts/partials/function
diff options
context:
space:
mode:
Diffstat (limited to 'themes/CodeIT/layouts/partials/function')
-rw-r--r--themes/CodeIT/layouts/partials/function/checkbox.html9
-rw-r--r--themes/CodeIT/layouts/partials/function/content.html19
-rw-r--r--themes/CodeIT/layouts/partials/function/escape.html5
-rw-r--r--themes/CodeIT/layouts/partials/function/fontawesome.html14
-rw-r--r--themes/CodeIT/layouts/partials/function/fraction.html5
-rw-r--r--themes/CodeIT/layouts/partials/function/id.html8
-rw-r--r--themes/CodeIT/layouts/partials/function/path.html3
-rw-r--r--themes/CodeIT/layouts/partials/function/resource.html16
-rw-r--r--themes/CodeIT/layouts/partials/function/ruby.html5
9 files changed, 84 insertions, 0 deletions
diff --git a/themes/CodeIT/layouts/partials/function/checkbox.html b/themes/CodeIT/layouts/partials/function/checkbox.html
new file mode 100644
index 0000000..2283592
--- /dev/null
+++ b/themes/CodeIT/layouts/partials/function/checkbox.html
@@ -0,0 +1,9 @@
+{{- /* Checkbox unchecked */ -}}
+{{- $old := `<input disabled="" type="checkbox">` -}}
+{{- $new := `<i class="far fa-square fa-fw"></i>` -}}
+{{- $content := replace . $old $new -}}
+
+{{- /* Checkbox checked */ -}}
+{{- $old = `<input checked="" disabled="" type="checkbox">` -}}
+{{- $new = `<i class="far fa-check-square fa-fw"></i>` -}}
+{{- return replace $content $old $new -}}
diff --git a/themes/CodeIT/layouts/partials/function/content.html b/themes/CodeIT/layouts/partials/function/content.html
new file mode 100644
index 0000000..f1d7ce8
--- /dev/null
+++ b/themes/CodeIT/layouts/partials/function/content.html
@@ -0,0 +1,19 @@
+{{- $content := .Content -}}
+
+{{- if .Ruby -}}
+ {{- $content = partial "function/ruby.html" $content -}}
+{{- end -}}
+
+{{- if .Fraction -}}
+ {{- $content = partial "function/fraction.html" $content -}}
+{{- end -}}
+
+{{- if .Fontawesome -}}
+ {{- $content = partial "function/fontawesome.html" $content -}}
+{{- end -}}
+
+{{- $content = partial "function/checkbox.html" $content -}}
+
+{{- $content = partial "function/escape.html" $content -}}
+
+{{- return $content -}}
diff --git a/themes/CodeIT/layouts/partials/function/escape.html b/themes/CodeIT/layouts/partials/function/escape.html
new file mode 100644
index 0000000..1ff794f
--- /dev/null
+++ b/themes/CodeIT/layouts/partials/function/escape.html
@@ -0,0 +1,5 @@
+{{- /* Escape character */ -}}
+{{- /* {?X} -> X */ -}}
+{{- $REin := `\{\?(.)\}` -}}
+{{- $REout := `$1` -}}
+{{- return replaceRE $REin $REout . -}}
diff --git a/themes/CodeIT/layouts/partials/function/fontawesome.html b/themes/CodeIT/layouts/partials/function/fontawesome.html
new file mode 100644
index 0000000..9d64c3d
--- /dev/null
+++ b/themes/CodeIT/layouts/partials/function/fontawesome.html
@@ -0,0 +1,14 @@
+{{- /* Font Awesome */ -}}
+{{- /* :(far fa-circle): -> <i class="far fa-circle fa-fw"></i> */ -}}
+
+{{- $REin := ` (:\([\w- ]+?\):)` -}}
+{{- $REout := `&nbsp;$1` -}}
+{{- $content := replaceRE $REin $REout . -}}
+
+{{- $REin = `(:\([\w- ]+?\):) ` -}}
+{{- $REout = `$1&nbsp;` -}}
+{{- $content = replaceRE $REin $REout . -}}
+
+{{- $REin = `:\(([\w- ]+?)\):` -}}
+{{- $REout = `<i class="$1"></i>` -}}
+{{- return replaceRE $REin $REout $content -}}
diff --git a/themes/CodeIT/layouts/partials/function/fraction.html b/themes/CodeIT/layouts/partials/function/fraction.html
new file mode 100644
index 0000000..9aa85d0
--- /dev/null
+++ b/themes/CodeIT/layouts/partials/function/fraction.html
@@ -0,0 +1,5 @@
+{{- /* Fraction */ -}}
+{{- /* [A]/[B] -> <sup>A</sup>/<sub>B</sub> */ -}}
+{{- $REin := `\[(.+?)\]/\[(.+?)\]` -}}
+{{- $REout := `<sup>$1</sup>/<sub>$2</sub>` -}}
+{{- return replaceRE $REin $REout . -}}
diff --git a/themes/CodeIT/layouts/partials/function/id.html b/themes/CodeIT/layouts/partials/function/id.html
new file mode 100644
index 0000000..e84ef9c
--- /dev/null
+++ b/themes/CodeIT/layouts/partials/function/id.html
@@ -0,0 +1,8 @@
+{{- /* ID */ -}}
+{{- $count := (.Scratch.Get "this").count | default 1 -}}
+{{- $id := printf "id-%d" $count -}}
+{{- $count | add 1 | .Scratch.SetInMap "this" "count" -}}
+{{- with .Content -}}
+ {{- dict $id . | dict "data" | dict "config" | merge ($.Scratch.Get "this") | $.Scratch.Set "this" -}}
+{{- end -}}
+{{- return $id -}}
diff --git a/themes/CodeIT/layouts/partials/function/path.html b/themes/CodeIT/layouts/partials/function/path.html
new file mode 100644
index 0000000..ece426f
--- /dev/null
+++ b/themes/CodeIT/layouts/partials/function/path.html
@@ -0,0 +1,3 @@
+{{- /* https://discourse.gohugo.io/t/how-decode-urls-in-hugo/7549/4 */ -}}
+{{- $URL := . | urlize | urls.Parse -}}
+{{- return $URL.Path -}}
diff --git a/themes/CodeIT/layouts/partials/function/resource.html b/themes/CodeIT/layouts/partials/function/resource.html
new file mode 100644
index 0000000..2febef3
--- /dev/null
+++ b/themes/CodeIT/layouts/partials/function/resource.html
@@ -0,0 +1,16 @@
+{{- $resource := 0 -}}
+{{- $url := urls.Parse .Path -}}
+{{- if not $url.Host | and $url.Path | and (strings.HasSuffix $url.Path "/" | not) -}}
+ {{- if .Resources -}}
+ {{- with .Resources.GetMatch $url.Path -}}
+ {{- $resource = . -}}
+ {{- end -}}
+ {{- end -}}
+ {{- if not $resource -}}
+ {{- with resources.Get $url.Path -}}
+ {{- $resource = . -}}
+ {{- end -}}
+ {{- end -}}
+{{- end -}}
+
+{{- return $resource -}}
diff --git a/themes/CodeIT/layouts/partials/function/ruby.html b/themes/CodeIT/layouts/partials/function/ruby.html
new file mode 100644
index 0000000..49aa35b
--- /dev/null
+++ b/themes/CodeIT/layouts/partials/function/ruby.html
@@ -0,0 +1,5 @@
+{{- /* Ruby */ -}}
+{{- /* [EN]^(English) -> <strong><ruby>EN<rt>English</rt></ruby></strong> */ -}}
+{{- $REin := `\[(.+?)\]\^\((.+?)\)` -}}
+{{- $REout := `<strong><ruby>$1<rt>$2</rt></ruby></strong>` -}}
+{{- return replaceRE $REin $REout . -}}