add layout post
This commit is contained in:
		| @@ -3,6 +3,7 @@ title: "Text and Typography" | |||||||
| date: 2019-08-09 | date: 2019-08-09 | ||||||
| lastmod: 2025-04-21 | lastmod: 2025-04-21 | ||||||
| draft: false | draft: false | ||||||
|  | layout: post | ||||||
| description: >- | description: >- | ||||||
|   Examples of text, typography, math equations, diagrams, flowcharts, pictures, videos, and more. |   Examples of text, typography, math equations, diagrams, flowcharts, pictures, videos, and more. | ||||||
| tags: | tags: | ||||||
|   | |||||||
| @@ -3,6 +3,7 @@ title: "Getting Started" | |||||||
| date: 2019-08-09 | date: 2019-08-09 | ||||||
| lastmod: 2025-04-21 | lastmod: 2025-04-21 | ||||||
| draft: false | draft: false | ||||||
|  | layout: post | ||||||
| description: >- | description: >- | ||||||
|   Get started with Chirpy basics in this comprehensive overview. |   Get started with Chirpy basics in this comprehensive overview. | ||||||
|   You will learn how to install, configure, and use your first Chirpy-based website, as well as deploy it to a web server. |   You will learn how to install, configure, and use your first Chirpy-based website, as well as deploy it to a web server. | ||||||
|   | |||||||
							
								
								
									
										162
									
								
								layouts/_default/post.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								layouts/_default/post.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,162 @@ | |||||||
|  | {{ define "main" }} | ||||||
|  |   {{ $enable_toc := and (.Params.toc | default .Site.Params.enableTOC) (gt (len .TableOfContents) 100) }} | ||||||
|  |   {{ $lang := .Site.Language.Lang }} | ||||||
|  |  | ||||||
|  |   <article class="px-1" data-toc="{{ $enable_toc }}"> | ||||||
|  |     <header> | ||||||
|  |       <h1 data-toc-skip>{{ .Title }}</h1> | ||||||
|  |       {{ with .Description }} | ||||||
|  |         <p class="post-desc fw-light mb-4">{{ . }}</p> | ||||||
|  |       {{ end }} | ||||||
|  |  | ||||||
|  |       <div class="post-meta text-muted"> | ||||||
|  |         <!-- published date --> | ||||||
|  |         <span> | ||||||
|  |           {{ i18n "post.posted" }} | ||||||
|  |           {{ partial "datetime.html" (dict "date" .Date "tooltip" true "lang" $lang) }} | ||||||
|  |         </span> | ||||||
|  |  | ||||||
|  |         <!-- lastmod date --> | ||||||
|  |         {{ if and (ne .Lastmod .Date) (.Lastmod) }} | ||||||
|  |           <span> | ||||||
|  |             {{ i18n "post.updated" }} | ||||||
|  |             {{ partial "datetime.html" (dict "date" .Lastmod "tooltip" true "lang" $lang) }} | ||||||
|  |           </span> | ||||||
|  |         {{ end }} | ||||||
|  |  | ||||||
|  |         {{ with .Params.image }} | ||||||
|  |           {{ $src := printf "src=\"%s\"" ( .path | default . ) }} | ||||||
|  |           {{ $class := "class=\"preview-img" }} | ||||||
|  |           {{ if .no_bg }}{{ $class = printf "%s no-bg\"" $class }}{{ else }}{{ $class = printf "%s\"" $class }}{{ end }} | ||||||
|  |           {{ $alt := printf "alt=\"%s\"" ( .alt | default "Preview Image" ) }} | ||||||
|  |  | ||||||
|  |           {{ $lqip := "" }} | ||||||
|  |           {{ with .lqip }}{{ $lqip = printf "lqip=\"%s\"" . }}{{ end }} | ||||||
|  |  | ||||||
|  |           <div class="mt-3 mb-3"> | ||||||
|  |             <img {{ $src | safeHTMLAttr }} {{ $class | safeHTMLAttr }} {{ $alt | safeHTMLAttr }} w="1200" h="630" {{ $lqip | safeHTMLAttr }}> | ||||||
|  |             {{- with .alt -}} | ||||||
|  |               <figcaption class="text-center pt-2 pb-2">{{ . }}</figcaption> | ||||||
|  |             {{- end -}} | ||||||
|  |           </div> | ||||||
|  |         {{ end }} | ||||||
|  |  | ||||||
|  |         <div class="d-flex justify-content-between"> | ||||||
|  |           <!-- author(s) --> | ||||||
|  |           <span> | ||||||
|  |             {{ $authors := .Params.author | default .Params.authors }} | ||||||
|  |  | ||||||
|  |             {{ i18n "post.written_by" }} | ||||||
|  |  | ||||||
|  |             <em> | ||||||
|  |               {{ if $authors }} | ||||||
|  |                 {{ range $i, $author := $authors }} | ||||||
|  |                   {{ with $.Site.Data.authors }} | ||||||
|  |                     {{ with (index . $author) }} | ||||||
|  |                       {{ if .url }} | ||||||
|  |                         <a href="{{ .url }}">{{ .name }}</a> | ||||||
|  |                       {{ else }} | ||||||
|  |                         {{ .name }} | ||||||
|  |                       {{ end }} | ||||||
|  |                     {{ end }} | ||||||
|  |                   {{ else }} | ||||||
|  |                     {{ $author }} | ||||||
|  |                   {{ end }} | ||||||
|  |                   {{ if not (eq $i (sub (len $authors) 1)) }}{{ "</em>, <em>" | safeHTML }}{{ end }} | ||||||
|  |                 {{ end }} | ||||||
|  |               {{ else }} | ||||||
|  |                 <a href="{{ index $.Site.Params.Social.links 0 }}">{{ $.Site.Params.Social.name }}</a> | ||||||
|  |               {{ end }} | ||||||
|  |             </em> | ||||||
|  |           </span> | ||||||
|  |  | ||||||
|  |           <div> | ||||||
|  |             <!-- pageviews --> | ||||||
|  |             {{ if and $.Site.Params.pageviews.provider $.Site.Params.analytics (index $.Site.Params.analytics $.Site.Params.pageviews.provider) }} | ||||||
|  |               <span> | ||||||
|  |                 <em id="pageviews"> | ||||||
|  |                   <i class="fas fa-spinner fa-spin small"></i> | ||||||
|  |                 </em> | ||||||
|  |                 {{ i18n "post.pageview_measure" }} | ||||||
|  |               </span> | ||||||
|  |             {{ end }} | ||||||
|  |  | ||||||
|  |             <!-- read time --> | ||||||
|  |             {{ partial "read-time.html" (dict "content" .Content "prompt" true "lang" $lang) }} | ||||||
|  |  | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|  |     </header> | ||||||
|  |  | ||||||
|  |     {{ if $enable_toc }} | ||||||
|  |       <div id="toc-bar" class="d-flex align-items-center justify-content-between invisible"> | ||||||
|  |         <span class="label text-truncate">{{ .Title }}</span> | ||||||
|  |         <button type="button" class="toc-trigger btn me-1"> | ||||||
|  |           <i class="fa-solid fa-list-ul fa-fw"></i> | ||||||
|  |         </button> | ||||||
|  |       </div> | ||||||
|  |  | ||||||
|  |       <button id="toc-solo-trigger" type="button" class="toc-trigger btn btn-outline-secondary btn-sm"> | ||||||
|  |         <span class="label ps-2 pe-1">{{ i18n "panel.toc" }}</span> | ||||||
|  |         <i class="fa-solid fa-angle-right fa-fw"></i> | ||||||
|  |       </button> | ||||||
|  |  | ||||||
|  |       <dialog id="toc-popup" class="p-0"> | ||||||
|  |         <div class="header d-flex flex-row align-items-center justify-content-between"> | ||||||
|  |           <div class="label text-truncate py-2 ms-4">{{ .Title }}</div> | ||||||
|  |           <button id="toc-popup-close" type="button" class="btn mx-1 my-1 opacity-75"> | ||||||
|  |             <i class="fas fa-close"></i> | ||||||
|  |           </button> | ||||||
|  |         </div> | ||||||
|  |         <div id="toc-popup-content" class="px-4 py-3 pb-4">{{ .TableOfContents }}</div> | ||||||
|  |       </dialog> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     <div class="content"> | ||||||
|  |       {{ .Content }} | ||||||
|  |     </div> | ||||||
|  |  | ||||||
|  |     <div class="post-tail-wrapper text-muted"> | ||||||
|  |       <!-- categories --> | ||||||
|  |       {{ with .Params.categories }} | ||||||
|  |         <div class="post-meta mb-3"> | ||||||
|  |           <i class="far fa-folder-open fa-fw me-1"></i> | ||||||
|  |           {{ range $i, $category := . }} | ||||||
|  |             <a href="{{ "/categories/" | relLangURL }}{{ $category | urlize }}/">{{ $category }}</a> | ||||||
|  |             {{ if not (eq $i (sub (len $) 1)) }},{{ end }} | ||||||
|  |           {{ end }} | ||||||
|  |         </div> | ||||||
|  |       {{ end }} | ||||||
|  |  | ||||||
|  |       <!-- tags --> | ||||||
|  |       {{ with .Params.tags }} | ||||||
|  |         <div class="post-tags"> | ||||||
|  |           <i class="fa fa-tags fa-fw me-1"></i> | ||||||
|  |           {{ range . }} | ||||||
|  |             <a | ||||||
|  |               href="{{ "/tags/" | relLangURL }}{{ . | urlize }}/" | ||||||
|  |               class="post-tag no-text-decoration" | ||||||
|  |             > | ||||||
|  |               {{- . -}} | ||||||
|  |             </a> | ||||||
|  |           {{ end }} | ||||||
|  |         </div> | ||||||
|  |       {{ end }} | ||||||
|  |  | ||||||
|  |       <div class="post-tail-bottom d-flex justify-content-between align-items-center mt-5 pb-2"> | ||||||
|  |         <div class="license-wrapper"> | ||||||
|  |           {{ with (i18n "copyright.license.template") }} | ||||||
|  |             {{ $replacement := printf `<a href="%s">%s</a>` (i18n "copyright.license.link") (i18n "copyright.license.name") }} | ||||||
|  |             {{ replace . ":LICENSE_NAME" $replacement | safeHTML }} | ||||||
|  |           {{ end }} | ||||||
|  |         </div> | ||||||
|  |  | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |   </article> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ define "panel" }} | ||||||
|  |   {{ partial "toc.html" . }} | ||||||
|  | {{ end }} | ||||||
		Reference in New Issue
	
	Block a user
	 geekifan
					geekifan