forked from drowl87/hextra_mirror
		
	
		
			
	
	
		
			67 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
								 | 
							
								{{/* Render Jupyter Notebook */}}
							 | 
						||
| 
								 | 
							
								{{- $path := .Get 0 -}}
							 | 
						||
| 
								 | 
							
								{{- $data := "" -}}
							 | 
						||
| 
								 | 
							
								{{- $page := .Page -}}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								{{/* https://gohugo.io/functions/transform/unmarshal/ */}}
							 | 
						||
| 
								 | 
							
								{{- with .Page.Resources.Get $path -}}
							 | 
						||
| 
								 | 
							
								  {{- with unmarshal .Content -}}
							 | 
						||
| 
								 | 
							
								    {{- $data = . -}}
							 | 
						||
| 
								 | 
							
								  {{- end -}}
							 | 
						||
| 
								 | 
							
								{{- else -}}
							 | 
						||
| 
								 | 
							
								  {{- errorf "Resource not found: %s" $path -}}
							 | 
						||
| 
								 | 
							
								{{- end -}}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								{{- $language := index $data "metadata" "language_info" "name" | default "python" -}}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								{{- with index $data "cells" -}}
							 | 
						||
| 
								 | 
							
								  {{- range $cell := . -}}
							 | 
						||
| 
								 | 
							
								    {{- if eq (index $cell "cell_type") "code" -}}
							 | 
						||
| 
								 | 
							
								      {{- $source := index $cell "source" -}}
							 | 
						||
| 
								 | 
							
								      {{- $sourceContent := (cond (reflect.IsSlice $source) (delimit $source "") $source) -}}
							 | 
						||
| 
								 | 
							
								      <div class="hextra-jupyter-code-cell hextra-scrollbar">
							 | 
						||
| 
								 | 
							
								        <div class="hextra-jupyter-code-cell-source hextra-code-block">
							 | 
						||
| 
								 | 
							
								          {{- partial "components/codeblock" (dict "lang" $language "content" $sourceContent) -}}
							 | 
						||
| 
								 | 
							
								        </div>
							 | 
						||
| 
								 | 
							
								        {{- $outputs := index $cell "outputs" -}}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        {{- with $outputs -}}
							 | 
						||
| 
								 | 
							
								          <div class="hextra-jupyter-code-cell-outputs-container">
							 | 
						||
| 
								 | 
							
								            <div class="hextra-jupyter-code-cell-outputs">
							 | 
						||
| 
								 | 
							
								              {{- range $output := . -}}
							 | 
						||
| 
								 | 
							
								                {{- if eq (index $output "output_type") "display_data" -}}
							 | 
						||
| 
								 | 
							
								                  {{- $data := index $output "data" -}}
							 | 
						||
| 
								 | 
							
								                  {{- $image := index $data "image/png" -}}
							 | 
						||
| 
								 | 
							
								                  {{- if $image -}}
							 | 
						||
| 
								 | 
							
								                    <img src="data:image/png;base64,{{- $image -}}" alt="image" />
							 | 
						||
| 
								 | 
							
								                  {{- end -}}
							 | 
						||
| 
								 | 
							
								                {{- else if eq (index $output "output_type") "stream" -}}
							 | 
						||
| 
								 | 
							
								                  {{- $text := index $output "text" -}}
							 | 
						||
| 
								 | 
							
								                  {{- $textContent := (cond (reflect.IsSlice $text) (delimit $text "") $text) -}}
							 | 
						||
| 
								 | 
							
								                  <pre class="not-prose">{{- $textContent -}}</pre>
							 | 
						||
| 
								 | 
							
								                {{- else if eq (index $output "output_type") "execute_result" -}}
							 | 
						||
| 
								 | 
							
								                  {{- $data := index $output "data" -}}
							 | 
						||
| 
								 | 
							
								                  {{- $text := index $data "text/plain" -}}
							 | 
						||
| 
								 | 
							
								                  {{- $textContent := (cond (reflect.IsSlice $text) (delimit $text "") $text) -}}
							 | 
						||
| 
								 | 
							
								                  <pre class="not-prose">{{- $textContent -}}</pre>
							 | 
						||
| 
								 | 
							
								                  {{- $html := index $data "text/html" -}}
							 | 
						||
| 
								 | 
							
								                  {{- if $html -}}
							 | 
						||
| 
								 | 
							
								                    {{- $htmlText := delimit $html "" -}}
							 | 
						||
| 
								 | 
							
								                    <div>
							 | 
						||
| 
								 | 
							
								                      {{- $htmlText | safeHTML -}}
							 | 
						||
| 
								 | 
							
								                    </div>
							 | 
						||
| 
								 | 
							
								                  {{- end -}}
							 | 
						||
| 
								 | 
							
								                {{- end -}}
							 | 
						||
| 
								 | 
							
								              {{- end -}}
							 | 
						||
| 
								 | 
							
								            </div>
							 | 
						||
| 
								 | 
							
								          </div>
							 | 
						||
| 
								 | 
							
								        {{- end -}}
							 | 
						||
| 
								 | 
							
								      </div>
							 | 
						||
| 
								 | 
							
								    {{- else if eq (index $cell "cell_type") "markdown" -}}
							 | 
						||
| 
								 | 
							
								      {{- $source := index $cell "source" -}}
							 | 
						||
| 
								 | 
							
								      {{- $sourceContent := (cond (reflect.IsSlice $source) (delimit $source "") $source) -}}
							 | 
						||
| 
								 | 
							
								      {{- $sourceContent | $page.RenderString -}}
							 | 
						||
| 
								 | 
							
								    {{- end -}}
							 | 
						||
| 
								 | 
							
								  {{- end -}}
							 | 
						||
| 
								 | 
							
								{{- end -}}
							 |