mirror of
				https://github.com/BBaoVanC/bobatheme.git
				synced 2025-10-28 16:53:30 -05:00 
			
		
		
		
	Compare commits
	
		
			232 Commits
		
	
	
		
			image-resi
			...
			c0426f191a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| c0426f191a | |||
| e8a34ae4a4 | |||
| 18731498e8 | |||
| ad5c40b02b | |||
| e6b5997dff | |||
| 960d1d24be | |||
| 17047babc0 | |||
| 7bc8a4cb57 | |||
| d34b2a56d7 | |||
| 50a207b8ee | |||
| 6f140f096b | |||
| 316c62ebe8 | |||
| 1caa7acdc9 | |||
| f2f9e78559 | |||
| dd65d55389 | |||
| c7acf8ce38 | |||
| d7647a0b6f | |||
| ebaa1de00b | |||
| 0744af717d | |||
| 23f86d5982 | |||
| b854ae48e6 | |||
| 36a19a48b7 | |||
| 1f8a82228e | |||
| 60ed1c0264 | |||
| 3fae019148 | |||
| 8ef1e3840a | |||
| 629b3758b9 | |||
| 9412906b4f | |||
| f8cfad647f | |||
| b200623dca | |||
| 80f5994d96 | |||
| 342710a755 | |||
| 8eb642dbc8 | |||
| a4be8b395b | |||
| 47d6d02186 | |||
| a26ea62b60 | |||
| 7cff045cb3 | |||
| 9f080377e7 | |||
| fb40c8a4c3 | |||
| 0c248a4ca5 | |||
| 56d8a07893 | |||
| 8aab2ca693 | |||
| e46288dc45 | |||
| 637ffc12f5 | |||
| 2a40664bb6 | |||
| e34d2109ec | |||
| 54f89dad51 | |||
| 04b5017279 | |||
| a65a435b1d | |||
| 73dc916d5a | |||
| e8be3ae45b | |||
| 73ef9cc7a6 | |||
| 4adb754ae3 | |||
| 81709bb47e | |||
| 9c3a076e96 | |||
| 833edacc1f | |||
| 121a67a1fc | |||
| 8e3fb4038a | |||
| e9266cdead | |||
| 3a4cb538f7 | |||
| de84bc5ddf | |||
| 466c91a980 | |||
| 8d81f5e37c | |||
| 7dd01894da | |||
| 9665133ba4 | |||
| b272ed6181 | |||
| 17918a5617 | |||
| 493ee2da96 | |||
| 3d83e9fbdf | |||
| 684769df5a | |||
| 9bee463a3c | |||
| 805dc65ccb | |||
| a9d1c25ee4 | |||
| fe08bdc93c | |||
| 026d5ab2c3 | |||
| 311d846cb8 | |||
| 0888356292 | |||
| bcf0b68df9 | |||
| 034ef462a2 | |||
| 56610009e9 | |||
| 76b0383c2c | |||
| 0877a9d400 | |||
| 2731d9795f | |||
| 87a6da5c41 | |||
| e450f3fbc7 | |||
| cba6dd0a2f | |||
| fa5c014a1b | |||
| a172b1ea21 | |||
| 93d9164c6a | |||
| 72ebcf134a | |||
| effd3a265b | |||
| d41f3facd7 | |||
| c82d5602bb | |||
| 219f97bc00 | |||
| 2f6d67a03f | |||
| e97d4f921d | |||
| 5ffca36b84 | |||
| f4c056b99c | |||
| 3713fdae5b | |||
| 1127795717 | |||
| 1db48c3101 | |||
| 430139d292 | |||
| ac9ca6f97e | |||
| 8cadf8e735 | |||
| 42a7e27d09 | |||
| 2371f1de13 | |||
| 81e141cef9 | |||
| 2113c7a4e9 | |||
| b14e0e90fd | |||
| 2742bac9ff | |||
| e8f9d1c5df | |||
| dff23045a8 | |||
| 4f450374cf | |||
| a3a7f50a5b | |||
| 2cc4f45d4f | |||
| 33d0f81444 | |||
| 5668feed1d | |||
| 586bea37d5 | |||
| 37c04460b5 | |||
| 11599e01d7 | |||
| 80e96736cd | |||
| 6bedf987d6 | |||
| ebcbccb3bb | |||
| 43d406c4fe | |||
| 1380558384 | |||
| e9d8efce44 | |||
| 40f6ed20fe | |||
| e982824031 | |||
| 55bbfa90e4 | |||
| 161c68d16c | |||
| 0e1559f2a2 | |||
| d387f29d7d | |||
| 15d58effcf | |||
| 2fdc78050a | |||
| f9e7eeeaa6 | |||
| 502fc36b0d | |||
| ead88d5e16 | |||
| e1e211a42a | |||
| f77c61b561 | |||
| 8067173f0c | |||
| b745f87462 | |||
| a11cc777bf | |||
| f77efb1843 | |||
| 28cf50d3d8 | |||
| 8edbfd3077 | |||
| aa3974c186 | |||
| 7c877e7781 | |||
| d9776d29c4 | |||
| a01a70fc91 | |||
| 919ecde4ac | |||
| 7a0757cef7 | |||
| b83e20274f | |||
| 0893c99f97 | |||
| f5c9e6926a | |||
| 5104a6f57d | |||
| 1f080d9092 | |||
| 7a73432238 | |||
| 15d9ad52e9 | |||
| b45551639c | |||
| 217e54c1b5 | |||
| d0c216165e | |||
| 6d456768fa | |||
| b2036d3bfe | |||
| 37c5a970c4 | |||
| 8f36ba7368 | |||
| ef8559d923 | |||
| e67bd58ceb | |||
| f6140abc26 | |||
| 179eda3450 | |||
| 240476061b | |||
| 96893d7de6 | |||
| 21180991c0 | |||
| b87f6dd884 | |||
| fb43b41d64 | |||
| 17604ca75d | |||
| 05100679e2 | |||
| 145f23f22f | |||
| b03fc6c7b1 | |||
| 57be090b6a | |||
| 98c9438779 | |||
| efebe2a5de | |||
| 1e72637a33 | |||
| 943fb83324 | |||
| a75d49e8bc | |||
| e21c27b9e6 | |||
| e5e3d62fc4 | |||
| 21ecc630df | |||
| f16f2b6d8a | |||
| 4eec2d8c4d | |||
| c337596635 | |||
| 8ada21c609 | |||
| 4e27a6ce8a | |||
| 42f0046747 | |||
| b9879729bf | |||
| f86aa30100 | |||
| 60f5ccc1be | |||
| 88c1d14fa2 | |||
| 13db8825a4 | |||
| 99f53a386e | |||
| 8ad0690d00 | |||
| 11d98f8c92 | |||
| 163965f3e6 | |||
| 8af0ad6d16 | |||
| 3f98073aea | |||
| 5f40b6742b | |||
| 91c554ef83 | |||
| 14121f2269 | |||
| 906b6213fd | |||
| 550bfb6367 | |||
| 33fbcac9d5 | |||
| 9873f62d08 | |||
| d6876a17b9 | |||
| 203f1eb53f | |||
| be257afef3 | |||
| 8e83209898 | |||
| 24979c3c37 | |||
| ae37e587a3 | |||
| 168c9d93ad | |||
| fe4d0979d6 | |||
| 7ffa6c068c | |||
| 0cfecdab18 | |||
| a1fae8aa60 | |||
| 43202259c8 | |||
| fc5f408831 | |||
| 9e5a8e6785 | |||
| d393d9eef9 | |||
| e0f04cb279 | |||
| cb68e3cffd | |||
| 4e9ce6df46 | |||
| edff1f416d | |||
| ff2e87fd9e | |||
| 7749ff39fa | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | .hugo_build.lock | ||||||
							
								
								
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| [submodule "assets/feather"] | [submodule "assets/jam"] | ||||||
| 	path = assets/feather | 	path = assets/jam | ||||||
| 	url = https://github.com/feathericons/feather.git | 	url = https://github.com/michaelampr/jam.git | ||||||
| 	branch = master | 	branch = master | ||||||
|   | |||||||
| @@ -1,2 +1,4 @@ | |||||||
| # bobatheme | # bobatheme | ||||||
| Simple Hugo theme |  | ||||||
|  | The (boba) best Hugo theme. Contains everything I need for bbaovanc.com and | ||||||
|  | boba.best. | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								archetypes/authors/_index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								archetypes/authors/_index.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | --- | ||||||
|  |  | ||||||
|  | title: {{ replace .Name "-" " " | title }} | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | A short description about the author. | ||||||
|  |  | ||||||
|  | <!--more--> | ||||||
|  |  | ||||||
|  | Optionally provide more information about the author here. This part will only | ||||||
|  | show on the author page, not on the authors list page. | ||||||
|  |  | ||||||
|  | If you delete this section, DO NOT delete the summary separator (`<!--more-->`) | ||||||
|  | or else the summary won't be shown. | ||||||
| @@ -1,13 +1,24 @@ | |||||||
| --- | --- | ||||||
|  |  | ||||||
| title: {{ replace .Name "-" " " | title }} | title: {{ replace .Name "-" " " | humanize }} | ||||||
| date: {{ .Date | time.Format "2006-01-02" }} | date: {{ .Date }} | ||||||
|  | lastmod: {{ .Date }} | ||||||
| toc: true | toc: true | ||||||
|  | comments: true | ||||||
| draft: true | draft: true | ||||||
|  |  | ||||||
|  | authors: | ||||||
|  |   - {{ with .Site.Author.name }}{{ . }}{{ else }}John Doe{{ end }} | ||||||
|  |  | ||||||
|  | categories: | ||||||
|  |   - archetype-stuff | ||||||
|  |  | ||||||
| tags: | tags: | ||||||
|   - awesome |   - awesome | ||||||
|  |  | ||||||
|  | series: | ||||||
|  |   - archetype | ||||||
|  |  | ||||||
| # this will be shown for the article in list pages and in the page metadata | # this will be shown for the article in list pages and in the page metadata | ||||||
| # it can be either an image or video (this might change in the future, however) | # it can be either an image or video (this might change in the future, however) | ||||||
| resources: | resources: | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								archetypes/categories/_index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								archetypes/categories/_index.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | --- | ||||||
|  |  | ||||||
|  | title: {{ replace .Name "-" " " | title }} | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | A short summary of what the category is about. | ||||||
|  |  | ||||||
|  | <!--more--> | ||||||
|  |  | ||||||
|  | Optionally provide more information about the category here. This part will only | ||||||
|  | show on the category page, not on the category list page. | ||||||
|  |  | ||||||
|  | If you delete this section, DO NOT delete the summary separator (`<!--more-->`) | ||||||
|  | or else the summary won't be shown. | ||||||
| @@ -1,8 +1,12 @@ | |||||||
| --- | --- | ||||||
|  |  | ||||||
| title: {{ replace .Name "-" " " | title }} | title: {{ replace .Name "-" " " | humanize }} | ||||||
| menu: main | menu: main | ||||||
| toc: true | toc: true | ||||||
|  | comments: false | ||||||
|  |  | ||||||
|  | authors: | ||||||
|  |   - {{ with .Site.Author.name }}{{ . }}{{ else }}John Doe{{ end }} | ||||||
|  |  | ||||||
| --- | --- | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								archetypes/series/_index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								archetypes/series/_index.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | --- | ||||||
|  |  | ||||||
|  | title: {{ replace .Name "-" " " | title }} | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | Some information about the series. | ||||||
|  |  | ||||||
|  | <!--more--> | ||||||
|  |  | ||||||
|  | Optionally provide more information about the series here. This part will only | ||||||
|  | show on the series page, not on the series list page. | ||||||
|  |  | ||||||
|  | If you delete this section, DO NOT delete the summary separator (`<!--more-->`) | ||||||
|  | or else the summary won't be shown. | ||||||
							
								
								
									
										15
									
								
								archetypes/tags/_index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								archetypes/tags/_index.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | --- | ||||||
|  |  | ||||||
|  | title: {{ replace .Name "-" " " | title }} | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | A short summary of what the tag is. | ||||||
|  |  | ||||||
|  | <!--more--> | ||||||
|  |  | ||||||
|  | Optionally provide more information about the tag here. This part will only show | ||||||
|  | on the tag page, not on the tags list page. | ||||||
|  |  | ||||||
|  | If you delete this section, DO NOT delete the summary separator (`<!--more-->`) | ||||||
|  | or else the summary won't be shown. | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,116 +0,0 @@ | |||||||
| @media screen and (max-width: 700px) { |  | ||||||
|   .row { |  | ||||||
|     flex-direction: column; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @media screen and (max-width: 400px) { |  | ||||||
|   .navbar a { |  | ||||||
|     float: none; |  | ||||||
|     width: 100%; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| body, html { |  | ||||||
|   height: 100%; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| body { |  | ||||||
|   font-family: sans-serif; |  | ||||||
|   margin: 0; |  | ||||||
|   display: flex; |  | ||||||
|   flex-direction: column; |  | ||||||
| } |  | ||||||
| a { |  | ||||||
|   color: blue; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .header { |  | ||||||
|   padding: 10px; |  | ||||||
|   text-align: center; |  | ||||||
|   background: url(../images/stars.png); |  | ||||||
|   background-size: cover; |  | ||||||
|   color: white; |  | ||||||
| } |  | ||||||
| .header h1 { |  | ||||||
|   font-size: 50px; |  | ||||||
|   font-weight: bold; |  | ||||||
|   transform-origin: 50% 100%; |  | ||||||
|   transform: perspective(350px) rotateX(25deg); |  | ||||||
|   color: yellow; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .navbar { |  | ||||||
|   overflow: hidden; |  | ||||||
|   background-color: #999; |  | ||||||
| } |  | ||||||
| .navbar a { |  | ||||||
|   float: left; |  | ||||||
|   display: block; |  | ||||||
|   color: white; |  | ||||||
|   text-align: center; |  | ||||||
|   padding: 14px 20px; |  | ||||||
|   text-decoration: none; |  | ||||||
| } |  | ||||||
| /* .navbar a.right { |  | ||||||
|   float: right; |  | ||||||
| } */ |  | ||||||
| .navbar a:hover { |  | ||||||
|   background-color: #ddd; |  | ||||||
|   color: black; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| * { |  | ||||||
|   box-sizing: border-box; |  | ||||||
| } |  | ||||||
| .row { |  | ||||||
|   flex: 1; |  | ||||||
|   display: flex; |  | ||||||
|   flex-wrap: wrap; |  | ||||||
| } |  | ||||||
| .side { |  | ||||||
|   width: 25%; |  | ||||||
|   background-color: lightgray; |  | ||||||
|   padding: 20px; |  | ||||||
| } |  | ||||||
| .main { |  | ||||||
|   width: 75%; |  | ||||||
|   background-color: white; |  | ||||||
|   padding: 20px; |  | ||||||
| } |  | ||||||
| .footer { |  | ||||||
|   padding: 20px; |  | ||||||
|   text-align: center; |  | ||||||
|   background: #ddd; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| @media (prefers-color-scheme: dark) { |  | ||||||
|   body { |  | ||||||
|     background-color: black; |  | ||||||
|   } |  | ||||||
|   a { |  | ||||||
|     color: #4da6ff; |  | ||||||
|   } |  | ||||||
|   .navbar { |  | ||||||
|     background-color: #222; |  | ||||||
|   } |  | ||||||
|   .navbar a { |  | ||||||
|     color: lightgray; |  | ||||||
|   } |  | ||||||
|   .navbar a:hover { |  | ||||||
|     background-color: #444; |  | ||||||
|     color: white; |  | ||||||
|   } |  | ||||||
|   .side { |  | ||||||
|     background-color: #111; |  | ||||||
|     color: lightgray; |  | ||||||
|   } |  | ||||||
|   .main { |  | ||||||
|     background-color: black; |  | ||||||
|     color: lightgray; |  | ||||||
|   } |  | ||||||
|   .footer { |  | ||||||
|     background: #222; |  | ||||||
|     color: lightgray; |  | ||||||
|   } |  | ||||||
|   max-width: 650px; |  | ||||||
| } |  | ||||||
							
								
								
									
										104
									
								
								assets/css/syntax-light.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								assets/css/syntax-light.css
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,104 @@ | |||||||
|  | /* tango style */ | ||||||
|  |  | ||||||
|  | @media print, (prefers-color-scheme: light) { | ||||||
|  |   .chroma { | ||||||
|  |     color: black; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  | /* Background */ .bg { background-color: #f8f8f8 } | ||||||
|  | /* PreWrapper */ .chroma { background-color: #f8f8f8; } | ||||||
|  | /* Other */ .chroma .x { color: #000000 } | ||||||
|  | /* Error */ .chroma .err { color: #a40000 } | ||||||
|  | /* CodeLine */ .chroma .cl {  } | ||||||
|  | /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } | ||||||
|  | /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; } | ||||||
|  | /* LineHighlight */ .chroma .hl { background-color: #ffffcc } | ||||||
|  | /* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } | ||||||
|  | /* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } | ||||||
|  | /* Line */ .chroma .line { display: flex; } | ||||||
|  | /* Keyword */ .chroma .k { color: #204a87; font-weight: bold } | ||||||
|  | /* KeywordConstant */ .chroma .kc { color: #204a87; font-weight: bold } | ||||||
|  | /* KeywordDeclaration */ .chroma .kd { color: #204a87; font-weight: bold } | ||||||
|  | /* KeywordNamespace */ .chroma .kn { color: #204a87; font-weight: bold } | ||||||
|  | /* KeywordPseudo */ .chroma .kp { color: #204a87; font-weight: bold } | ||||||
|  | /* KeywordReserved */ .chroma .kr { color: #204a87; font-weight: bold } | ||||||
|  | /* KeywordType */ .chroma .kt { color: #204a87; font-weight: bold } | ||||||
|  | /* Name */ .chroma .n { color: #000000 } | ||||||
|  | /* NameAttribute */ .chroma .na { color: #c4a000 } | ||||||
|  | /* NameBuiltin */ .chroma .nb { color: #204a87 } | ||||||
|  | /* NameBuiltinPseudo */ .chroma .bp { color: #3465a4 } | ||||||
|  | /* NameClass */ .chroma .nc { color: #000000 } | ||||||
|  | /* NameConstant */ .chroma .no { color: #000000 } | ||||||
|  | /* NameDecorator */ .chroma .nd { color: #5c35cc; font-weight: bold } | ||||||
|  | /* NameEntity */ .chroma .ni { color: #ce5c00 } | ||||||
|  | /* NameException */ .chroma .ne { color: #cc0000; font-weight: bold } | ||||||
|  | /* NameFunction */ .chroma .nf { color: #000000 } | ||||||
|  | /* NameFunctionMagic */ .chroma .fm { color: #000000 } | ||||||
|  | /* NameLabel */ .chroma .nl { color: #f57900 } | ||||||
|  | /* NameNamespace */ .chroma .nn { color: #000000 } | ||||||
|  | /* NameOther */ .chroma .nx { color: #000000 } | ||||||
|  | /* NameProperty */ .chroma .py { color: #000000 } | ||||||
|  | /* NameTag */ .chroma .nt { color: #204a87; font-weight: bold } | ||||||
|  | /* NameVariable */ .chroma .nv { color: #000000 } | ||||||
|  | /* NameVariableClass */ .chroma .vc { color: #000000 } | ||||||
|  | /* NameVariableGlobal */ .chroma .vg { color: #000000 } | ||||||
|  | /* NameVariableInstance */ .chroma .vi { color: #000000 } | ||||||
|  | /* NameVariableMagic */ .chroma .vm { color: #000000 } | ||||||
|  | /* Literal */ .chroma .l { color: #000000 } | ||||||
|  | /* LiteralDate */ .chroma .ld { color: #000000 } | ||||||
|  | /* LiteralString */ .chroma .s { color: #4e9a06 } | ||||||
|  | /* LiteralStringAffix */ .chroma .sa { color: #4e9a06 } | ||||||
|  | /* LiteralStringBacktick */ .chroma .sb { color: #4e9a06 } | ||||||
|  | /* LiteralStringChar */ .chroma .sc { color: #4e9a06 } | ||||||
|  | /* LiteralStringDelimiter */ .chroma .dl { color: #4e9a06 } | ||||||
|  | /* LiteralStringDoc */ .chroma .sd { color: #8f5902; font-style: italic } | ||||||
|  | /* LiteralStringDouble */ .chroma .s2 { color: #4e9a06 } | ||||||
|  | /* LiteralStringEscape */ .chroma .se { color: #4e9a06 } | ||||||
|  | /* LiteralStringHeredoc */ .chroma .sh { color: #4e9a06 } | ||||||
|  | /* LiteralStringInterpol */ .chroma .si { color: #4e9a06 } | ||||||
|  | /* LiteralStringOther */ .chroma .sx { color: #4e9a06 } | ||||||
|  | /* LiteralStringRegex */ .chroma .sr { color: #4e9a06 } | ||||||
|  | /* LiteralStringSingle */ .chroma .s1 { color: #4e9a06 } | ||||||
|  | /* LiteralStringSymbol */ .chroma .ss { color: #4e9a06 } | ||||||
|  | /* LiteralNumber */ .chroma .m { color: #0000cf; font-weight: bold } | ||||||
|  | /* LiteralNumberBin */ .chroma .mb { color: #0000cf; font-weight: bold } | ||||||
|  | /* LiteralNumberFloat */ .chroma .mf { color: #0000cf; font-weight: bold } | ||||||
|  | /* LiteralNumberHex */ .chroma .mh { color: #0000cf; font-weight: bold } | ||||||
|  | /* LiteralNumberInteger */ .chroma .mi { color: #0000cf; font-weight: bold } | ||||||
|  | /* LiteralNumberIntegerLong */ .chroma .il { color: #0000cf; font-weight: bold } | ||||||
|  | /* LiteralNumberOct */ .chroma .mo { color: #0000cf; font-weight: bold } | ||||||
|  | /* Operator */ .chroma .o { color: #ce5c00; font-weight: bold } | ||||||
|  | /* OperatorWord */ .chroma .ow { color: #204a87; font-weight: bold } | ||||||
|  | /* Punctuation */ .chroma .p { color: #000000; font-weight: bold } | ||||||
|  | /* Comment */ .chroma .c { color: #8f5902; font-style: italic } | ||||||
|  | /* CommentHashbang */ .chroma .ch { color: #8f5902; font-style: italic } | ||||||
|  | /* CommentMultiline */ .chroma .cm { color: #8f5902; font-style: italic } | ||||||
|  | /* CommentSingle */ .chroma .c1 { color: #8f5902; font-style: italic } | ||||||
|  | /* CommentSpecial */ .chroma .cs { color: #8f5902; font-style: italic } | ||||||
|  | /* CommentPreproc */ .chroma .cp { color: #8f5902; font-style: italic } | ||||||
|  | /* CommentPreprocFile */ .chroma .cpf { color: #8f5902; font-style: italic } | ||||||
|  | /* Generic */ .chroma .g { color: #000000 } | ||||||
|  | /* GenericDeleted */ .chroma .gd { color: #a40000 } | ||||||
|  | /* GenericEmph */ .chroma .ge { color: #000000; font-style: italic } | ||||||
|  | /* GenericError */ .chroma .gr { color: #ef2929 } | ||||||
|  | /* GenericHeading */ .chroma .gh { color: #000080; font-weight: bold } | ||||||
|  | /* GenericInserted */ .chroma .gi { color: #00a000 } | ||||||
|  | /* GenericOutput */ .chroma .go { color: #000000; font-style: italic } | ||||||
|  | /* GenericPrompt */ .chroma .gp { color: #8f5902 } | ||||||
|  | /* GenericStrong */ .chroma .gs { color: #000000; font-weight: bold } | ||||||
|  | /* GenericSubheading */ .chroma .gu { color: #800080; font-weight: bold } | ||||||
|  | /* GenericTraceback */ .chroma .gt { color: #a40000; font-weight: bold } | ||||||
|  | /* GenericUnderline */ .chroma .gl { color: #000000; text-decoration: underline } | ||||||
|  | /* TextWhitespace */ .chroma .w { color: #f8f8f8; text-decoration: underline } | ||||||
|  |  | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @media (prefers-color-scheme: light) { | ||||||
|  |   /* Background */ .chroma { background-color: #f8f8f8 } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @media print { | ||||||
|  |   .chroma { | ||||||
|  |     background-color: white; | ||||||
|  |   } | ||||||
|  | } | ||||||
| @@ -1,11 +1,16 @@ | |||||||
| /* Background */ .chroma { color: #d0d0d0; background-color: #202020 } | /* native style */ | ||||||
|  |  | ||||||
|  | /* Background */ .bg { color: #d0d0d0; background-color: #202020 } | ||||||
|  | /* PreWrapper */ .chroma { color: #d0d0d0; background-color: #202020; } | ||||||
| /* Other */ .chroma .x {  } | /* Other */ .chroma .x {  } | ||||||
| /* Error */ .chroma .err { color: #a61717; background-color: #e3d2d2 } | /* Error */ .chroma .err { color: #a61717; background-color: #e3d2d2 } | ||||||
|  | /* CodeLine */ .chroma .cl {  } | ||||||
| /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } | /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } | ||||||
| /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } | /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; } | ||||||
| /* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #363636 } | /* LineHighlight */ .chroma .hl { background-color: #ffffcc } | ||||||
| /* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #686868 } | /* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #686868 } | ||||||
| /* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #686868 } | /* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #686868 } | ||||||
|  | /* Line */ .chroma .line { display: flex; } | ||||||
| /* Keyword */ .chroma .k { color: #6ab825; font-weight: bold } | /* Keyword */ .chroma .k { color: #6ab825; font-weight: bold } | ||||||
| /* KeywordConstant */ .chroma .kc { color: #6ab825; font-weight: bold } | /* KeywordConstant */ .chroma .kc { color: #6ab825; font-weight: bold } | ||||||
| /* KeywordDeclaration */ .chroma .kd { color: #6ab825; font-weight: bold } | /* KeywordDeclaration */ .chroma .kd { color: #6ab825; font-weight: bold } | ||||||
|   | |||||||
 Submodule assets/feather deleted from 734f3f5114
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 20 KiB | 
							
								
								
									
										1
									
								
								assets/jam
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/jam
									
									
									
									
									
										Submodule
									
								
							 Submodule assets/jam added at c8501b14e0
									
								
							
							
								
								
									
										35
									
								
								assets/js/bobatheme.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								assets/js/bobatheme.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | |||||||
|  | // back to top | ||||||
|  | const backToTop = document.getElementById("back-to-top"); | ||||||
|  | window.onscroll = function() { | ||||||
|  |     if (document.body.scrollTop > 100 || document.documentElement.scrollTop > 100) { | ||||||
|  |         backToTop.style.display = "block"; | ||||||
|  |     } else { | ||||||
|  |         backToTop.style.display = "none"; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // code block copy to clipboard | ||||||
|  | window.onload = () => { | ||||||
|  |     document.querySelectorAll(".code-block").forEach(codeBlock => { | ||||||
|  |         const button = codeBlock.querySelector(".code-header > .code-copy-button"); | ||||||
|  |  | ||||||
|  |         // lang will not be unset because we default it to text | ||||||
|  |         // clone it so it doesn't change the actual DOM element | ||||||
|  |         const codeElem = codeBlock.querySelector("code[data-lang]").cloneNode(true); | ||||||
|  |         // bashsession: remove command output lines | ||||||
|  |         codeElem.querySelectorAll(".go").forEach(e => e.parentNode.removeChild(e)); | ||||||
|  |         // bashsession: remove prompt symbol | ||||||
|  |         codeElem.querySelectorAll(".gp").forEach(e => e.parentNode.removeChild(e)); | ||||||
|  |         const rawCode = codeElem.innerText; | ||||||
|  |  | ||||||
|  |         const originalCopyText = button.innerHTML; | ||||||
|  |         button.onclick = event => { | ||||||
|  |             navigator.clipboard.writeText(rawCode); | ||||||
|  |             // TODO: maybe we could add a fancier indicator, like a flash or something | ||||||
|  |             event.target.innerHTML = "Copied!"; | ||||||
|  |             setTimeout(() => { | ||||||
|  |                 event.target.innerHTML = originalCopyText; | ||||||
|  |             }, 3000); | ||||||
|  |         } | ||||||
|  |     }); | ||||||
|  | } | ||||||
							
								
								
									
										3
									
								
								assets/js/share-event.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								assets/js/share-event.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | function share_event(service) { | ||||||
|  |     // this function does nothing by default | ||||||
|  | } | ||||||
							
								
								
									
										26
									
								
								config.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								config.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | markup: | ||||||
|  |   highlight: | ||||||
|  |     noClasses: false | ||||||
|  |     lineNos: true | ||||||
|  |  | ||||||
|  | params: | ||||||
|  |   readingtime: true | ||||||
|  |  | ||||||
|  | taxonomies: | ||||||
|  |   category: categories | ||||||
|  |   tag: tags | ||||||
|  |   author: authors | ||||||
|  |   series: series | ||||||
|  |  | ||||||
|  | privacy: | ||||||
|  |   googleAnalytics: | ||||||
|  |     disable: true | ||||||
|  |  | ||||||
|  |   twitter: | ||||||
|  |     enableDNT: true | ||||||
|  |  | ||||||
|  |   vimeo: | ||||||
|  |     enableDNT: true | ||||||
|  |  | ||||||
|  |   youtube: | ||||||
|  |     privacyEnhanced: true | ||||||
| @@ -1,12 +0,0 @@ | |||||||
| 1 = "enero" |  | ||||||
| 2 = "febrero" |  | ||||||
| 3 = "marzo" |  | ||||||
| 4 = "abril" |  | ||||||
| 5 = "mayo" |  | ||||||
| 6 = "julio" |  | ||||||
| 7 = "junio" |  | ||||||
| 8 = "agosto" |  | ||||||
| 9 = "septiembre" |  | ||||||
| 10 = "octubre" |  | ||||||
| 11 = "noviembre" |  | ||||||
| 12 = "diciembre" |  | ||||||
| @@ -1,41 +0,0 @@ | |||||||
| baseURL = "https://example.com" |  | ||||||
| theme = "bobatheme" |  | ||||||
| defaultContentLanguage = "en" |  | ||||||
| author = "bbaovanc" |  | ||||||
| sectionPagesMenu = "main" |  | ||||||
| enableRobotsTXT = true |  | ||||||
| paginate = 5 |  | ||||||
| enableGitInfo = true |  | ||||||
|  |  | ||||||
| [markup] |  | ||||||
|   [markup.highlight] |  | ||||||
|     noClasses = false |  | ||||||
|     lineNos = true |  | ||||||
|  |  | ||||||
| [params] |  | ||||||
|   # these are for the OpenGraph/Twitter embeds in Hugo |  | ||||||
|   description = "Example website for bobatheme" |  | ||||||
|  |  | ||||||
|   # these are for favicons in bobatheme |  | ||||||
|   faviconICO = "/favicon.ico" |  | ||||||
|   faviconPNG = "/favicon.png" |  | ||||||
|  |  | ||||||
|   # show word count and/or reading time |  | ||||||
|   wordcount = true |  | ||||||
|   readingtime = true |  | ||||||
|  |  | ||||||
|   # used for last update |  | ||||||
|   repoURL = "https://github.com/BBaoVanC/bobatheme" |  | ||||||
|  |  | ||||||
| [languages] |  | ||||||
|   [languages.en] |  | ||||||
|     languageName = "English" |  | ||||||
|     title = "Example Website" |  | ||||||
|     weight = 1 |  | ||||||
|  |  | ||||||
|   [languages.es] |  | ||||||
|     languageName = "Español" |  | ||||||
|     title = "Sitio web ejemplo" |  | ||||||
|     weight = 2 |  | ||||||
|     [languages.es.params] |  | ||||||
|       description = "Sitio web ejemplo para bobatheme" |  | ||||||
							
								
								
									
										63
									
								
								exampleSite/config.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								exampleSite/config.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | |||||||
|  | baseURL: https://example.com | ||||||
|  | theme: bobatheme | ||||||
|  | defaultContentLanguage: en | ||||||
|  | copyright: '© 2021 bbaovanc <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>' | ||||||
|  | sectionPagesMenu: main | ||||||
|  | enableRobotsTXT: true | ||||||
|  | paginate: 5 | ||||||
|  | enableGitInfo: true | ||||||
|  |  | ||||||
|  | taxonomies: | ||||||
|  |   _merge: deep | ||||||
|  |  | ||||||
|  | author: | ||||||
|  |   name: bbaovanc | ||||||
|  |  | ||||||
|  | markup: # this just keeps the bobatheme markup styling | ||||||
|  |   _merge: deep | ||||||
|  |  | ||||||
|  | params: | ||||||
|  |   # these are for the OpenGraph/Twitter embeds in Hugo | ||||||
|  |   description: Example website for bobatheme | ||||||
|  |  | ||||||
|  |   # these are for favicons in bobatheme (disabled by default) | ||||||
|  |   # faviconSVG: favicon.svg | ||||||
|  |   # appleTouchPNG: apple-touch-icon.png | ||||||
|  |  | ||||||
|  |   # show reading time (enabled by default) | ||||||
|  |   # readingtime: true | ||||||
|  |  | ||||||
|  |   # used for "View source" (unset by default) | ||||||
|  |   # gitFileURL: https://github.com/BBaoVanC/bobatheme/blob/master | ||||||
|  |   # gitFileIcon: github-circle | ||||||
|  |   # gitHistoryURL: https://github.com/BBaoVanC/bobatheme/commits/master | ||||||
|  |  | ||||||
|  |   # display a "Latest Posts" section on the homepage below its content | ||||||
|  |   homepageLatestPosts: true | ||||||
|  |  | ||||||
|  |   # social media share icons | ||||||
|  |   # shareButtons: | ||||||
|  |   #   twitter: true | ||||||
|  |   #   facebook: true | ||||||
|  |   #   linkedin: true | ||||||
|  |   #   reddit: true | ||||||
|  |   #   telegram: true | ||||||
|  |   #   print: true | ||||||
|  |  | ||||||
|  |   # show "Latest Posts" section at bottom of content pages | ||||||
|  |   # latestPostsOnContent: true | ||||||
|  |  | ||||||
|  |   # footer: >- | ||||||
|  |   #   Some example text for the footer. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # see https://gohugo.io/about/hugo-and-gdpr/#all-privacy-settings | ||||||
|  | # you probably want to keep this default | ||||||
|  | privacy: | ||||||
|  |   _merge: deep | ||||||
|  |  | ||||||
|  | languages: | ||||||
|  |   en: | ||||||
|  |     languageName: English | ||||||
|  |     title: Example Website | ||||||
|  |     weight: 1 | ||||||
							
								
								
									
										31
									
								
								i18n/en.toml
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								i18n/en.toml
									
									
									
									
									
								
							| @@ -1,31 +0,0 @@ | |||||||
| [credit_comment] |  | ||||||
|   other = "<!-- bobatheme is available under the MIT license at https://github.com/BBaoVanC/bobatheme. -->" |  | ||||||
|  |  | ||||||
| [long_date] |  | ||||||
|   other = "{{ .Date.Format `January 2, 2006` }}" |  | ||||||
|  |  | ||||||
| [wordcount] |  | ||||||
|   one = "{{ . }} word" |  | ||||||
|   other = "{{ . }} words" |  | ||||||
|  |  | ||||||
| [readingtime] |  | ||||||
|   one = "{{ . }} min" |  | ||||||
|   other = "{{ . }} mins" |  | ||||||
|  |  | ||||||
| [read_more] |  | ||||||
|   other = "Read more" |  | ||||||
|  |  | ||||||
|  |  | ||||||
| [browser_no_video_support] |  | ||||||
|   other = "Your browser does not support video." |  | ||||||
|  |  | ||||||
|  |  | ||||||
| [filtering_for] |  | ||||||
|   other = "Filtering for \"{{ . }}\"" |  | ||||||
|  |  | ||||||
| [no_posts] |  | ||||||
|   other = "No posts here!" |  | ||||||
|  |  | ||||||
|  |  | ||||||
| [table_of_contents] |  | ||||||
|   other = "Table of Contents" |  | ||||||
							
								
								
									
										137
									
								
								i18n/en.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										137
									
								
								i18n/en.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,137 @@ | |||||||
|  | # Misc | ||||||
|  | credit_comment: | ||||||
|  |   other: "<!-- bobatheme is available under the MIT license at https://github.com/BBaoVanC/bobatheme. -->" | ||||||
|  |  | ||||||
|  | table_of_contents: | ||||||
|  |   other: "Table of Contents" | ||||||
|  |  | ||||||
|  | browser_no_video_support: | ||||||
|  |   other: "Your browser does not support video." | ||||||
|  |  | ||||||
|  | latest_posts: | ||||||
|  |   other: "Latest Posts" | ||||||
|  |  | ||||||
|  | see_also: | ||||||
|  |   other: "SEE ALSO:" | ||||||
|  |  | ||||||
|  | copy_to_clipboard: | ||||||
|  |   other: "Copy" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Meta items | ||||||
|  | wordcount: | ||||||
|  |   one: "{{ . }} word" | ||||||
|  |   other: "{{ . }} words" | ||||||
|  |  | ||||||
|  | readingtime: | ||||||
|  |   one: "{{ . }} min" | ||||||
|  |   other: "{{ . }} mins" | ||||||
|  |  | ||||||
|  | edit_history: | ||||||
|  |   other: "Edit history" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Post count | ||||||
|  | no_posts: | ||||||
|  |   other: "No posts here!" | ||||||
|  |  | ||||||
|  | post_count: | ||||||
|  |   one: "{{ . }} post" | ||||||
|  |   other: "{{ . }} posts" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Navigation | ||||||
|  | read_more: | ||||||
|  |   other: "Read more" | ||||||
|  |  | ||||||
|  | related_posts: | ||||||
|  |   other: "Related Posts" | ||||||
|  |  | ||||||
|  | older_post: | ||||||
|  |   other: "Older" | ||||||
|  |  | ||||||
|  | newer_post: | ||||||
|  |   other: "Newer" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # ARIA labels | ||||||
|  | aria_heading_link: | ||||||
|  |   other: "heading link" | ||||||
|  |  | ||||||
|  | aria_back_to_top_button: | ||||||
|  |   other: "back to top button" | ||||||
|  |  | ||||||
|  | aria_rss_link: | ||||||
|  |   other: "RSS feed link" | ||||||
|  |  | ||||||
|  | aria_post_meta_edit_history: | ||||||
|  |   other: "link to page edit history" | ||||||
|  |  | ||||||
|  | aria_post_meta_categories: | ||||||
|  |   other: "categories" | ||||||
|  |  | ||||||
|  | aria_post_meta_tags: | ||||||
|  |   other: "tags" | ||||||
|  |  | ||||||
|  | aria_post_meta_reading_time: | ||||||
|  |   other: "reading time" | ||||||
|  |  | ||||||
|  | aria_post_meta_authors: | ||||||
|  |   other: "authors" | ||||||
|  |  | ||||||
|  | aria_post_meta_series: | ||||||
|  |   other: "series" | ||||||
|  |  | ||||||
|  | aria_breadcrumbnav: | ||||||
|  |   other: "breadcrumb navigation bar" | ||||||
|  |  | ||||||
|  | aria_post_metadata: | ||||||
|  |   other: "post metadata" | ||||||
|  |  | ||||||
|  | aria_author_metadata: | ||||||
|  |   other: "author metadata" | ||||||
|  |  | ||||||
|  | aria_taxonomy_metadata: | ||||||
|  |   other: "taxonomy metadata" | ||||||
|  |  | ||||||
|  | aria_post_meta_date: | ||||||
|  |   other: "date" | ||||||
|  |  | ||||||
|  | aria_post_meta_modified_date: | ||||||
|  |   other: "last modified date" | ||||||
|  |  | ||||||
|  | aria_author_post_count: | ||||||
|  |   other: "post count" | ||||||
|  |  | ||||||
|  | aria_author_word_count: | ||||||
|  |   other: "word count" | ||||||
|  |  | ||||||
|  | aria_taxonomy_post_count: | ||||||
|  |   other: "post count" | ||||||
|  |  | ||||||
|  | aria_series_metadata: | ||||||
|  |   other: "series metadata" | ||||||
|  |  | ||||||
|  | aria_navbar: | ||||||
|  |   other: "navigation bar" | ||||||
|  |  | ||||||
|  | aria_table_of_contents: | ||||||
|  |   other: "table of contents" | ||||||
|  |  | ||||||
|  | aria_share_twitter: | ||||||
|  |   other: "share to twitter button" | ||||||
|  |  | ||||||
|  | aria_share_facebook: | ||||||
|  |   other: "share to facebook button" | ||||||
|  |  | ||||||
|  | aria_share_linkedin: | ||||||
|  |   other: "share to linkedin button" | ||||||
|  |  | ||||||
|  | aria_share_reddit: | ||||||
|  |   other: "share to reddit button" | ||||||
|  |  | ||||||
|  | aria_share_telegram: | ||||||
|  |   other: "share to telegram button" | ||||||
|  |  | ||||||
|  | aria_share_print: | ||||||
|  |   other: "print article button" | ||||||
							
								
								
									
										31
									
								
								i18n/es.toml
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								i18n/es.toml
									
									
									
									
									
								
							| @@ -1,31 +0,0 @@ | |||||||
| [credit_comment] |  | ||||||
|   other = "<!-- bobatheme está disponible en GitHub basado en la licensia MIT: https://github.com/BBaoVanC/bobatheme. -->" |  | ||||||
|  |  | ||||||
| [long_date] |  | ||||||
|   other = "{{ .Date.Day }} de {{ index .Data.meses (printf `%d` .Date.Month) }} de {{ .Date.Year }}" |  | ||||||
|  |  | ||||||
| [wordcount] |  | ||||||
|   one = "{{ . }} palabra" |  | ||||||
|   other = "{{ . }} palabras" |  | ||||||
|  |  | ||||||
| [readingtime] |  | ||||||
|   one = "{{ . }} min" |  | ||||||
|   other = "{{ . }} mins" |  | ||||||
|  |  | ||||||
| [read_more] |  | ||||||
|   other = "Leer más" |  | ||||||
|  |  | ||||||
|  |  | ||||||
| [browser_no_video_support] |  | ||||||
|   other = "Tu navegador de internet no admite video." |  | ||||||
|  |  | ||||||
|  |  | ||||||
| [filtering_for] |  | ||||||
|   other = "Filtrando por \"{{ . }}\"" |  | ||||||
|  |  | ||||||
| [no_posts] |  | ||||||
|   other = "¡No hay contenido para mostrar!" |  | ||||||
|  |  | ||||||
|  |  | ||||||
| [table_of_contents] |  | ||||||
|   other = "Índice" |  | ||||||
							
								
								
									
										15
									
								
								layouts/_default/_markup/render-codeblock.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								layouts/_default/_markup/render-codeblock.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | {{ $type := "text" }} | ||||||
|  | {{ with .Type }} | ||||||
|  |     {{ $type = . }} | ||||||
|  | {{ end }} | ||||||
|  | <div class="code-block"> | ||||||
|  |     <div class="code-header"> | ||||||
|  |         <pre class="code-type">{{ $type }}</pre> | ||||||
|  |         <a href="javascript:void(0)" class="code-copy-button"> | ||||||
|  |             {{ i18n "copy_to_clipboard" }} | ||||||
|  |         </a> | ||||||
|  |     </div> | ||||||
|  |  | ||||||
|  |     {{/* a div.highlight is already created by highlight function */}} | ||||||
|  |     {{ highlight .Inner $type }} | ||||||
|  | </div> | ||||||
| @@ -1,7 +1,7 @@ | |||||||
| <h{{ .Level }} id="{{ .Anchor | safeURL }}" class="section-header"> | <h{{ .Level }} id="{{ .Anchor | safeURL }}" class="section-heading"> | ||||||
|     {{ .Text | safeHTML }} |     {{ .Text | safeHTML }} | ||||||
|     <a href="#{{ .Anchor | safeURL }}"> |     <a class="heading-link" href="#{{ .Anchor | safeURL }}"> | ||||||
|         <span class="section-header-link"> |         <span aria-label="{{ i18n "aria_heading_link" }}"> | ||||||
|             {{ partial "icon.html" "link" }} |             {{ partial "icon.html" "link" }} | ||||||
|         </span> |         </span> | ||||||
|     </a> |     </a> | ||||||
|   | |||||||
| @@ -1 +1,8 @@ | |||||||
| <a href="{{ .Destination | safeURL }}"{{ with .Title}}title="{{ . }}"{{ end }}{{ if strings.HasPrefix .Destination "http" }}target="_blank" rel="noopener"{{ end }}>{{ .Text | safeHTML }}</a>{{/* DO NOT REMOVE THE TRAILING NEWLINE HERE -- it prevents there from being whitespace in between the link and the next word/element (for example: if there's a period right after a link) */}} | <a | ||||||
|  |     href="{{ .Destination | safeURL }}" | ||||||
|  |     {{ with .Title }}title="{{ . }}"{{ end }} | ||||||
|  |     {{ if strings.HasPrefix .Destination "http" }}target="_blank" rel="noopener"{{ end }} | ||||||
|  | > | ||||||
|  |     {{- .Text | safeHTML -}} | ||||||
|  | </a> | ||||||
|  | {{- /* This comment gets rid of the trailing newline. */ -}} | ||||||
|   | |||||||
| @@ -1,30 +1,45 @@ | |||||||
| {{ partial "credit.html" }} | {{ i18n "credit_comment" | safeHTML }} | ||||||
| <!DOCTYPE html> | <!DOCTYPE html> | ||||||
| <html lang="{{ .Language.Lang }}"> | <html lang="{{ .Language.Lang }}"> | ||||||
|     {{- partial "head.html" . -}} |     {{ partial "head.html" . }} | ||||||
|  |  | ||||||
|     <body> |     <body> | ||||||
|         <div class="top"> |         <a id="top" aria-hidden="true"></a> | ||||||
|  |  | ||||||
|         {{ partial "top.html" . }} |         {{ partial "top.html" . }} | ||||||
|         </div> |  | ||||||
|  |  | ||||||
|         <div class="content"> |         {{ if not .IsHome }} | ||||||
|         {{- block "main" . }} |             {{ partial "breadcrumb.html" . }} | ||||||
|         {{ .Content }} |         {{ end }} | ||||||
|         {{- end }} |  | ||||||
|         </div> |  | ||||||
|  |  | ||||||
|         {{ with .Site.Copyright }} |         <main> | ||||||
|  |             {{ block "main" . }} | ||||||
|  |                 THIS TEXT SHOULD NOT SHOW. YUZSIQGHE (that string is so I can grep for it) | ||||||
|  |             {{ end }} | ||||||
|  |         </main> | ||||||
|  |  | ||||||
|  |         {{ if or .Site.Copyright .Site.Params.footer }} | ||||||
|             <footer> |             <footer> | ||||||
|             <hr> |                 {{ with .Site.Copyright }} | ||||||
|             <small> |                     <p>{{ . | safeHTML }}</p> | ||||||
|                 © |                 {{ end }} | ||||||
|                 {{ now.Format "2006" }} |  | ||||||
|                 {{ $.Site.Author.name }} |                 {{ with .Site.Params.footer }} | ||||||
|                 {{ . | safeHTML }} |                     {{ . | $.RenderString (dict "display" "block") }} | ||||||
|             </small> |                 {{ end }} | ||||||
|             </footer> |             </footer> | ||||||
|         {{ end }} |         {{ end }} | ||||||
|  |  | ||||||
|  |         <a id="back-to-top" href="#top" aria-label="{{ i18n "aria_back_to_top_button" }}"> | ||||||
|  |             {{ partial "icon.html" "chevron-up" }} | ||||||
|  |         </a> | ||||||
|  |         <noscript> | ||||||
|  |             <style> | ||||||
|  |                 #back-to-top { | ||||||
|  |                     display: block; | ||||||
|  |                 } | ||||||
|  |             </style> | ||||||
|  |         </noscript> | ||||||
|     </body> |     </body> | ||||||
|  |  | ||||||
| </html> | </html> | ||||||
|   | |||||||
| @@ -1,27 +1,25 @@ | |||||||
| {{ define "main" }} | {{ define "main" }} | ||||||
|  |     <h1> | ||||||
| <h1> |  | ||||||
|         {{ with .Params.icon }}{{ partial "icon.html" . }}{{ end }} |         {{ with .Params.icon }}{{ partial "icon.html" . }}{{ end }} | ||||||
|         {{ .Title | markdownify }} |         {{ .Title | markdownify }} | ||||||
|     <span class="rss-link"> |         {{ partial "rss-link.html" . }} | ||||||
|         {{ with .OutputFormats.Get "rss" }} |     </h1> | ||||||
|         <a href="{{ .Permalink }}">{{ partial "icon.html" "rss" }}</a> |  | ||||||
|         {{ end }} |  | ||||||
|     </span> |  | ||||||
| </h1> |  | ||||||
|  |  | ||||||
| <div class="posts"> |     {{ with .Content }} | ||||||
|     {{ range .Paginator.Pages }} |         {{ . }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     <div class="list-page-container"> | ||||||
|  |         {{ with .Sections }} | ||||||
|  |             <div class="sections"> | ||||||
|  |                 {{ range . }} | ||||||
|                     {{ .Render "summary" }} |                     {{ .Render "summary" }} | ||||||
|     {{ else }} |  | ||||||
|         {{ i18n "no_posts" }} |  | ||||||
|                 {{ end }} |                 {{ end }} | ||||||
| </div> |             </div> | ||||||
|  |         {{ end }} | ||||||
|  |  | ||||||
| {{ if gt .Paginator.TotalPages 1 }} |         {{ partial "page-list.html" .Paginator.Pages }} | ||||||
| <div class="pagination"> |     </div> | ||||||
|     {{ template "_internal/pagination.html" . }} |  | ||||||
| </div> |  | ||||||
| {{ end }} |  | ||||||
|  |  | ||||||
|  |     {{ partial "pagination.html" . }} | ||||||
| {{ end }} | {{ end }} | ||||||
|   | |||||||
| @@ -1,27 +1,89 @@ | |||||||
| {{ define "main" }} | {{ define "main" }} | ||||||
| <div class="post-title"> |     <div class="page-title"> | ||||||
|         <h1> |         <h1> | ||||||
|             {{ .Title | markdownify }} |             {{ .Title | markdownify }} | ||||||
|         {{ if .Draft }}{{ partial "icon.html" "edit" }}{{ end }} |             {{ if .Draft }}{{ partial "icon.html" "write" }}{{ end }} | ||||||
|         </h1> |         </h1> | ||||||
| </div> |     </div> | ||||||
|  |  | ||||||
| {{ partial "post-metadata.html" . }} |     {{ partial "page-metadata/post-full.html" . }} | ||||||
|  |     {{ partial "series-box.html" . }} | ||||||
|  |  | ||||||
| {{ if .Params.Toc }} |     {{ if .Params.Toc }} | ||||||
| <div id="table-of-contents"> |         <div class="table-of-contents" aria-label="{{ i18n "aria_table_of_contents" }}"> | ||||||
|     <h2>{{ i18n "table_of_contents" }}</h2> |             <details> | ||||||
|  |                 <summary>{{ i18n "table_of_contents" }}</summary> | ||||||
|                 {{ .TableOfContents }} |                 {{ .TableOfContents }} | ||||||
| </div> |             </details> | ||||||
| {{ end }} |         </div> | ||||||
|  |         <div class="table-of-contents print"> | ||||||
|  |             {{ i18n "table_of_contents" }} | ||||||
|  |             {{ .TableOfContents }} | ||||||
|  |         </div> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
| <hr> |     {{ with .Resources.GetMatch "feature" }} | ||||||
|  |         <div class="post-media"> | ||||||
|  |             {{ partial "figure.html" (dict "src" .) }} | ||||||
|  |         </div> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
| {{ with .Resources.GetMatch "feature" }} |     <article class="post-content"> | ||||||
| <div class="post-media"> |         {{ .Content }} | ||||||
|     {{ partial "figure.html" . }} |     </article> | ||||||
| </div> |  | ||||||
| {{ end }} |  | ||||||
|  |  | ||||||
| {{ .Content }} |     {{ partial "series-box.html" . }} | ||||||
|  |  | ||||||
|  |     {{ if or .NextInSection .PrevInSection }} | ||||||
|  |         <div class="prevnext"> | ||||||
|  |             {{ with .NextInSection }} | ||||||
|  |                 <a class="prev" href="{{ .Permalink }}"> | ||||||
|  |                     <div class="prev-caption"> | ||||||
|  |                         ← {{ i18n "newer_post" }} | ||||||
|  |                     </div> | ||||||
|  |                     <div class="prev-post"> | ||||||
|  |                         {{ .Title | markdownify }} | ||||||
|  |                     </div> | ||||||
|  |                 </a> | ||||||
|  |             {{ else }} | ||||||
|  |                 <div class="prev"></div> | ||||||
|  |             {{ end }} | ||||||
|  |  | ||||||
|  |             {{ with .PrevInSection }} | ||||||
|  |                 <a class="next" href="{{ .Permalink }}"> | ||||||
|  |                     <div class="next-caption"> | ||||||
|  |                         {{ i18n "older_post" }} → | ||||||
|  |                     </div> | ||||||
|  |                     <div class="next-post"> | ||||||
|  |                         {{ .Title | markdownify }} | ||||||
|  |                     </div> | ||||||
|  |                 </a> | ||||||
|  |             {{ else }} | ||||||
|  |                 <div class="next"></div> | ||||||
|  |             {{ end }} | ||||||
|  |         </div> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ if .Site.Params.shareButtons }} | ||||||
|  |         {{ partial "share.html" . }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ if .Params.comments }} | ||||||
|  |         <div class="comments"> | ||||||
|  |             {{ partial "comments.html" . }} | ||||||
|  |         </div> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ $related := .Site.RegularPages.Related . | first 10 }} | ||||||
|  |     {{ with $related }} | ||||||
|  |         <div class="related-posts full-width-page-list"> | ||||||
|  |             <hr> | ||||||
|  |             <h1>{{ i18n "related_posts" }}</h1> | ||||||
|  |             {{ partial "page-list.html" . }} | ||||||
|  |         </div> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ if .Site.Params.latestPostsOnContent }} | ||||||
|  |         {{ partialCached "latest-posts.html" . }} | ||||||
|  |     {{ end }} | ||||||
| {{ end }} | {{ end }} | ||||||
|   | |||||||
| @@ -1,33 +1,21 @@ | |||||||
| <div class="post"> | <h2 class="page-title"> | ||||||
|     <h2 class="post-title"> |  | ||||||
|         {{ range .Params.categories }} |  | ||||||
|         <code>{{ . }}</code> |  | ||||||
|         {{ end }} |  | ||||||
|  |  | ||||||
|     {{ with .Parent.Params.icon }}{{ partial "icon.html" . }}{{ end }} |     {{ with .Parent.Params.icon }}{{ partial "icon.html" . }}{{ end }} | ||||||
|         <a href="{{ .Permalink }}">{{ .Title | markdownify }}</a> |     <a class="heading-link" href="{{ .Permalink }}">{{ .Title | markdownify }}</a> | ||||||
|         {{ if .Draft }}{{ partial "icon.html" "edit" }}{{ end }} |     {{ if .Draft }}{{ partial "icon.html" "write" }}{{ end }} | ||||||
|     </h2> | </h2> | ||||||
|  |  | ||||||
|     {{ partial "post-metadata.html" . }} | {{ partial "page-metadata/post-short.html" . }} | ||||||
|  |  | ||||||
|     {{ with .Resources.GetMatch "feature" }} | {{ with .Resources.GetMatch "feature" }} | ||||||
|     <div class="post-media"> |     <div class="post-media"> | ||||||
|         {{ partial "figure.html" . }} |         {{ partial "figure.html" (dict "src" .) }} | ||||||
|     </div> |     </div> | ||||||
|     {{ end }} | {{ end }} | ||||||
|  |  | ||||||
|     <div class="post-description"> | <div class="page-description"> | ||||||
|         {{ if .Description }} |     {{ partial "description-or-summary.html" . }} | ||||||
|         <p> | </div> | ||||||
|             {{ .Description | markdownify }} |  | ||||||
|         </p> | <div class="readmore"> | ||||||
|         {{ else }} |     <a href="{{ .Permalink }}">{{ i18n "read_more" }} →</a> | ||||||
|         {{ .Summary }} |  | ||||||
|         {{ end }} |  | ||||||
|     </div> |  | ||||||
|  |  | ||||||
|     <div class="readmore"> |  | ||||||
|         <a href="{{ .Permalink }}">{{ i18n "read_more" }} →</a> |  | ||||||
|     </div> |  | ||||||
| </div> | </div> | ||||||
|   | |||||||
							
								
								
									
										24
									
								
								layouts/authors/list.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								layouts/authors/list.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | |||||||
|  | {{ define "main" }} | ||||||
|  |     <h1> | ||||||
|  |         {{ partial "icon.html" "user-circle" }} | ||||||
|  |         {{ .Title | markdownify }} | ||||||
|  |     </h1> | ||||||
|  |  | ||||||
|  |     {{ with .Content }} | ||||||
|  |         {{ . }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     <div class="page-list"> | ||||||
|  |         {{ with .Paginator.Pages }} | ||||||
|  |             {{ range . }} | ||||||
|  |                 <article class="page"> | ||||||
|  |                     {{ .Render "summary" }} | ||||||
|  |                 </article> | ||||||
|  |             {{ end }} | ||||||
|  |         {{ else }} | ||||||
|  |             <div> | ||||||
|  |                 {{ i18n "no_posts" }} | ||||||
|  |             </div> | ||||||
|  |         {{ end }} | ||||||
|  |     </div> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										14
									
								
								layouts/authors/summary.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								layouts/authors/summary.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | <h2 class="page-title"> | ||||||
|  |     <a class="heading-link" href="{{ .Permalink }}">{{ .Title | markdownify }}</a> | ||||||
|  |     {{ if .Draft }}{{ partial "icon.html" "write" }}{{ end }} | ||||||
|  | </h2> | ||||||
|  |  | ||||||
|  | {{ partial "page-metadata/author.html" . }} | ||||||
|  |  | ||||||
|  | <div class="page-description"> | ||||||
|  |     {{ partial "description-or-summary.html" . }} | ||||||
|  | </div> | ||||||
|  |  | ||||||
|  | <div class="readmore"> | ||||||
|  |     <a href="{{ .Permalink }}">{{ i18n "read_more" }} →</a> | ||||||
|  | </div> | ||||||
							
								
								
									
										19
									
								
								layouts/authors/term.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								layouts/authors/term.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | {{ define "main" }} | ||||||
|  |     <div class="page-title"> | ||||||
|  |         <h1> | ||||||
|  |             {{ partial "icon.html" "user-circle" }} | ||||||
|  |             {{ .Title | markdownify }} | ||||||
|  |             {{ partial "rss-link.html" . }} | ||||||
|  |         </h1> | ||||||
|  |     </div> | ||||||
|  |  | ||||||
|  |     {{ partial "page-metadata/author.html" . }} | ||||||
|  |  | ||||||
|  |     {{ with .Content }} | ||||||
|  |         {{ . }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ partial "page-list.html" .Paginator.Pages }} | ||||||
|  |  | ||||||
|  |     {{ partial "pagination.html" . }} | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										21
									
								
								layouts/home.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								layouts/home.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | {{ define "main" }} | ||||||
|  |     {{ with .Content }} | ||||||
|  |         <article class="homepage-content"> | ||||||
|  |             {{ . }} | ||||||
|  |         </article> | ||||||
|  |         <hr> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ if .Site.Params.homepageLatestPosts }} | ||||||
|  |         <div class="homepage-latest-posts"> | ||||||
|  |             <h1> | ||||||
|  |                 {{ i18n "latest_posts" }} | ||||||
|  |                 {{ partial "rss-link.html" . }} | ||||||
|  |             </h1> | ||||||
|  |  | ||||||
|  |             {{ partial "page-list.html" (.Paginate .Site.RegularPages).Pages }} | ||||||
|  |  | ||||||
|  |             {{ partial "pagination.html" . }} | ||||||
|  |         </div> | ||||||
|  |     {{ end }} | ||||||
|  | {{ end }} | ||||||
| @@ -1,2 +0,0 @@ | |||||||
| {{ define "main" }} |  | ||||||
| {{ end }} |  | ||||||
							
								
								
									
										4
									
								
								layouts/partials/additional-head.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								layouts/partials/additional-head.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | {{/* | ||||||
|  |     Create a file named `layouts/partials/additional-head.html` at your site root to | ||||||
|  |     add extra tags into <head>. Page variables are passed. | ||||||
|  | */}} | ||||||
							
								
								
									
										19
									
								
								layouts/partials/breadcrumb.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								layouts/partials/breadcrumb.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | <nav class="breadcrumb" aria-label="{{ i18n "aria_breadcrumbnav" }}"> | ||||||
|  |     <ul> | ||||||
|  |         {{ template "breadcrumbnav" (dict "p1" . "p2" .) }} | ||||||
|  |     </ul> | ||||||
|  | </nav> | ||||||
|  | {{ define "breadcrumbnav" }} | ||||||
|  | {{ if .p1.Parent }} | ||||||
|  | {{ template "breadcrumbnav" (dict "p1" .p1.Parent "p2" .p2 ) }} | ||||||
|  | {{ else if not .p1.IsHome }} | ||||||
|  | {{ template "breadcrumbnav" (dict "p1" .p1.Site.Home "p2" .p2 ) }} | ||||||
|  | {{ end }} | ||||||
|  | <li{{ if eq .p1 .p2 }} class="active"{{ end }}> | ||||||
|  |     {{ if eq .p1 .p2 }} | ||||||
|  |     {{ .p1.Title | markdownify }} | ||||||
|  |     {{ else }} | ||||||
|  |     <a href="{{ .p1.Permalink }}">{{ .p1.Title | markdownify }}</a> | ||||||
|  |     {{ end }} | ||||||
|  | </li> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										4
									
								
								layouts/partials/comments.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								layouts/partials/comments.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | {{/* | ||||||
|  |     Create a file named `layouts/partials/comments.html` at your site root to | ||||||
|  |     add a comment system. Page variables are passed. | ||||||
|  | */}} | ||||||
| @@ -1 +0,0 @@ | |||||||
| {{ i18n "credit_comment" | safeHTML }} |  | ||||||
							
								
								
									
										7
									
								
								layouts/partials/description-or-summary.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								layouts/partials/description-or-summary.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | {{ with .Description }} | ||||||
|  |     <p>{{ . | markdownify }}</p> | ||||||
|  | {{ else }} | ||||||
|  |     {{ with .Summary }} | ||||||
|  |         {{ . }} | ||||||
|  |     {{ end }} | ||||||
|  | {{ end }} | ||||||
| @@ -1,17 +1,28 @@ | |||||||
| <figure> | {{ $hidecaption := index . "hidecaption" }} | ||||||
|     {{ $media := . | resources.Fingerprint "sha512" }} |  | ||||||
|  | {{ if index . "noborder" }} | ||||||
|  |     <figure> | ||||||
|  | {{ else }} | ||||||
|  |     <figure class="border"> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  |     {{ with index . "src" }} | ||||||
|  |         {{ $media := . }} | ||||||
|         {{ if eq .MediaType.MainType "image" }} |         {{ if eq .MediaType.MainType "image" }} | ||||||
|             <img src="{{ $media.Permalink }}" alt="{{ $media.Title }}" /> |             <img src="{{ $media.Permalink }}" alt="{{ $media.Title }}" /> | ||||||
|         {{ else if eq .MediaType.MainType "video" }} |         {{ else if eq .MediaType.MainType "video" }} | ||||||
|     <video controls> |             <video controls preload="metadata"> | ||||||
|                 <source src="{{ $media.Permalink }}" alt="{{ $media.Title }}"> |                 <source src="{{ $media.Permalink }}" alt="{{ $media.Title }}"> | ||||||
|                 {{ i18n "browser_no_video_support" }} |                 {{ i18n "browser_no_video_support" }} | ||||||
|             </video> |             </video> | ||||||
|         {{ end }} |         {{ end }} | ||||||
|  |  | ||||||
|  |         {{ if not $hidecaption }} | ||||||
|             {{ with $media.Title }} |             {{ with $media.Title }} | ||||||
|                 <figcaption> |                 <figcaption> | ||||||
|                     {{ . | markdownify }} |                     {{ . | markdownify }} | ||||||
|                 </figcaption> |                 </figcaption> | ||||||
|             {{ end }} |             {{ end }} | ||||||
|  |         {{ end }} | ||||||
|  |     {{ end }} | ||||||
| </figure> | </figure> | ||||||
|   | |||||||
| @@ -9,27 +9,38 @@ | |||||||
|     {{ with resources.Get "css/syntax.css" | fingerprint "sha512" }} |     {{ with resources.Get "css/syntax.css" | fingerprint "sha512" }} | ||||||
|         <link rel="stylesheet" type="text/css" href="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"> |         <link rel="stylesheet" type="text/css" href="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"> | ||||||
|     {{ end }} |     {{ end }} | ||||||
|  |     {{ with resources.Get "css/syntax-light.css" | fingerprint "sha512" }} | ||||||
|     {{ with .Site.Params.faviconICO }} |         <link rel="stylesheet" type="text/css" href="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"> | ||||||
|     <link rel="icon" type="image/x-icon" href="{{ . | absURL }}" /> |  | ||||||
|     {{ end }} |  | ||||||
|     {{ with .Site.Params.faviconPNG }} |  | ||||||
|     <link rel="icon" type="image/png" href="{{ . | absURL }}" /> |  | ||||||
|     {{ end }} |     {{ end }} | ||||||
|  |  | ||||||
|     {{ range .AlternativeOutputFormats -}} |     {{ with resources.Get "js/bobatheme.js" | fingerprint "sha512" }} | ||||||
|         {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} |         <script defer src="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"></script> | ||||||
|     {{ end -}} |     {{ end }} | ||||||
|  |     {{ with resources.Get "js/share-event.js" | fingerprint "sha512" }} | ||||||
|  |         <script defer src="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"></script> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ with .Site.Params.faviconSVG }} | ||||||
|  |         <link rel="icon" href="{{ . | absURL }}" /> | ||||||
|  |     {{ end }} | ||||||
|  |     {{ with .Site.Params.appleTouchPNG }} | ||||||
|  |         <link rel="apple-touch-icon" href="{{ . | absURL }}" /> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|     {{ if .IsHome }} |     {{ if .IsHome }} | ||||||
|     <title>{{ .Site.Title }}</title> |         <title>{{ .Site.Title | plainify }}</title> | ||||||
|     {{ else }} |     {{ else }} | ||||||
|     <title>{{ print .Title " | " .Site.Title }}</title> |         <title>{{ (print .Title " | " .Site.Title) | plainify }}</title> | ||||||
|     {{ end }} |     {{ end }} | ||||||
|  |  | ||||||
|     {{ partial "opengraph.html" . }} |     {{ partial "seo-tags/opengraph.html" . }} | ||||||
|     {{ template "_internal/twitter_cards.html" . }} |     {{ partial "seo-tags/twitter-cards.html" . }} | ||||||
|     {{ template "_internal/schema.html" . }} |     {{ partial "seo-tags/schema.html" . }} | ||||||
|  |     {{ partial "seo-tags/link.html" . }} | ||||||
|  |     {{ partial "seo-tags/author.html" . }} | ||||||
|  |  | ||||||
|     <meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}"> |     <meta name="language" content="{{ .Language.Lang }}"> | ||||||
|  |     <meta name="description" content="{{ (partial "seo-description.html" .) | plainify }}"> | ||||||
|  |  | ||||||
|  |     {{ partial "additional-head.html" . }} | ||||||
| </head> | </head> | ||||||
|   | |||||||
| @@ -1,5 +1 @@ | |||||||
| {{ $icon_resource := resources.Get (printf "feather/icons/%s.svg" .) }} | {{ partialCached "icon_code.html" . . }} | ||||||
| {{ $icon := $icon_resource.Content }} |  | ||||||
| {{ $icon = replaceRE `<svg` `<svg class="icon"` $icon }} |  | ||||||
| {{ $icon = replaceRE `</svg>` (printf `<title>%s icon</title></svg>` .) $icon }} |  | ||||||
| {{ $icon | safeHTML }} |  | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								layouts/partials/icon_code.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								layouts/partials/icon_code.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | {{- $icon_resource := resources.Get (printf "jam/icons/%s.svg" .) -}} | ||||||
|  | {{- $icon := $icon_resource.Content -}} | ||||||
|  | {{- $icon = replaceRE `<svg` `<svg class="icon"` $icon -}} | ||||||
|  | {{- $icon = replaceRE `</svg>` (printf `<title>%s icon</title></svg>` .) $icon -}} | ||||||
|  | {{- $icon = replaceRE `(width|height)="[0-9]*"` "" $icon -}} | ||||||
|  | {{- $icon | safeHTML -}} | ||||||
							
								
								
									
										11
									
								
								layouts/partials/latest-posts.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								layouts/partials/latest-posts.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | <div class="latest-posts full-width-page-list"> | ||||||
|  |     <hr> | ||||||
|  |     <h1> | ||||||
|  |         {{ i18n "latest_posts" }} | ||||||
|  |         {{ partial "rss-link.html" .Site.Home }} | ||||||
|  |     </h1> | ||||||
|  |  | ||||||
|  |     {{ with .Site.RegularPages | first 5 }} | ||||||
|  |         {{ partial "page-list.html" . }} | ||||||
|  |     {{ end }} | ||||||
|  | </div> | ||||||
| @@ -1,52 +0,0 @@ | |||||||
| <meta property="og:title" content="{{ .Title }}" /> |  | ||||||
| <meta property="og:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}" /> |  | ||||||
| <meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" /> |  | ||||||
| <meta property="og:url" content="{{ .Permalink }}" /> |  | ||||||
|  |  | ||||||
| {{- with $.Params.images -}} |  | ||||||
| {{- range first 6 . }}<meta property="og:image" content="{{ . | absURL }}" />{{ end -}} |  | ||||||
| {{- else -}} |  | ||||||
| {{- $images := $.Resources.ByType "image" -}} |  | ||||||
| {{- $featured := $images.GetMatch "*feature*" -}} |  | ||||||
| {{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}} |  | ||||||
| {{- with $featured -}} |  | ||||||
| <meta property="og:image" content="{{ $featured.Permalink }}"/> |  | ||||||
| {{- else -}} |  | ||||||
| {{- with $.Site.Params.images }}<meta property="og:image" content="{{ index . 0 | absURL }}"/>{{ end -}} |  | ||||||
| {{- end -}} |  | ||||||
| {{- end -}} |  | ||||||
|  |  | ||||||
| {{- if .IsPage }} |  | ||||||
| {{- $iso8601 := "2006-01-02T15:04:05-07:00" -}} |  | ||||||
| <meta property="article:section" content="{{ .Section }}" /> |  | ||||||
| {{ with .PublishDate }}<meta property="article:published_time" {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }} |  | ||||||
| {{ with .Lastmod }}<meta property="article:modified_time" {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }} |  | ||||||
| {{- end -}} |  | ||||||
|  |  | ||||||
| {{- with .Params.audio }}<meta property="og:audio" content="{{ . }}" />{{ end }} |  | ||||||
| {{- with .Params.locale }}<meta property="og:locale" content="{{ . }}" />{{ end }} |  | ||||||
| {{- with .Site.Params.title }}<meta property="og:site_name" content="{{ . }}" />{{ end }} |  | ||||||
|  |  | ||||||
| {{- with .Params.videos -}} |  | ||||||
| {{- range first 6 . }}<meta property="og:video" content="{{ . | absURL }}" />{{ end -}} |  | ||||||
| {{- else -}} |  | ||||||
| {{- $videos := $.Resources.ByType "video" -}} |  | ||||||
| {{- $featured_video := $videos.GetMatch "*feature*" -}} |  | ||||||
| {{- if not $featured_video }}{{ $featured_video = $videos.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}} |  | ||||||
| {{- with $featured_video -}} |  | ||||||
| <meta property="og:video" content="{{ $featured_video.Permalink | absURL }}" /> |  | ||||||
| {{- end -}} |  | ||||||
| {{- end -}} |  | ||||||
|  |  | ||||||
| {{- /* If it is part of a series, link to related articles */}} |  | ||||||
| {{- $permalink := .Permalink }} |  | ||||||
| {{- $siteSeries := .Site.Taxonomies.series }} |  | ||||||
| {{ with .Params.series }}{{- range $name := . }} |  | ||||||
|   {{- $series := index $siteSeries ($name | urlize) }} |  | ||||||
|   {{- range $page := first 6 $series.Pages }} |  | ||||||
|     {{- if ne $page.Permalink $permalink }}<meta property="og:see_also" content="{{ $page.Permalink }}" />{{ end }} |  | ||||||
|   {{- end }} |  | ||||||
| {{ end }}{{ end }} |  | ||||||
|  |  | ||||||
| {{- /* Facebook Page Admin ID for Domain Insights */}} |  | ||||||
| {{- with .Site.Social.facebook_admin }}<meta property="fb:admins" content="{{ . }}" />{{ end }} |  | ||||||
							
								
								
									
										13
									
								
								layouts/partials/page-list.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								layouts/partials/page-list.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | <div class="page-list"> | ||||||
|  |     {{ with . }} | ||||||
|  |         {{ range . }} | ||||||
|  |             <article class="page"> | ||||||
|  |                 {{ .Render "summary" }} | ||||||
|  |             </article> | ||||||
|  |         {{ end }} | ||||||
|  |     {{ else }} | ||||||
|  |         <div> | ||||||
|  |             {{ i18n "no_posts" }} | ||||||
|  |         </div> | ||||||
|  |     {{ end }} | ||||||
|  | </div> | ||||||
							
								
								
									
										17
									
								
								layouts/partials/page-metadata/author.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								layouts/partials/page-metadata/author.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | <div class="page-metadata" aria-label="{{ i18n "aria_author_metadata" }}"> | ||||||
|  |     {{/* Calculate the total word count */}} | ||||||
|  |     {{ $total_words := 0 }} | ||||||
|  |     {{ range .Data.Pages }} | ||||||
|  |         {{ $total_words = add $total_words .WordCount }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     <span class="page-metadata-item" aria-label="{{ i18n "aria_author_post_count" }}"> | ||||||
|  |         {{ partial "icon.html" "newspaper" }} | ||||||
|  |         {{ i18n "post_count" (len .Data.Pages) }} | ||||||
|  |     </span> | ||||||
|  |  | ||||||
|  |     <span class="page-metadata-item" aria-label="{{ i18n "aria_author_word_count" }}"> | ||||||
|  |         {{ partial "icon.html" "align-left" }} | ||||||
|  |         {{ i18n "wordcount" $total_words }} | ||||||
|  |     </span> | ||||||
|  | </div> | ||||||
							
								
								
									
										16
									
								
								layouts/partials/page-metadata/item/authors.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								layouts/partials/page-metadata/item/authors.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | {{ with .Params.authors }} | ||||||
|  |     <span class="page-metadata-item" aria-label="{{ i18n "aria_post_meta_authors" }}"> | ||||||
|  |         {{ partial "icon.html" "user-circle" }} | ||||||
|  |  | ||||||
|  |         {{ if index $.Site.Taxonomies "authors" }} | ||||||
|  |             {{ $authors := slice }} | ||||||
|  |             {{ range . }} | ||||||
|  |                 {{ $url := (printf "authors/%s" (. | anchorize)) | absLangURL }} | ||||||
|  |                 {{ $authors = $authors | append (printf `<a href="%s">%s</a>` $url . | safeHTML) }} | ||||||
|  |             {{ end }} | ||||||
|  |             {{ delimit $authors ", " }} | ||||||
|  |         {{ else }} | ||||||
|  |             {{ delimit . ", " }} | ||||||
|  |         {{ end }} | ||||||
|  |     </span> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										11
									
								
								layouts/partials/page-metadata/item/categories.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								layouts/partials/page-metadata/item/categories.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | {{ with (.GetTerms "categories") }} | ||||||
|  |     {{ $categories := slice }} | ||||||
|  |     {{ range . }} | ||||||
|  |         {{ $categories = $categories | append (printf `<a href="%s">%s</a>` .Permalink .LinkTitle) }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     <div class="page-metadata-section categories" aria-label="{{ i18n "aria_post_meta_categories" }}"> | ||||||
|  |         {{ partial "icon.html" "folder" }} | ||||||
|  |         {{ delimit $categories ", " }} | ||||||
|  |     </div> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										8
									
								
								layouts/partials/page-metadata/item/edithistory.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								layouts/partials/page-metadata/item/edithistory.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | {{ if and .Site.Params.gitHistoryURL .File.Path }} | ||||||
|  |     <span class="page-metadata-item post-meta-edit-history" aria-label="{{ i18n "aria_post_meta_edit_history" }}"> | ||||||
|  |         {{ partial "icon.html" "history" }} | ||||||
|  |         <a href="{{ printf "%s/content/%s" .Site.Params.gitHistoryURL .File.Path }}" target="_blank" rel="noopener"> | ||||||
|  |             {{- i18n "edit_history" -}} | ||||||
|  |         </a> | ||||||
|  |     </span> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										6
									
								
								layouts/partials/page-metadata/item/readingtime.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								layouts/partials/page-metadata/item/readingtime.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | {{ if ne .Site.Params.readingtime false }} | ||||||
|  |     <span class="page-metadata-item" aria-label="{{ i18n "aria_post_meta_reading_time" }}"> | ||||||
|  |         {{ partial "icon.html" "clock" }} | ||||||
|  |         {{ i18n "readingtime" .ReadingTime }} | ||||||
|  |     </span> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										11
									
								
								layouts/partials/page-metadata/item/series.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								layouts/partials/page-metadata/item/series.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | {{ with (.GetTerms "series") }} | ||||||
|  |     {{ $series := slice }} | ||||||
|  |     {{ range . }} | ||||||
|  |         {{ $series = $series | append (printf `<a href="%s">%s</a>` .Permalink .LinkTitle) }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     <div class="page-metadata-section series" aria-label="{{ i18n "aria_post_meta_series" }}"> | ||||||
|  |         {{ partial "icon.html" "files" }} | ||||||
|  |         {{ delimit $series ", " }} | ||||||
|  |     </div> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										11
									
								
								layouts/partials/page-metadata/item/tags.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								layouts/partials/page-metadata/item/tags.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | {{ with (.GetTerms "tags") }} | ||||||
|  |     {{ $tags := slice }} | ||||||
|  |     {{ range . }} | ||||||
|  |         {{ $tags = $tags | append (printf `<a href="%s">%s</a>` .Permalink .LinkTitle) }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     <div class="page-metadata-section tags" aria-label="{{ i18n "aria_post_meta_tags" }}"> | ||||||
|  |         {{ partial "icon.html" "tag" }} | ||||||
|  |         {{ delimit $tags ", " }} | ||||||
|  |     </div> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										26
									
								
								layouts/partials/page-metadata/post-full.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								layouts/partials/page-metadata/post-full.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | {{ if or .Date .Params.authors .Site.Params.readingtime .Site.Params.gitFileURL }} | ||||||
|  |     <div class="page-metadata" aria-label="{{ i18n "aria_post_metadata" }}"> | ||||||
|  |         {{ if .Date }} | ||||||
|  |             <span class="page-metadata-item" aria-label="{{ i18n "aria_post_meta_date" }}"> | ||||||
|  |                 {{ partial "icon.html" "calendar" }} | ||||||
|  |                 {{ partial "time-element.html" .Date }} | ||||||
|  |             </span> | ||||||
|  |  | ||||||
|  |             {{/* TODO: make this be a tooltip */}} | ||||||
|  |             {{/* DISABLED | ||||||
|  |             {{ if ne (time.Format "2006-01-02" .Lastmod) (time.Format "2006-01-02" .Date) }} | ||||||
|  |                 <span class="page-metadata-item" aria-label="{{ i18n "aria_post_meta_modified_date" }}"> | ||||||
|  |                     {{ partial "icon.html" "pencil" }} | ||||||
|  |                     {{ partial "time-element.html" .Lastmod }} | ||||||
|  |                     {{ end }} | ||||||
|  |                 </span> | ||||||
|  |             */}} | ||||||
|  |         {{ end }} | ||||||
|  |  | ||||||
|  |         {{ partial "page-metadata/item/authors.html" . }} | ||||||
|  |         {{ partial "page-metadata/item/readingtime.html" . }} | ||||||
|  |         {{ partial "page-metadata/item/edithistory.html" . }} | ||||||
|  |         {{ partial "page-metadata/item/categories.html" . }} | ||||||
|  |         {{ partial "page-metadata/item/tags.html" . }} | ||||||
|  |     </div> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										16
									
								
								layouts/partials/page-metadata/post-short.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								layouts/partials/page-metadata/post-short.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | {{ if or .Date .Params.authors .Site.Params.readingtime }} | ||||||
|  |     <div class="page-metadata" aria-label="{{ i18n "aria_post_metadata" }}"> | ||||||
|  |         {{ if .Date }} | ||||||
|  |             <span class="page-metadata-item" aria-label="date"> | ||||||
|  |                 {{ partial "icon.html" "calendar" }} | ||||||
|  |                 {{ partial "time-element.html" .Date }} | ||||||
|  |             </span> | ||||||
|  |         {{ end }} | ||||||
|  |  | ||||||
|  |         {{ partial "page-metadata/item/authors.html" . }} | ||||||
|  |         {{ partial "page-metadata/item/readingtime.html" . }} | ||||||
|  |         {{ partial "page-metadata/item/series.html" . }} | ||||||
|  |         {{ partial "page-metadata/item/categories.html" . }} | ||||||
|  |         {{ partial "page-metadata/item/tags.html" . }} | ||||||
|  |     </div> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										17
									
								
								layouts/partials/page-metadata/series.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								layouts/partials/page-metadata/series.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | <div class="page-metadata" aria-label="{{ i18n "aria_series_metadata" }}"> | ||||||
|  |     <span class="page-metadata-item"> | ||||||
|  |         {{ partial "icon.html" "newspaper" }} | ||||||
|  |         {{ i18n "post_count" (len .Data.Pages) }} | ||||||
|  |     </span> | ||||||
|  |  | ||||||
|  |     {{ if ne .Site.Params.readingtime false }} | ||||||
|  |         <span class="page-metadata-item"> | ||||||
|  |             {{ partial "icon.html" "clock" }} | ||||||
|  |             {{ $readingtime := 0 }} | ||||||
|  |             {{ range .Data.Pages }} | ||||||
|  |                 {{ $readingtime = (add $readingtime .ReadingTime) }} | ||||||
|  |             {{ end }} | ||||||
|  |             {{ i18n "readingtime" $readingtime }} | ||||||
|  |         </span> | ||||||
|  |     {{ end }} | ||||||
|  | </div> | ||||||
							
								
								
									
										6
									
								
								layouts/partials/page-metadata/taxonomy.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								layouts/partials/page-metadata/taxonomy.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | <div class="taxonomy-metadata" aria-label="{{ i18n "aria_taxonomy_metadata" }}"> | ||||||
|  |     <span class="taxonomy-meta-item" aria-label="{{ i18n "aria_taxonomy_post_count" }}"> | ||||||
|  |         {{ partial "icon.html" "newspaper" }} | ||||||
|  |         {{ i18n "post_count" (len .Data.Pages) }} | ||||||
|  |     </span> | ||||||
|  | </div> | ||||||
							
								
								
									
										5
									
								
								layouts/partials/pagination.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								layouts/partials/pagination.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | {{ if gt .Paginator.TotalPages 1 }} | ||||||
|  |     <nav class="pagination"> | ||||||
|  |         {{ template "_internal/pagination.html" . }} | ||||||
|  |     </nav> | ||||||
|  | {{ end }} | ||||||
| @@ -1,66 +0,0 @@ | |||||||
| {{ if or .Date .IsTranslated .Site.Params.wordcount .Site.Params.readingtime .Site.Params.repoURL }} |  | ||||||
| <div class="post-metadata"> |  | ||||||
|     {{ if .Date }} |  | ||||||
|     <span class="post-meta-item"> |  | ||||||
|         {{ partial "icon.html" "calendar" }} |  | ||||||
|         <time datetime="{{ .Date.Format "January 2, 2006" }}" pubdate> |  | ||||||
|             {{ i18n "long_date" (dict "Date" .Date "Data" .Site.Data) }} |  | ||||||
|         </time> |  | ||||||
|     </span> |  | ||||||
|  |  | ||||||
|     {{ if not .Site.Params.repoURL }} |  | ||||||
|     {{ if ne .Lastmod .Date }} |  | ||||||
|     <span class="post-meta-item"> |  | ||||||
|         {{ partial "icon.html" "edit-2" }} |  | ||||||
|         <time datetime="{{ .Lastmod.Format "2006-01-02" }}" pubdate> |  | ||||||
|             {{ i18n "long_date" (dict "Date" .Lastmod "Data" .Site.Data) }} |  | ||||||
|         </time> |  | ||||||
|         {{ end }} |  | ||||||
|     </span> |  | ||||||
|     {{ end }} |  | ||||||
|     {{ end }} |  | ||||||
|  |  | ||||||
|     {{ if .IsTranslated }} |  | ||||||
|     <span class="post-meta-item"> |  | ||||||
|         {{ partial "icon.html" "globe" }} |  | ||||||
|         {{ range .Translations }} |  | ||||||
|         <a href="{{ .Permalink }}">{{ .Language }}</a> |  | ||||||
|         {{ end }} |  | ||||||
|     </span> |  | ||||||
|     {{ end }} |  | ||||||
|  |  | ||||||
|     {{ if .Site.Params.wordcount }} |  | ||||||
|     <span class="post-meta-item"> |  | ||||||
|         {{ partial "icon.html" "type" }} |  | ||||||
|         {{ i18n "wordcount" .WordCount }} |  | ||||||
|     </span> |  | ||||||
|     {{ end }} |  | ||||||
|  |  | ||||||
|     {{ if .Site.Params.readingtime }} |  | ||||||
|     <span class="post-meta-item"> |  | ||||||
|         {{ partial "icon.html" "clock" }} |  | ||||||
|         {{ i18n "readingtime" .ReadingTime }} |  | ||||||
|     </span> |  | ||||||
|     {{ end }} |  | ||||||
|  |  | ||||||
|     {{ if .Site.Params.repoURL }} |  | ||||||
|     {{ with .GitInfo }} |  | ||||||
|     <span class="post-meta-item"> |  | ||||||
|         {{ partial "icon.html" "git-commit" }} |  | ||||||
|         <a href="{{ (printf "%s/commit/%s" $.Site.Params.repoURL .Hash) | absLangURL }}"> |  | ||||||
|             <code>{{ .AbbreviatedHash }}</code> |  | ||||||
|         </a> |  | ||||||
|     </span> |  | ||||||
|     {{ end }} |  | ||||||
|     {{ end }} |  | ||||||
|  |  | ||||||
|     <div class="tags"> |  | ||||||
|         {{ range (.GetTerms "tags") }} |  | ||||||
|         <span class="post-meta-item"> |  | ||||||
|             {{ partial "icon.html" "tag" }} |  | ||||||
|             <a href="{{ .Permalink }}">{{ .LinkTitle }}</a> |  | ||||||
|         </span> |  | ||||||
|         {{ end }} |  | ||||||
|     </div> |  | ||||||
| </div> |  | ||||||
| {{ end }} |  | ||||||
							
								
								
									
										28
									
								
								layouts/partials/remote_figure.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								layouts/partials/remote_figure.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | |||||||
|  | {{ $hidecaption := index . "hidecaption" }} | ||||||
|  | {{ $type := index . "type" }} | ||||||
|  | {{ $src := index . "src" }} | ||||||
|  | {{ $alt := index . "alt" }} | ||||||
|  |  | ||||||
|  | {{ if index . "border" }} | ||||||
|  |     <figure class="border"> | ||||||
|  | {{ else }} | ||||||
|  |     <figure> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  |     {{ if eq $type "image" }} | ||||||
|  |         <img src="{{ $src }}" alt="{{ $alt }}" /> | ||||||
|  |     {{ else if eq $type "video" }} | ||||||
|  |         <video controls preload="metadata"> | ||||||
|  |             <source src="{{ $src }}" alt="{{ $alt }}"> | ||||||
|  |             {{ i18n "browser_no_video_support" }} | ||||||
|  |         </video> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ if not $hidecaption }} | ||||||
|  |         {{ with $alt }} | ||||||
|  |             <figcaption> | ||||||
|  |                 {{ . | markdownify }} | ||||||
|  |             </figcaption> | ||||||
|  |         {{ end }} | ||||||
|  |     {{ end }} | ||||||
|  | </figure> | ||||||
							
								
								
									
										5
									
								
								layouts/partials/rss-link.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								layouts/partials/rss-link.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | <span class="rss-link"> | ||||||
|  |     {{ with .OutputFormats.Get "rss" }} | ||||||
|  |         <a href="{{ .Permalink }}" target="_blank" rel="noopener" aria-label="{{ i18n "aria_rss_link" }}">{{ partial "icon.html" "rss-feed" }}</a> | ||||||
|  |     {{ end }} | ||||||
|  | </span> | ||||||
							
								
								
									
										9
									
								
								layouts/partials/seo-description.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								layouts/partials/seo-description.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | {{- with .Description -}} | ||||||
|  |     <p>{{- . | markdownify -}}</p> | ||||||
|  | {{- else -}} | ||||||
|  |     {{- with .Summary -}} | ||||||
|  |         {{- . -}} | ||||||
|  |     {{- else -}} | ||||||
|  |         {{- .Site.Params.description -}} | ||||||
|  |     {{- end -}} | ||||||
|  | {{- end -}} | ||||||
							
								
								
									
										7
									
								
								layouts/partials/seo-tags/author.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								layouts/partials/seo-tags/author.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | {{ with .Params.authors }} | ||||||
|  |     <meta name="author" content="{{ delimit . ", " }}"> | ||||||
|  |  | ||||||
|  |     {{ range . }} | ||||||
|  |         <meta property="article:author" content="{{ . }}"> | ||||||
|  |     {{ end }} | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										15
									
								
								layouts/partials/seo-tags/link.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								layouts/partials/seo-tags/link.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | {{ range .AlternativeOutputFormats }} | ||||||
|  |     <link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink }}" title="{{ $.Site.Title | plainify }}"> | ||||||
|  | {{ end }} | ||||||
|  | {{ with .OutputFormats.Get "rss" }} | ||||||
|  |     <link rel="start" type="{{ .MediaType.Type }}" href="{{ .Permalink }}" title="{{ $.Site.Title | plainify }}"> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ with .PrevInSection }} | ||||||
|  |     <link rel="prev" title="{{ .Title | plainify }}" href="{{ .Permalink }}"> | ||||||
|  | {{ end }} | ||||||
|  | {{ with .NextInSection }} | ||||||
|  |     <link rel="next" title="{{ .Title | plainify }}" href="{{ .Permalink }}"> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | <link rel="canonical" href="{{ .Permalink }}"> | ||||||
							
								
								
									
										48
									
								
								layouts/partials/seo-tags/opengraph.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								layouts/partials/seo-tags/opengraph.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | |||||||
|  | <meta property="og:title" content="{{ .Title | plainify }}"> | ||||||
|  | <meta property="og:description" content="{{ (partial "seo-description.html" .) | plainify }}"> | ||||||
|  | <meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}"> | ||||||
|  | <meta property="og:url" content="{{ .Permalink }}"> | ||||||
|  |  | ||||||
|  | {{ $images := $.Resources.ByType "image" }} | ||||||
|  | {{ $featured := $images.GetMatch "*feature*" }} | ||||||
|  | {{ if not $featured }} | ||||||
|  |     {{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }} | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ with $featured }} | ||||||
|  |     <meta property="og:image" content="{{ $featured.Permalink }}"> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ with .Section }} | ||||||
|  |     <meta property="article:section" content="{{ . }}"> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ $format := "2006-01-02T15:04:05-07:00" }} | ||||||
|  | {{ with .Date }} | ||||||
|  |     <meta property="article:published_time" content="{{ .Format $format }}"> | ||||||
|  | {{ end }} | ||||||
|  | {{ with .Lastmod }} | ||||||
|  |     <meta property="article:modified_time" {{ .Format $format | printf "content=%q" | safeHTMLAttr }}> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ with .Params.audio }} | ||||||
|  |     <meta property="og:audio" content="{{ . }}"> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ with .Language.Lang }} | ||||||
|  |     <meta property="og:locale" content="{{ . }}"> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ with .Site.Params.title }} | ||||||
|  |     <meta property="og:site_name" content="{{ . }}"> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ $videos := $.Resources.ByType "video" }} | ||||||
|  | {{ $featured_video := $videos.GetMatch "*feature*" }} | ||||||
|  | {{ if not $featured_video }} | ||||||
|  |     {{ $featured_video = $videos.GetMatch "{*cover*,*thumbnail*}" }} | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ with $featured_video }} | ||||||
|  |     <meta property="og:video" content="{{ $featured_video.Permalink | absURL }}"> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										30
									
								
								layouts/partials/seo-tags/schema.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								layouts/partials/seo-tags/schema.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  | <meta itemprop="name" content="{{ .Title | plainify }}"> | ||||||
|  | <meta itemprop="description" content="{{ (partial "seo-description.html" .) | plainify }}"> | ||||||
|  |  | ||||||
|  | {{ $format := "2006-01-02T15:04:05-07:00" }} | ||||||
|  | {{ with .Date }} | ||||||
|  |     <meta itemprop="datePublished" content="{{ .Format $format }}"> | ||||||
|  | {{ end }} | ||||||
|  | {{ with .Lastmod }} | ||||||
|  |     <meta itemprop="dateModified" content="{{ .Format $format }}"> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | <meta itemprop="wordCount" content="{{ .WordCount }}"> | ||||||
|  |  | ||||||
|  | {{ $images := $.Resources.ByType "image" }} | ||||||
|  | {{ $featured := $images.GetMatch "*feature*" }} | ||||||
|  | {{ if not $featured }} | ||||||
|  |     {{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }} | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ with $featured }} | ||||||
|  |     <meta itemprop="image" content="{{ $featured.Permalink }}"> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ with (.GetTerms "tags") }} | ||||||
|  |     {{ $tags := slice }} | ||||||
|  |     {{ range . }} | ||||||
|  |         {{ $tags = $tags | append .LinkTitle }} | ||||||
|  |     {{ end }} | ||||||
|  |     <meta itemprop="keywords" content="{{ delimit $tags ", " }}"> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										29
									
								
								layouts/partials/seo-tags/twitter-cards.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								layouts/partials/seo-tags/twitter-cards.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | |||||||
|  | {{ $images := $.Resources.ByType "image" }} | ||||||
|  | {{ $featured := $images.GetMatch "*feature*" }} | ||||||
|  | {{ if not $featured }} | ||||||
|  |     {{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }} | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ with $featured }} | ||||||
|  |     {{ $ratio := 0 }} | ||||||
|  |     {{ if gt .Width .Height }} | ||||||
|  |         {{ $ratio = div (float .Width) .Height }} | ||||||
|  |     {{ else }} | ||||||
|  |         {{ $ratio = div (float .Height) .Width }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ if lt $ratio 1.75 }} | ||||||
|  |         <meta name="twitter:card" content="summary_large_image"> | ||||||
|  |     {{ else }} | ||||||
|  |         <meta name="twitter:card" content="summary"> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     <meta name="twitter:image" content="{{ $featured.Permalink }}"> | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | <meta name="twitter:title" content="{{ .Title | plainify }}"> | ||||||
|  | <meta name="twitter:description" content="{{ (partial "seo-description.html" .) | plainify }}"> | ||||||
|  |  | ||||||
|  | {{ with .Site.Social.twitter }} | ||||||
|  |     <meta name="twitter:site" content="@{{ . }}"> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										17
									
								
								layouts/partials/series-box.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								layouts/partials/series-box.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | {{ with (.GetTerms "series") }} | ||||||
|  |     {{ $series := slice }} | ||||||
|  |     {{ range . }} | ||||||
|  |         {{ $series = $series | append (printf `<a href="%s">%s</a>` .Permalink .LinkTitle) }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     <div class="series-box"> | ||||||
|  |         {{ partial "icon.html" "info" }} | ||||||
|  |         {{ if gt (len $series) 1 }} | ||||||
|  |             This post is part of multiple series: | ||||||
|  |         {{ else }} | ||||||
|  |             This post is part of a series: | ||||||
|  |         {{ end }} | ||||||
|  |  | ||||||
|  |         {{ delimit $series ", " }} | ||||||
|  |     </div> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										69
									
								
								layouts/partials/share.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								layouts/partials/share.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,69 @@ | |||||||
|  | <div class="share-buttons"> | ||||||
|  |     {{ if .Site.Params.shareButtons.twitter }} | ||||||
|  |         <a class="twitter-share" | ||||||
|  |            target="_blank" | ||||||
|  |            rel="noopener" | ||||||
|  |            aria-label="{{ i18n "aria_share_twitter" }}" | ||||||
|  |            onclick="share_event('Twitter');" | ||||||
|  |            href="https://twitter.com/intent/tweet?url={{ .Permalink }}&text={{ .Title }}&via=bbaovanc"> | ||||||
|  |             {{- partial "icon.html" "twitter" -}} | ||||||
|  |         </a> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ if .Site.Params.shareButtons.facebook }} | ||||||
|  |         <a class="facebook-share" | ||||||
|  |            target="_blank" | ||||||
|  |            rel="noopener" | ||||||
|  |            aria-label="{{ i18n "aria_share_facebook" }}" | ||||||
|  |            onclick="share_event('Facebook');" | ||||||
|  |            href="https://www.facebook.com/sharer.php?u={{ .Permalink }}"> | ||||||
|  |             {{- partial "icon.html" "facebook" -}} | ||||||
|  |         </a> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ if .Site.Params.shareButtons.linkedin }} | ||||||
|  |         <a class="linkedin-share" | ||||||
|  |            target="_blank" | ||||||
|  |            rel="noopener" | ||||||
|  |            aria-label="{{ i18n "aria_share_linkedin" }}" | ||||||
|  |            onclick="share_event('LinkedIn');" | ||||||
|  |            href="https://www.linkedin.com/sharing/share-offsite/?url={{ .Permalink }}"> | ||||||
|  |             {{- partial "icon.html" "linkedin" -}} | ||||||
|  |         </a> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ if .Site.Params.shareButtons.reddit }} | ||||||
|  |         <a class="reddit-share" | ||||||
|  |            target="_blank" | ||||||
|  |            rel="noopener" | ||||||
|  |            aria-label="{{ i18n "aria_share_reddit" }}" | ||||||
|  |            onclick="share_event('Reddit');" | ||||||
|  |            href="https://reddit.com/submit?url={{ .Permalink }}&title={{ .Title }}"> | ||||||
|  |             {{- partial "icon.html" "reddit" -}} | ||||||
|  |         </a> | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{/* Telegram icon doesn't have `viewbox` set, which breaks the sizing. | ||||||
|  |             https://stackoverflow.com/q/72073399/19003757 | ||||||
|  |             https://github.com/michaelampr/jam/issues/39 | ||||||
|  |     {{ if .Site.Params.shareButtons.telegram }} | ||||||
|  |         <a class="telegram-share" | ||||||
|  |            target="_blank" | ||||||
|  |            rel="noopener" | ||||||
|  |            aria-label="{{ i18n "aria_share_telegram" }}" | ||||||
|  |            onclick="share_event('Telegram');" | ||||||
|  |            href="https://t.me/share/url?url={{ .Permalink }}&text={{ .Title }}"> | ||||||
|  |             {{- partial "icon.html" "telegram" -}} | ||||||
|  |         </a> | ||||||
|  |     {{ end }} | ||||||
|  |     */}} | ||||||
|  |  | ||||||
|  |     {{ if .Site.Params.shareButtons.print }} | ||||||
|  |         <a class="print-share" | ||||||
|  |            aria-label="{{ i18n "aria_share_print" }}" | ||||||
|  |            href="javascript:void(0)" | ||||||
|  |            onclick="window.print(); share_event('Print');"> | ||||||
|  |             {{- partial "icon.html" "printer" -}} | ||||||
|  |         </a> | ||||||
|  |     {{ end }} | ||||||
|  | </div> | ||||||
							
								
								
									
										3
									
								
								layouts/partials/time-element.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								layouts/partials/time-element.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | <time datetime="{{ .Format "2006-01-02T15:04:05Z07:00" }}" title="{{ . }}"> | ||||||
|  |     {{ .Format "January 2, 2006" }} | ||||||
|  | </time> | ||||||
| @@ -1,27 +1,21 @@ | |||||||
| <h2 class="header"> | <header class="header"> | ||||||
|     <a href="{{ "/" | absLangURL }}">{{ .Site.Title | markdownify }}</a> |     <a class="heading-link" href="{{ .Site.Home.Permalink | absLangURL }}"> | ||||||
| </h2> |         {{ .Site.Title | markdownify }} | ||||||
|  |     </a> | ||||||
|  | </header> | ||||||
|  |  | ||||||
| <nav class="navbar"> | <nav class="navbar" aria-label="{{ i18n "aria_navbar" }}"> | ||||||
|     {{ with .Site.GetPage "/" }} |     {{ with .Site.Home }} | ||||||
|     <a class="navbar-item" href="{{ .Permalink | absLangURL }}">{{ .Title }}</a> |         <a class="navbar-item{{ if $.IsHome }} active{{ end }}" href="{{ .Permalink | absLangURL }}">{{ .Title | markdownify }}</a> | ||||||
|     {{ end }} |     {{ end }} | ||||||
|  |  | ||||||
|     {{ range .Site.Menus.main }} |     {{ range .Site.Menus.main }} | ||||||
|     <a class="navbar-item" href="{{ .URL | absLangURL }}">{{ .Name }}</a> |         {{ $isActive := false }} | ||||||
|  |         {{ if or ($.HasMenuCurrent .Menu .) ($.IsMenuCurrent .Menu .) }} | ||||||
|  |             {{ $isActive = true }} | ||||||
|  |         {{ end }} | ||||||
|  |         <a class="navbar-item{{ if $isActive }} active{{ end }}" | ||||||
|  |            {{ if strings.HasPrefix .URL "http" }}target="_blank" rel="noopener"{{ end }} | ||||||
|  |            href="{{ .URL }}">{{ .Name }}</a> | ||||||
|     {{ end }} |     {{ end }} | ||||||
| </nav> | </nav> | ||||||
|  |  | ||||||
| {{ if .Site.IsMultiLingual }} |  | ||||||
| <nav class="langbar"> |  | ||||||
|     {{ range .Site.Home.AllTranslations }} |  | ||||||
|  |  | ||||||
|     {{ if eq .Language $.Site.Language }} |  | ||||||
|     <b><a class="langbar-item" href="{{ .Permalink }}">{{ .Language.LanguageName }}</a></b> |  | ||||||
|     {{ else }} |  | ||||||
|     <a class="langbar-item" href="{{ .Permalink }}">{{ .Language.LanguageName }}</a> |  | ||||||
|     {{ end }} |  | ||||||
|  |  | ||||||
|     {{ end }} |  | ||||||
| </nav> |  | ||||||
| {{ end }} |  | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								layouts/section/summary.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								layouts/section/summary.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | <a class="section-anchor" href="{{ .Permalink }}"> | ||||||
|  |     <div class="section"> | ||||||
|  |         <h2 class="section-title"> | ||||||
|  |             {{ with .Params.icon }}{{ partial "icon.html" . }}{{ end }} | ||||||
|  |             {{ .Title | markdownify }} | ||||||
|  |         </h2> | ||||||
|  |  | ||||||
|  |         <div class="section-description"> | ||||||
|  |             {{ partial "description-or-summary.html" . }} | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </a> | ||||||
							
								
								
									
										24
									
								
								layouts/series/list.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								layouts/series/list.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | |||||||
|  | {{ define "main" }} | ||||||
|  |     <h1> | ||||||
|  |         {{ partial "icon.html" "files" }} | ||||||
|  |         {{ .Title | markdownify }} | ||||||
|  |     </h1> | ||||||
|  |  | ||||||
|  |     {{ with .Content }} | ||||||
|  |         {{ . }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     <div class="page-list series"> | ||||||
|  |         {{ with .Paginator.Pages }} | ||||||
|  |             {{ range . }} | ||||||
|  |                 <div class="page series"> | ||||||
|  |                     {{ .Render "summary" }} | ||||||
|  |                 </div> | ||||||
|  |             {{ end }} | ||||||
|  |         {{ else }} | ||||||
|  |             <div> | ||||||
|  |                 {{ i18n "no_posts" }} | ||||||
|  |             </div> | ||||||
|  |         {{ end }} | ||||||
|  |     </div> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										19
									
								
								layouts/series/summary.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								layouts/series/summary.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | <h2 class="page-title"> | ||||||
|  |     {{ with .Parent.Params.icon }}{{ partial "icon.html" . }}{{ end }} | ||||||
|  |     <a class="heading-link" href="{{ .Permalink }}">{{ .Title | markdownify }}</a> | ||||||
|  |     {{ if .Draft }}{{ partial "icon.html" "write" }}{{ end }} | ||||||
|  | </h2> | ||||||
|  |  | ||||||
|  | {{ partial "page-metadata/series.html" . }} | ||||||
|  |  | ||||||
|  | <div class="page-description"> | ||||||
|  |     {{ partial "description-or-summary.html" . }} | ||||||
|  | </div> | ||||||
|  |  | ||||||
|  | <div class="page-list series-inner"> | ||||||
|  |     {{ range .Data.Pages.Reverse }} | ||||||
|  |         <article class="page"> | ||||||
|  |             {{ .Render "summary" }} | ||||||
|  |         </article> | ||||||
|  |     {{ end }} | ||||||
|  | </div> | ||||||
							
								
								
									
										20
									
								
								layouts/series/term.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								layouts/series/term.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | {{ define "main" }} | ||||||
|  |     <h1> | ||||||
|  |         {{ partial "icon.html" "files" }} | ||||||
|  |         {{ .Title | markdownify }} | ||||||
|  |         {{ partial "rss-link.html" . }} | ||||||
|  |     </h1> | ||||||
|  |  | ||||||
|  |     {{ partial "page-metadata/series.html" . }} | ||||||
|  |  | ||||||
|  |     {{ with .Content }} | ||||||
|  |         {{ . }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ with .Paginator.Pages.Reverse }} | ||||||
|  |         {{ partial "page-list.html" . }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     {{ partial "pagination.html" . }} | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										5
									
								
								layouts/shortcodes/abbr.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								layouts/shortcodes/abbr.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | {{ if .IsNamedParams }} | ||||||
|  |     <abbr title="{{ .Get "title" }}">{{ .Inner }}</abbr> | ||||||
|  | {{ else }} | ||||||
|  |     <abbr title="{{ .Get 0 }}">{{ .Inner }}</abbr> | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										28
									
								
								layouts/shortcodes/aside.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								layouts/shortcodes/aside.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | |||||||
|  | {{ $type := "" }} | ||||||
|  | {{ if .IsNamedParams }} | ||||||
|  |     {{ $type = .Get "type" | default "note" }} | ||||||
|  | {{ else }} | ||||||
|  |     {{ $type = .Get 0 | default "note" }} | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{/* This idea comes from the LoveIt theme: | ||||||
|  |      https://github.com/dillonzq/LoveIt/blob/aa834e89af8349f6c18d4c7ad50a73fd5f1e40e0/layouts/shortcodes/admonition.html#L3-L14 | ||||||
|  | */}} | ||||||
|  |  | ||||||
|  | {{ $icons := dict "note" "pencil" }} | ||||||
|  | {{ $icons  = dict "info" "info" | merge $icons }} | ||||||
|  | {{ $icons  = dict "tip" "lightbulb" | merge $icons }} | ||||||
|  | {{ $icons  = dict "warning" "info" | merge $icons }} | ||||||
|  | {{ $icons  = dict "example" "flask" | merge $icons }} | ||||||
|  | {{ $icons  = dict "quote" "quote" | merge $icons }} | ||||||
|  |  | ||||||
|  | <aside class="{{ $type }}"> | ||||||
|  |     <div class="aside-title"> | ||||||
|  |         {{ partial "icon.html" (index $icons $type) }} | ||||||
|  |         {{ title $type }} | ||||||
|  |     </div> | ||||||
|  |  | ||||||
|  |     <div class="aside-content"> | ||||||
|  |         {{ .Inner | .Page.RenderString (dict "display" "block") }} | ||||||
|  |     </div> | ||||||
|  | </aside> | ||||||
| @@ -1,2 +1,15 @@ | |||||||
| {{ $resource := $.Page.Resources.GetMatch (.Get "src") }} | {{ $resource := .Page.Resources.GetMatch (.Get "src") }} | ||||||
| {{ partial "figure.html" $resource }} |  | ||||||
|  | {{ $noborder := false }} | ||||||
|  | {{ if .Get "noborder" }} | ||||||
|  |     {{ $noborder = true }} | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ $hidecaption := false }} | ||||||
|  | {{ if .Get "hidecaption" }} | ||||||
|  |     {{ $hidecaption = true }} | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | <p> | ||||||
|  |     {{ partial "figure.html" (dict "src" $resource "noborder" $noborder "hidecaption" $hidecaption) }} | ||||||
|  | </p> | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								layouts/shortcodes/full-width-hr.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								layouts/shortcodes/full-width-hr.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | <hr class="full-width-hr"> | ||||||
							
								
								
									
										17
									
								
								layouts/shortcodes/include.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								layouts/shortcodes/include.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | {{ $path := "" }} | ||||||
|  | {{ $markdown := false }} | ||||||
|  | {{ if .IsNamedParams }} | ||||||
|  |     {{ $path = .Get "path" }} | ||||||
|  |     {{ with .Get "markdown" }} | ||||||
|  |         {{ $markdown = . }} | ||||||
|  |     {{ end }} | ||||||
|  | {{ else }} | ||||||
|  |     {{ $path = .Get 0 }} | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | {{ if $markdown }} | ||||||
|  |     {{ $path | readFile | .Page.RenderString (dict "display" "block") }} | ||||||
|  | {{ else }} | ||||||
|  |     {{ $path | readFile }} | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										13
									
								
								layouts/shortcodes/remote-figure.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								layouts/shortcodes/remote-figure.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | {{ $border := false }} | ||||||
|  | {{ if .Get "border" }} | ||||||
|  |     {{ $border = true }} | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ $hidecaption := false }} | ||||||
|  | {{ if .Get "hidecaption" }} | ||||||
|  |     {{ $hidecaption = true }} | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | <p> | ||||||
|  |     {{ partial "remote_figure.html" (dict "src" (.Get "src") "border" $border "hidecaption" $hidecaption "type" (.Get "type") "alt" (.Get "alt")) }} | ||||||
|  | </p> | ||||||
							
								
								
									
										7
									
								
								layouts/shortcodes/see-also.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								layouts/shortcodes/see-also.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | <div class="see-also"> | ||||||
|  |     {{ with .Site.GetPage (.Get 0) }} | ||||||
|  |         <p>{{ i18n "see_also" }} <a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></p> | ||||||
|  |     {{ else }} | ||||||
|  |         {{ errorf "Page could not be found for see-also shortcode: %s" .Position }} | ||||||
|  |     {{ end }} | ||||||
|  | </div> | ||||||
							
								
								
									
										10
									
								
								layouts/shortcodes/table.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								layouts/shortcodes/table.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | {{/* See https://willschenk.com/articles/2020/styling_tables_with_hugo/ */}} | ||||||
|  |  | ||||||
|  | {{ $class := "markdown" }} | ||||||
|  | {{ with .Get "class" }} | ||||||
|  |     {{ $class = delimit (slice $class .) " " }} | ||||||
|  | {{ end }} | ||||||
|  |  | ||||||
|  | {{ $htmlTable := .Inner | .Page.RenderString (dict "display" "block") }} | ||||||
|  | {{ $new := printf `<table class="%s">` $class }} | ||||||
|  | {{ (replace $htmlTable "<table>" $new) | safeHTML }} | ||||||
| @@ -1,41 +1,41 @@ | |||||||
| {{ define "main" }} | {{ define "main" }} | ||||||
|  |     <div class="page-title"> | ||||||
| <h1> |         <h1> | ||||||
|  |             {{ if eq .Data.Singular "tag" }} | ||||||
|  |                 {{ partial "icon.html" "tag" }} | ||||||
|  |             {{ else if eq .Data.Singular "category" }} | ||||||
|  |                 {{ partial "icon.html" "folder" }} | ||||||
|  |             {{ else }} | ||||||
|                 {{ partial "icon.html" "filter" }} |                 {{ partial "icon.html" "filter" }} | ||||||
|     {{ i18n "filtering_for" .Title }} |  | ||||||
|     {{ if eq .Kind "term" }} |  | ||||||
|     <span class="rss-link"> |  | ||||||
|         {{ with .OutputFormats.Get "rss" }} |  | ||||||
|         <a href="{{ .Permalink }}">{{ partial "icon.html" "rss" }}</a> |  | ||||||
|             {{ end }} |             {{ end }} | ||||||
|     </span> |  | ||||||
|     {{ end }} |  | ||||||
| </h1> |  | ||||||
|  |  | ||||||
| {{ if eq .Kind "taxonomy" }} |             {{ .Title | markdownify }} | ||||||
| <ul> |         </h1> | ||||||
|     {{ range .Pages }} |     </div> | ||||||
|     <li> |  | ||||||
|         <a href="{{ .Permalink }}">{{ .Title | markdownify }}</a> |  | ||||||
|     </li> |  | ||||||
|     {{ end }} |  | ||||||
| </ul> |  | ||||||
|  |  | ||||||
| {{ else }} |     {{ with .Content }} | ||||||
| {{ range .Paginator.Pages }} |         {{ . }} | ||||||
|     {{ .Render "summary" }} |     {{ end }} | ||||||
| {{ else }} |  | ||||||
| <div> |     <div class="taxonomy-list"> | ||||||
|  |         {{ with .Data.Terms.Alphabetical }} | ||||||
|  |             {{ range . }} | ||||||
|  |                 {{ with .Page }} | ||||||
|  |                     <article class="taxonomy-term"> | ||||||
|  |                         <div class="taxonomy-list-left"> | ||||||
|  |                             <a href="{{ .Permalink }}"> | ||||||
|  |                                 <p>{{ .Title | markdownify }}</p> | ||||||
|  |                             </a> | ||||||
|  |                             {{ partial "page-metadata/taxonomy.html" . }} | ||||||
|  |                         </div> | ||||||
|  |                         {{ partial "description-or-summary.html" . }} | ||||||
|  |                     </article> | ||||||
|  |                 {{ end }} | ||||||
|  |             {{ end }} | ||||||
|  |         {{ else }} | ||||||
|  |             <div> | ||||||
|                 {{ i18n "no_posts" }} |                 {{ i18n "no_posts" }} | ||||||
| </div> |             </div> | ||||||
| {{ end }} |         {{ end }} | ||||||
|  |     </div> | ||||||
| {{ if gt .Paginator.TotalPages 1 }} |  | ||||||
| <div class="pagination"> |  | ||||||
|     {{ template "_internal/pagination.html" . }} |  | ||||||
| </div> |  | ||||||
| {{ end }} |  | ||||||
|  |  | ||||||
| {{ end }} |  | ||||||
|  |  | ||||||
| {{ end }} | {{ end }} | ||||||
|   | |||||||
							
								
								
									
										26
									
								
								layouts/taxonomy/term.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								layouts/taxonomy/term.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | {{ define "main" }} | ||||||
|  |     <div class="page-title"> | ||||||
|  |         <h1> | ||||||
|  |             {{ if eq .Data.Singular "tag" }} | ||||||
|  |                 {{ partial "icon.html" "tag" }} | ||||||
|  |             {{ else if eq .Data.Singular "category" }} | ||||||
|  |                 {{ partial "icon.html" "folder" }} | ||||||
|  |             {{ else }} | ||||||
|  |                 {{ partial "icon.html" "filter" }} | ||||||
|  |             {{ end }} | ||||||
|  |  | ||||||
|  |             {{ .Title | markdownify }} | ||||||
|  |             {{ partial "rss-link.html" . }} | ||||||
|  |         </h1> | ||||||
|  |     </div> | ||||||
|  |  | ||||||
|  |     {{ partial "page-metadata/taxonomy.html" . }} | ||||||
|  |  | ||||||
|  |     {{ with .Content }} | ||||||
|  |         {{ . }} | ||||||
|  |     {{ end }} | ||||||
|  |  | ||||||
|  |     {{ partial "page-list.html" .Paginator.Pages }} | ||||||
|  |  | ||||||
|  |     {{ partial "pagination.html" . }} | ||||||
|  | {{ end }} | ||||||
							
								
								
									
										10
									
								
								static/font/jetbrainsmono/AUTHORS.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								static/font/jetbrainsmono/AUTHORS.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | # This is the official list of project authors for copyright purposes. | ||||||
|  | # This file is distinct from the CONTRIBUTORS.txt file. | ||||||
|  | # See the latter for an explanation. | ||||||
|  | #  | ||||||
|  | # Names should be added to this file as: | ||||||
|  | # Name or Organization <email address> | ||||||
|  |  | ||||||
|  | JetBrains <> | ||||||
|  | Philipp Nurullin <philipp.nurullin@jetbrains.com> | ||||||
|  | Konstantin Bulenkov <kb@jetbrains.com> | ||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										93
									
								
								static/font/jetbrainsmono/OFL.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								static/font/jetbrainsmono/OFL.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,93 @@ | |||||||
|  | Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono) | ||||||
|  |  | ||||||
|  | This Font Software is licensed under the SIL Open Font License, Version 1.1. | ||||||
|  | This license is copied below, and is also available with a FAQ at: | ||||||
|  | https://scripts.sil.org/OFL | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ----------------------------------------------------------- | ||||||
|  | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 | ||||||
|  | ----------------------------------------------------------- | ||||||
|  |  | ||||||
|  | PREAMBLE | ||||||
|  | The goals of the Open Font License (OFL) are to stimulate worldwide | ||||||
|  | development of collaborative font projects, to support the font creation | ||||||
|  | efforts of academic and linguistic communities, and to provide a free and | ||||||
|  | open framework in which fonts may be shared and improved in partnership | ||||||
|  | with others. | ||||||
|  |  | ||||||
|  | The OFL allows the licensed fonts to be used, studied, modified and | ||||||
|  | redistributed freely as long as they are not sold by themselves. The | ||||||
|  | fonts, including any derivative works, can be bundled, embedded,  | ||||||
|  | redistributed and/or sold with any software provided that any reserved | ||||||
|  | names are not used by derivative works. The fonts and derivatives, | ||||||
|  | however, cannot be released under any other type of license. The | ||||||
|  | requirement for fonts to remain under this license does not apply | ||||||
|  | to any document created using the fonts or their derivatives. | ||||||
|  |  | ||||||
|  | DEFINITIONS | ||||||
|  | "Font Software" refers to the set of files released by the Copyright | ||||||
|  | Holder(s) under this license and clearly marked as such. This may | ||||||
|  | include source files, build scripts and documentation. | ||||||
|  |  | ||||||
|  | "Reserved Font Name" refers to any names specified as such after the | ||||||
|  | copyright statement(s). | ||||||
|  |  | ||||||
|  | "Original Version" refers to the collection of Font Software components as | ||||||
|  | distributed by the Copyright Holder(s). | ||||||
|  |  | ||||||
|  | "Modified Version" refers to any derivative made by adding to, deleting, | ||||||
|  | or substituting -- in part or in whole -- any of the components of the | ||||||
|  | Original Version, by changing formats or by porting the Font Software to a | ||||||
|  | new environment. | ||||||
|  |  | ||||||
|  | "Author" refers to any designer, engineer, programmer, technical | ||||||
|  | writer or other person who contributed to the Font Software. | ||||||
|  |  | ||||||
|  | PERMISSION & CONDITIONS | ||||||
|  | Permission is hereby granted, free of charge, to any person obtaining | ||||||
|  | a copy of the Font Software, to use, study, copy, merge, embed, modify, | ||||||
|  | redistribute, and sell modified and unmodified copies of the Font | ||||||
|  | Software, subject to the following conditions: | ||||||
|  |  | ||||||
|  | 1) Neither the Font Software nor any of its individual components, | ||||||
|  | in Original or Modified Versions, may be sold by itself. | ||||||
|  |  | ||||||
|  | 2) Original or Modified Versions of the Font Software may be bundled, | ||||||
|  | redistributed and/or sold with any software, provided that each copy | ||||||
|  | contains the above copyright notice and this license. These can be | ||||||
|  | included either as stand-alone text files, human-readable headers or | ||||||
|  | in the appropriate machine-readable metadata fields within text or | ||||||
|  | binary files as long as those fields can be easily viewed by the user. | ||||||
|  |  | ||||||
|  | 3) No Modified Version of the Font Software may use the Reserved Font | ||||||
|  | Name(s) unless explicit written permission is granted by the corresponding | ||||||
|  | Copyright Holder. This restriction only applies to the primary font name as | ||||||
|  | presented to the users. | ||||||
|  |  | ||||||
|  | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font | ||||||
|  | Software shall not be used to promote, endorse or advertise any | ||||||
|  | Modified Version, except to acknowledge the contribution(s) of the | ||||||
|  | Copyright Holder(s) and the Author(s) or with their explicit written | ||||||
|  | permission. | ||||||
|  |  | ||||||
|  | 5) The Font Software, modified or unmodified, in part or in whole, | ||||||
|  | must be distributed entirely under this license, and must not be | ||||||
|  | distributed under any other license. The requirement for fonts to | ||||||
|  | remain under this license does not apply to any document created | ||||||
|  | using the Font Software. | ||||||
|  |  | ||||||
|  | TERMINATION | ||||||
|  | This license becomes null and void if any of the above conditions are | ||||||
|  | not met. | ||||||
|  |  | ||||||
|  | DISCLAIMER | ||||||
|  | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||||
|  | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF | ||||||
|  | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT | ||||||
|  | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE | ||||||
|  | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||||||
|  | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL | ||||||
|  | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||||||
|  | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM | ||||||
|  | OTHER DEALINGS IN THE FONT SOFTWARE. | ||||||
							
								
								
									
										93
									
								
								static/font/opensans/OFL.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								static/font/opensans/OFL.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,93 @@ | |||||||
|  | Copyright 2020 The Open Sans Project Authors (https://github.com/googlefonts/opensans) | ||||||
|  |  | ||||||
|  | This Font Software is licensed under the SIL Open Font License, Version 1.1. | ||||||
|  | This license is copied below, and is also available with a FAQ at: | ||||||
|  | http://scripts.sil.org/OFL | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ----------------------------------------------------------- | ||||||
|  | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 | ||||||
|  | ----------------------------------------------------------- | ||||||
|  |  | ||||||
|  | PREAMBLE | ||||||
|  | The goals of the Open Font License (OFL) are to stimulate worldwide | ||||||
|  | development of collaborative font projects, to support the font creation | ||||||
|  | efforts of academic and linguistic communities, and to provide a free and | ||||||
|  | open framework in which fonts may be shared and improved in partnership | ||||||
|  | with others. | ||||||
|  |  | ||||||
|  | The OFL allows the licensed fonts to be used, studied, modified and | ||||||
|  | redistributed freely as long as they are not sold by themselves. The | ||||||
|  | fonts, including any derivative works, can be bundled, embedded,  | ||||||
|  | redistributed and/or sold with any software provided that any reserved | ||||||
|  | names are not used by derivative works. The fonts and derivatives, | ||||||
|  | however, cannot be released under any other type of license. The | ||||||
|  | requirement for fonts to remain under this license does not apply | ||||||
|  | to any document created using the fonts or their derivatives. | ||||||
|  |  | ||||||
|  | DEFINITIONS | ||||||
|  | "Font Software" refers to the set of files released by the Copyright | ||||||
|  | Holder(s) under this license and clearly marked as such. This may | ||||||
|  | include source files, build scripts and documentation. | ||||||
|  |  | ||||||
|  | "Reserved Font Name" refers to any names specified as such after the | ||||||
|  | copyright statement(s). | ||||||
|  |  | ||||||
|  | "Original Version" refers to the collection of Font Software components as | ||||||
|  | distributed by the Copyright Holder(s). | ||||||
|  |  | ||||||
|  | "Modified Version" refers to any derivative made by adding to, deleting, | ||||||
|  | or substituting -- in part or in whole -- any of the components of the | ||||||
|  | Original Version, by changing formats or by porting the Font Software to a | ||||||
|  | new environment. | ||||||
|  |  | ||||||
|  | "Author" refers to any designer, engineer, programmer, technical | ||||||
|  | writer or other person who contributed to the Font Software. | ||||||
|  |  | ||||||
|  | PERMISSION & CONDITIONS | ||||||
|  | Permission is hereby granted, free of charge, to any person obtaining | ||||||
|  | a copy of the Font Software, to use, study, copy, merge, embed, modify, | ||||||
|  | redistribute, and sell modified and unmodified copies of the Font | ||||||
|  | Software, subject to the following conditions: | ||||||
|  |  | ||||||
|  | 1) Neither the Font Software nor any of its individual components, | ||||||
|  | in Original or Modified Versions, may be sold by itself. | ||||||
|  |  | ||||||
|  | 2) Original or Modified Versions of the Font Software may be bundled, | ||||||
|  | redistributed and/or sold with any software, provided that each copy | ||||||
|  | contains the above copyright notice and this license. These can be | ||||||
|  | included either as stand-alone text files, human-readable headers or | ||||||
|  | in the appropriate machine-readable metadata fields within text or | ||||||
|  | binary files as long as those fields can be easily viewed by the user. | ||||||
|  |  | ||||||
|  | 3) No Modified Version of the Font Software may use the Reserved Font | ||||||
|  | Name(s) unless explicit written permission is granted by the corresponding | ||||||
|  | Copyright Holder. This restriction only applies to the primary font name as | ||||||
|  | presented to the users. | ||||||
|  |  | ||||||
|  | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font | ||||||
|  | Software shall not be used to promote, endorse or advertise any | ||||||
|  | Modified Version, except to acknowledge the contribution(s) of the | ||||||
|  | Copyright Holder(s) and the Author(s) or with their explicit written | ||||||
|  | permission. | ||||||
|  |  | ||||||
|  | 5) The Font Software, modified or unmodified, in part or in whole, | ||||||
|  | must be distributed entirely under this license, and must not be | ||||||
|  | distributed under any other license. The requirement for fonts to | ||||||
|  | remain under this license does not apply to any document created | ||||||
|  | using the Font Software. | ||||||
|  |  | ||||||
|  | TERMINATION | ||||||
|  | This license becomes null and void if any of the above conditions are | ||||||
|  | not met. | ||||||
|  |  | ||||||
|  | DISCLAIMER | ||||||
|  | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||||
|  | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF | ||||||
|  | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT | ||||||
|  | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE | ||||||
|  | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||||||
|  | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL | ||||||
|  | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||||||
|  | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM | ||||||
|  | OTHER DEALINGS IN THE FONT SOFTWARE. | ||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										100
									
								
								static/font/opensans/README.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								static/font/opensans/README.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,100 @@ | |||||||
|  | Open Sans Variable Font | ||||||
|  | ======================= | ||||||
|  |  | ||||||
|  | This download contains Open Sans as both variable fonts and static fonts. | ||||||
|  |  | ||||||
|  | Open Sans is a variable font with these axes: | ||||||
|  |   wdth | ||||||
|  |   wght | ||||||
|  |  | ||||||
|  | This means all the styles are contained in these files: | ||||||
|  |   OpenSans-VariableFont_wdth,wght.ttf | ||||||
|  |   OpenSans-Italic-VariableFont_wdth,wght.ttf | ||||||
|  |  | ||||||
|  | If your app fully supports variable fonts, you can now pick intermediate styles | ||||||
|  | that aren’t available as static fonts. Not all apps support variable fonts, and | ||||||
|  | in those cases you can use the static font files for Open Sans: | ||||||
|  |   static/OpenSans_Condensed/OpenSans_Condensed-Light.ttf | ||||||
|  |   static/OpenSans_Condensed/OpenSans_Condensed-Regular.ttf | ||||||
|  |   static/OpenSans_Condensed/OpenSans_Condensed-Medium.ttf | ||||||
|  |   static/OpenSans_Condensed/OpenSans_Condensed-SemiBold.ttf | ||||||
|  |   static/OpenSans_Condensed/OpenSans_Condensed-Bold.ttf | ||||||
|  |   static/OpenSans_Condensed/OpenSans_Condensed-ExtraBold.ttf | ||||||
|  |   static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-Light.ttf | ||||||
|  |   static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-Regular.ttf | ||||||
|  |   static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-Medium.ttf | ||||||
|  |   static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-SemiBold.ttf | ||||||
|  |   static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-Bold.ttf | ||||||
|  |   static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-ExtraBold.ttf | ||||||
|  |   static/OpenSans/OpenSans-Light.ttf | ||||||
|  |   static/OpenSans/OpenSans-Regular.ttf | ||||||
|  |   static/OpenSans/OpenSans-Medium.ttf | ||||||
|  |   static/OpenSans/OpenSans-SemiBold.ttf | ||||||
|  |   static/OpenSans/OpenSans-Bold.ttf | ||||||
|  |   static/OpenSans/OpenSans-ExtraBold.ttf | ||||||
|  |   static/OpenSans_Condensed/OpenSans_Condensed-LightItalic.ttf | ||||||
|  |   static/OpenSans_Condensed/OpenSans_Condensed-Italic.ttf | ||||||
|  |   static/OpenSans_Condensed/OpenSans_Condensed-MediumItalic.ttf | ||||||
|  |   static/OpenSans_Condensed/OpenSans_Condensed-SemiBoldItalic.ttf | ||||||
|  |   static/OpenSans_Condensed/OpenSans_Condensed-BoldItalic.ttf | ||||||
|  |   static/OpenSans_Condensed/OpenSans_Condensed-ExtraBoldItalic.ttf | ||||||
|  |   static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-LightItalic.ttf | ||||||
|  |   static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-Italic.ttf | ||||||
|  |   static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-MediumItalic.ttf | ||||||
|  |   static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-SemiBoldItalic.ttf | ||||||
|  |   static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-BoldItalic.ttf | ||||||
|  |   static/OpenSans_SemiCondensed/OpenSans_SemiCondensed-ExtraBoldItalic.ttf | ||||||
|  |   static/OpenSans/OpenSans-LightItalic.ttf | ||||||
|  |   static/OpenSans/OpenSans-Italic.ttf | ||||||
|  |   static/OpenSans/OpenSans-MediumItalic.ttf | ||||||
|  |   static/OpenSans/OpenSans-SemiBoldItalic.ttf | ||||||
|  |   static/OpenSans/OpenSans-BoldItalic.ttf | ||||||
|  |   static/OpenSans/OpenSans-ExtraBoldItalic.ttf | ||||||
|  |  | ||||||
|  | Get started | ||||||
|  | ----------- | ||||||
|  |  | ||||||
|  | 1. Install the font files you want to use | ||||||
|  |  | ||||||
|  | 2. Use your app's font picker to view the font family and all the | ||||||
|  | available styles | ||||||
|  |  | ||||||
|  | Learn more about variable fonts | ||||||
|  | ------------------------------- | ||||||
|  |  | ||||||
|  |   https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts | ||||||
|  |   https://variablefonts.typenetwork.com | ||||||
|  |   https://medium.com/variable-fonts | ||||||
|  |  | ||||||
|  | In desktop apps | ||||||
|  |  | ||||||
|  |   https://theblog.adobe.com/can-variable-fonts-illustrator-cc | ||||||
|  |   https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts | ||||||
|  |  | ||||||
|  | Online | ||||||
|  |  | ||||||
|  |   https://developers.google.com/fonts/docs/getting_started | ||||||
|  |   https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide | ||||||
|  |   https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts | ||||||
|  |  | ||||||
|  | Installing fonts | ||||||
|  |  | ||||||
|  |   MacOS: https://support.apple.com/en-us/HT201749 | ||||||
|  |   Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux | ||||||
|  |   Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows | ||||||
|  |  | ||||||
|  | Android Apps | ||||||
|  |  | ||||||
|  |   https://developers.google.com/fonts/docs/android | ||||||
|  |   https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts | ||||||
|  |  | ||||||
|  | License | ||||||
|  | ------- | ||||||
|  | Please read the full license text (OFL.txt) to understand the permissions, | ||||||
|  | restrictions and requirements for usage, redistribution, and modification. | ||||||
|  |  | ||||||
|  | You can use them in your products & projects – print or digital, | ||||||
|  | commercial or otherwise. | ||||||
|  |  | ||||||
|  | This isn't legal advice, please consider consulting a lawyer and see the full | ||||||
|  | license for all details. | ||||||
| @@ -5,10 +5,10 @@ name = "bobatheme" | |||||||
| license = "MIT" | license = "MIT" | ||||||
| licenselink = "https://github.com/BBaoVanC/bobatheme/blob/master/LICENSE" | licenselink = "https://github.com/BBaoVanC/bobatheme/blob/master/LICENSE" | ||||||
| description = "Simple Hugo theme for boba.best and bbaovanc.com" | description = "Simple Hugo theme for boba.best and bbaovanc.com" | ||||||
| homepage = "https://boba.best/" | homepage = "https://bbaovanc.com" | ||||||
| tags = [] | tags = [] | ||||||
| features = [] | features = [] | ||||||
| min_version = "0.87.0" | min_version = "0.93.0" | ||||||
|  |  | ||||||
| [author] | [author] | ||||||
|   name = "bbaovanc" |   name = "bbaovanc" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user